TaxTotal - Summation of VAT related amounts

This section displays sums of all VAT amounts in the invoice, as total and per VAT code.

Note:
If the invoice has a tax currency code, TaxTotal will occur twice, although only one with tax details per VAT code. The second TaxTotal will show the VAT amount in domestic currency.
cbc:TaxAmount (M)
Default mapping: OrderDocument.VatAmountInCurrency

The tax total for the invoice. The amount must be the sum of the TaxAmount for all TaxSubTotal sections.

cac:TaxSubTotal (O)
The rest of the TaxTotal section is within the subsection TaxSubTotal, each representing a VAT code.
cbc:TaxableAmount (M)
Default mapping: sum of OrderDocumentLine.AmountInCurrency per VAT code
cbc:TaxAmount (M)
Default mapping: sum of OrderDocumentLine.VATAmountInCurrency per VAT code
cac:TaxCategory (M)
cbc:ID (M)
Default mapping: TaxCode.TurnoverClass

Alternative mapping: TaxCode.VatRateType

TaxCategory is presented as a single letter. The values used are S (standard rate), E (Exempt), Z (Zero), O (Services outside scope of tax), AE (Reverse charge) and G (Export outside the EU).

The category is decided by the Turnover class on the VAT code. Sales, taxable for purchaser and Sales of services to EU countries both give AE, and Sale of goods outside EU/Abroad gives G.

When the VAT code has no Turnover class, the VAT rate type decides instead: High, Medium and Low give S, Zero gives Z and Exempt gives E. If neither is defined, every rate above 0 gives S and a rate of 0 gives E, so S may occur multiple times in the same invoice.

O is used for all lines when the company is not registered for VAT.

cbc:Percent (O)
Default mapping: OrderDocumentLine.VatRate

Each combination of VAT percentage and TaxCategory found in the line level will be represented with a separate TaxSubTotal. Categories that share a rate of 0 - E, Z, AE and G - therefore still get separate sections.

cbc:TaxExemptionReasonCode (O)
Default mapping: Hardcoded based on TaxCategory

AE gives VATEX-EU-AE and G gives VATEX-EU-G. The code is language independent and is sent in addition to the reason text. No code is sent for the other categories.

cbc:TaxExemptionReason (O)
Default mapping: Hardcoded based on TaxCategory and OrderDocument.TradeArea

AE gives Reversed tax. For the other categories the Trade area decides: Within other EU country gives Intra-EU supply, Reversed domestic tax gives Reversed tax, and anything else gives Exempt from tax. The text is sent in the language of the invoice recipient.

cac:TaxScheme (M)
cbc:ID (M)
Default mapping: Hardcoded as “VAT”