BR-O-09: 'Not subject to VAT' (O) 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 'O' (Not subject to VAT) 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 O cac:TaxSubtotal, and move any taxed amounts to the breakdown of their correct category.

ZATCA's official text

[BR-O-09]-The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Not subject to VAT" shall be 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