Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).
Why ZATCA invoices fail rule BR-31 (ERROR) and how to fix it: Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).
What this rule checks
Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).
Rule family: Business rules - integrity constraints (BR).
Standard: EN 16931 (UBL, KSA-tuned). Severity: ERROR.
Why your invoice is rejected
ZATCA runs the official EN 16931 + BR-KSA business rules before clearance/reporting. This rule is an error — the invoice is rejected until you fix it.
How to fix it
Correct the invoice element referenced in the rule (the BT-/BG- term above) in your ERP mapping so it satisfies the constraint, then re-validate. The fault is usually in how your software generates the field, not in the rule itself.
Verify before you send
Upload your ZATCA UBL invoice to the validator to confirm this rule — and every other EN 16931 / BR-KSA rule — passes. Validation runs the official ZATCA SDK schematron.
Implementing ZATCA in your software?
Check your generated documents against the maintained official rules across your dev lifecycle — while implementing, before releases, and when the rules change. Tell us what you'd use.
No product yet — we're measuring interest. No spam, unsubscribe anytime.