BR-KSA-53: Each line needs a line amount with VAT (KSA-12) on standard invoices
For standard tax invoices and their notes (InvoiceTypeCode @name starting '01'), every cac:InvoiceLine must contain a non-empty cac:TaxTotal/cbc:RoundingAmount (KSA-12).
How to fix it
Add <cbc:RoundingAmount currencyID="…">…</cbc:RoundingAmount> inside each line's cac:TaxTotal, after cbc:TaxAmount.
ZATCA's official text
[BR-KSA-53]-The line amount with VAT (KSA-12) is mandatory for tax invoice and associated credit notes and debit notes (KSA-2, position 1 and 2 = 01).
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules
Fails when (the condition ZATCA's SDK runs)
not(every $line in //cac:InvoiceLine satisfies exists($line/cac:TaxTotal/cbc:RoundingAmount) and ($line/cac:TaxTotal/cbc:RoundingAmount) != '')
Related rules
- BR-KSA-06 · Invoice transaction code (name attribute) must follow NNPNESB
- BR-KSA-07 · Export invoices cannot be self-billed
- BR-KSA-10 · Standard invoices need buyer street, city and country code
- BR-KSA-15 · Standard tax invoices (388) need a supply date
- BR-KSA-25 · Simplified invoice with EDU/HEA exemption needs the buyer name
- BR-KSA-31 · Simplified invoices cannot be self-billed (KSA-2 position 7 = 0)
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