BR-32: Each document-level allowance needs a VAT category code (BT-95)
Applies only to document-level cac:AllowanceCharge elements with cbc:ChargeIndicator = false; each must contain a cac:TaxCategory whose cac:TaxScheme/cbc:ID is 'VAT' and whose own cbc:ID is not empty.
How to fix it
Inside each document-level allowance add a VAT category, e.g. <cac:TaxCategory><cbc:ID>S</cbc:ID><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>.
ZATCA's official text
[BR-32]-Each Document level allowance (BG-20) shall have a Document level allowance VAT category code (BT-95).
Source: ZATCA SDK 3.4.8 · EN 16931 (CEN) rules
Fails when (the condition ZATCA's SDK runs)
not(exists(cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID) and (cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID) !='')
Related rules
- BR-31 · Each document-level allowance needs an amount (BT-92)
- BR-E-01 · Exempt (E) items need an 'E' VAT breakdown
- BR-E-06 · Exempt (E) document allowances must have a VAT rate of 0
- BR-E-08 · Exempt (E) taxable amount must match the exempt lines and adjustments
- BR-KSA-12 · 'Not subject to VAT' (O) allowances must have a VAT rate of 0 if given
- BR-KSA-84 · Standard-rated (S) VAT rate must be 15 or 5
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