BR-Z-07: Zero-rated (Z) document charge VAT rate must be 0

Explained by Matheel from ZATCA's rule text and the condition SDK 3.4.8 executes · Updated

Error: the invoice is rejectedConditional, see belowFields: BG-21, BT-102, BT-103

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

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