ERPNext's taxes template hides charges with included_in_print_rate unless
Accounts Settings > Show Inclusive Tax in Print is on. Set the flag in
the format when such taxes exist, so the tax line and Total (Without
Tax) render regardless of the site setting.
Also stop binding a throwaway Jinja variable to `_`: frappe._dict.update
returns self, so `set _ = df.update(...)` shadowed the translator.
The standard layout prints every non-empty child column (Image, Stock
UOM, Discount Amount, Rate of Stock UOM, ...). Whitelist Item,
Description, Quantity, UOM, Rate and Amount via visible_columns.