BR-KSA-EN16931-09: With a tax currency code, add one TaxTotal without subtotals
Applies when cbc:TaxCurrencyCode is present. The invoice must then contain exactly one document-level cac:TaxTotal that has no cac:TaxSubtotal.
How to fix it
Add one cac:TaxTotal holding only the tax amount, e.g. <cac:TaxTotal><cbc:TaxAmount currencyID="SAR">0.60</cbc:TaxAmount></cac:TaxTotal>, alongside the cac:TaxTotal that carries the subtotals; do not add a second one without subtotals.
ZATCA's official text
[BR-KSA-EN16931-09]-Only one tax total (BG-22) without tax subtotals (BG-23) must be provided when tax currency code is provided .
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules
Fails when (the condition ZATCA's SDK runs)
not(count(../cac:TaxTotal[not(cac:TaxSubtotal)]) = 1)
Related rules
- BR-45 · Each VAT breakdown needs a taxable amount (BT-116)
- BR-46 · Each VAT breakdown needs a VAT amount (BT-117)
- BR-47 · Each VAT breakdown needs a VAT category code (BT-118)
- BR-48 · Each VAT breakdown needs a VAT rate (BT-119) unless category is O
- BR-CO-18 · Every invoice needs at least one VAT breakdown
- BR-E-01 · Exempt (E) items need an 'E' VAT breakdown
Validate your invoice against ZATCA's rules
Paste the XML and see every error and warning. It runs in your browser; the invoice goes nowhere.
Validate an invoice or try Matheel