BR-KSA-F-02: Allowance/charge indicator must be 'false' or 'true'
Checks cbc:ChargeIndicator in document-level and line-level cac:AllowanceCharge. The executed check accepts the boolean values false (allowance) or true (charge); the published test expression shows only '= false()', which is stricter than what is actually enforced.
How to fix it
Use <cbc:ChargeIndicator>false</cbc:ChargeIndicator> for an allowance (discount) and <cbc:ChargeIndicator>true</cbc:ChargeIndicator> for a charge.
ZATCA's official text
[BR-KSA-F-02]-Allowance/Charge Indicator value MUST equal to 'false'/’True’ respectively.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules
Fails when (the condition ZATCA's SDK runs)
not((.) = false() or (.)=true())
Related rules
- 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
- BR-KSA-F-01 · Dates must use the YYYY-MM-DD format
- BR-KSA-F-04 · Invoice amounts and quantities must not be negative
- BR-KSA-F-05 · Prepayment issue time must be a valid hh:mm:ss time
- BR-KSA-F-07 · Buyer TIN must be 10 digits starting with 3
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