BR-E-07: Exempt (E) document charges must have a VAT rate of 0
Applies when the document has a document-level cac:AllowanceCharge with cbc:ChargeIndicator = true whose cac:TaxCategory has cbc:ID = 'E' (VAT): the charge rate cbc:Percent (BT-103) should be 0. In SDK 3.4.8 the executed check is looser: it passes as long as any document-level cac:AllowanceCharge/cac:TaxCategory/cbc:Percent equals 0.
How to fix it
In the charge's cac:TaxCategory use <cbc:ID>E</cbc:ID><cbc:Percent>0</cbc:Percent>.
ZATCA's official text
[BR-E-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Exempt from VAT", 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)='E'][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-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
- BR-KSA-19 · Each document-level charge needs a reason code
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