BR-KSA-EN16931-08: Exactly one TaxTotal with tax subtotals per invoice
Counts the document-level cac:TaxTotal elements that contain at least one cac:TaxSubtotal (the VAT breakdown). There must be exactly one such cac:TaxTotal.
How to fix it
Put all cac:TaxSubtotal elements inside a single cac:TaxTotal. Any other document-level cac:TaxTotal must contain only cbc:TaxAmount and no cac:TaxSubtotal.
ZATCA's official text
[BR-KSA-EN16931-08]-Only one tax total (BG-22) with tax subtotals must be provided.Refer to Calculation of VAT.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules
Fails when (the condition ZATCA's SDK runs)
not(count(./cac:TaxTotal[cac:TaxSubtotal]) = 1)
Related rules
- BR-KSA-EN16931-09 · With a tax currency code, add one TaxTotal without subtotals
- BR-KSA-EN16931-05 · An allowance/charge base amount needs a percentage
- BR-KSA-EN16931-06 · Price-level allowance/charge must have ChargeIndicator false
- BR-KSA-EN16931-07 · Net item price must equal gross price minus price discount
- BR-KSA-EN16931-11 · Line net amount = quantity × net price ± line charges/allowances
- BR-KSA-EN16931-12 · Item price base quantity must be greater than zero
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