BR-Z-09: Zero-rated (Z) breakdown tax amount 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: BT-117, BG-23, BT-118

For each cac:TaxTotal/cac:TaxSubtotal whose cac:TaxCategory/cbc:ID is 'Z' (Zero rated) with tax scheme VAT, the subtotal's cbc:TaxAmount must be exactly 0.

How to fix it

Set <cbc:TaxAmount currencyID="SAR">0.00</cbc:TaxAmount> in the Z cac:TaxSubtotal, and move any taxed amounts to the breakdown of their correct category.

ZATCA's official text

[BR-Z-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Zero rated" shall equal 0 (zero).
Source: ZATCA SDK 3.4.8 · EN 16931 (CEN) rules

Fails when (the condition ZATCA's SDK runs)

not(xs:decimal(../cbc:TaxAmount) = 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