How Multi-Tax (Tax Group) Items Work
Source: invoice.rb:1071-1093, invoice.rb:990-993
- Multi-tax items (InvoiceTaxItems) are completely rebuilt on every invoice save -- all existing records are deleted and recreated from TaxGroupItems
- This only fires when the invoice has a tax_group_id and is not deleted
- Tax group ID and tax group name must both be provided (or both be blank) as a pair
- If the company does not have use_multi_tax enabled, tax group fields are silently cleared from the invoice
- For multi-tax groups, individual tax rates are summed to create the effective combined rate
- Each TaxGroupItem creates a separate InvoiceTaxItem record for tax reporting purposes
Support scenarios
- "My tax breakdown lines keep changing" -> multi-tax items are rebuilt on every save; this is normal behaviour
- "The tax group disappeared from my invoice" -> the company setting use_multi_tax may have been disabled, which silently clears the field
- "I set a tax group ID but get an error" -> the tax group name must also be provided (and vice versa); they are validated as a pair