Each invoice must have an invoice counter value (KSA-16).
Why ZATCA invoices fail rule BR-KSA-33 (ERROR) and how to fix it: Each invoice must have an invoice counter value (KSA-16).
What this rule checks
Each invoice must have an invoice counter value (KSA-16).
Rule family: KSA - business rules (BR-KSA).
Standard: BR-KSA (ZATCA). 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.