Solve a need
Handle tax and VAT
Finance checks the rate on every invoice by hand, and nobody can explain why that one customer is at zero.
How claims are labelled
Finance checks the rate on every invoice by hand, and nobody can explain why that one customer is at zero.
The architecture
Scroll the diagram sideways
Two things decide everything here. First, it is the country of the billing profile that commands the rate, not the address on the order — verified in both directions on two orders with different addresses and the same profile. Second, no native mechanism varies the tax code by country: TaxTreatmentItem has no geographic field, and the standard decision table takes a code as input and returns a rate, so it can never produce one.
Use case
Intra-EU VAT
Charge the right VAT across EU borders, including the zero-rated cases, and be able to explain any rate on any invoice.
Sell through several legal entities
One org, several selling entities, and tax rules that must not leak between them.
Pattern
Bill-To driven taxation
Make the tax rate follow the billing profile rather than the order address — and know why that is the correct reading of the model, not a workaround.
Country-driven tax code, without Apex
Vary the tax code — not just the rate — by customer country, using only configuration and a flow.
The Apex tax engine adapter
When the shipped engine returns nothing, what a working adapter actually has to implement — and the eight failures that stand between you and a taxed invoice.