BR-KSA-DEC-02: VAT rates must be 0-100 with at most two decimals
Every non-empty cbc:Percent under cac:AllowanceCharge/cac:TaxCategory, cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory, cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory and line cac:TaxSubtotal/cac:TaxCategory must be a decimal from 0 to 100 with at most two decimals and no % sign.
How to fix it
Write <cbc:Percent>15.00</cbc:Percent>, not 15% or 15.000.
ZATCA's official text
[BR-KSA-DEC-02]-The VAT rates (BT-96, BT-103, BT-119, BT-152, KSA-34) must be from 0.00 to 100.00, with maximum two decimals.Only numerals are accepted, the percentage symbol (%) is not allowed.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules
Fails when (the condition ZATCA's SDK runs)
not(xs:decimal(.) >= 0 and xs:decimal(.) <= 100 and string-length(substring-after(.,'.')) <=2 and not (contains('%',(.))) )
Related rules
- BR-48 · Each VAT breakdown needs a VAT rate (BT-119) unless category is O
- BR-CO-17 · VAT amount per category must equal taxable amount x rate
- BR-E-05 · Exempt (E) invoice lines must have a VAT rate of 0
- BR-E-06 · Exempt (E) document allowances must have a VAT rate of 0
- BR-E-07 · Exempt (E) document charges must have a VAT rate of 0
- BR-KSA-11 · 'Not subject to VAT' (O) lines must have a VAT rate of 0 if given
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