BR-36: Each document-level charge needs an amount (BT-99)
Applies only to document-level cac:AllowanceCharge elements with cbc:ChargeIndicator = true (a charge); the validator checks that each contains cbc:Amount. The test text published with the rule is malformed (it looks for lower-case cbc:amount via an absolute path), but the condition actually executed is the presence of cbc:Amount, matching the official message.
How to fix it
Add the charge amount inside each document-level charge, e.g. <cbc:Amount currencyID="SAR">10.00</cbc:Amount>.
ZATCA's official text
[BR-36]-Each Document level charge (BG-21) shall have a Document level charge amount (BT-99).
Source: ZATCA SDK 3.4.8 · EN 16931 (CEN) rules
Fails when (the condition ZATCA's SDK runs)
(not (exists(./cbc:Amount)))
Related rules
- BR-37 · Each document-level charge needs a VAT category code (BT-102)
- BR-CO-12 · Charge total must equal the sum of document-level charges
- BR-E-01 · Exempt (E) items need an 'E' VAT breakdown
- BR-E-07 · Exempt (E) document charges must have a VAT rate of 0
- BR-E-08 · Exempt (E) taxable amount must match the exempt lines and adjustments
- BR-KSA-13 · 'Not subject to VAT' (O) charges 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