BR-KSA-76: Zero-rated (Z) prepayment line VAT rate must be 0

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

Warning: accepted with a warningConditional, see belowFields: BG-25, KSA-33, KSA-34

In an invoice with cac:LegalMonetaryTotal/cbc:PrepaidAmount > 0, each line-level cac:TaxTotal/cac:TaxSubtotal whose cac:TaxCategory has cbc:ID 'Z' (VAT scheme) must have cac:TaxCategory/cbc:Percent (KSA-34) equal to 0. A missing cbc:Percent also triggers the warning.

How to fix it

In that line's cac:TaxSubtotal/cac:TaxCategory with cbc:ID Z, set <cbc:Percent>0.00</cbc:Percent>.

ZATCA's official text

[BR-KSA-76]-An Invoice line (BG-25) where the Prepayment VAT category code (KSA-33) is "Zero rated" the Prepayment VAT rate (KSA-34) shall be 0 (zero).
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules

Fails when (the condition ZATCA's SDK runs)

cac:TaxCategory[normalize-space(cbc:ID)='Z'][ cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] and not(((xs:decimal(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