BR-KSA-77: Exempt (E) prepayment line VAT rate must be 0
In an invoice with cac:LegalMonetaryTotal/cbc:PrepaidAmount > 0, each line-level cac:TaxTotal/cac:TaxSubtotal whose cac:TaxCategory has cbc:ID 'E' (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 E, set <cbc:Percent>0.00</cbc:Percent>.
ZATCA's official text
[BR-KSA-77]-An Invoice line (BG-25) where the Prepayment VAT category code (KSA-33) is "Exempt from VAT" 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)='E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] and not(((xs:decimal(cac:TaxCategory/cbc:Percent))=0))
Related rules
- BR-16 · Every invoice needs at least one invoice line (BG-25)
- BR-21 · Each invoice line needs a line identifier (BT-126)
- BR-22 · Each invoice line needs an invoiced quantity (BT-129)
- BR-24 · Each invoice line needs a line net amount (BT-131)
- BR-25 · Each invoice line needs an item name (BT-153)
- BR-26 · Each invoice line needs an item net price (BT-146)
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