BR-Z-07: Zero-rated (Z) document charge VAT rate must be 0
Applies when the invoice has a document-level cac:AllowanceCharge with cbc:ChargeIndicator true and VAT category 'Z'. The executed check then requires that a document-level cac:AllowanceCharge/cac:TaxCategory/cbc:Percent equals 0; as written it passes if any document-level allowance or charge has rate 0, not specifically the Z charge. Read literally, the published test would fail every invoice without a Z charge, but the validator only evaluates it when such a charge exists.
How to fix it
In every document-level charge with category Z, set <cbc:Percent>0</cbc:Percent> in its cac:TaxCategory.
ZATCA's official text
[BR-Z-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Zero rated" the Document level charge VAT rate (BT-103) shall be 0 (zero).
Source: ZATCA SDK 3.4.8 · EN 16931 (CEN) rules
Fails when (the condition ZATCA's SDK runs)
cac:AllowanceCharge[cbc:ChargeIndicator=true()]/cac:TaxCategory[normalize-space(cbc:ID)='Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] and not(((/ubl:Invoice/cac:AllowanceCharge/cac:TaxCategory /cbc:Percent)=0))
Related rules
- BR-36 · Each document-level charge needs an amount (BT-99)
- BR-37 · Each document-level charge needs a VAT category code (BT-102)
- BR-E-01 · Exempt (E) items need an 'E' VAT breakdown
- BR-E-07 · Exempt (E) document charges must have a VAT rate of 0
- BR-E-08 · Exempt (E) taxable amount must match the exempt lines and adjustments
- BR-KSA-13 · 'Not subject to VAT' (O) charges must have a VAT rate of 0 if given
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