Ifriqa Validator

Payment means code (BT-81) in an invoice exist, then it must contain one of the values from subset of UNTDID 4461 code list

Why ZATCA invoices fail rule BR-KSA-16 (WARNING) and how to fix it: Payment means code (BT-81) in an invoice exist, then it must contain one of the values from subset of UNTDID 4461 code list

Ce que vérifie cette règle

Payment means code (BT-81) in an invoice exist, then it must contain one of the values from subset of UNTDID 4461 code list

Rule family: KSA - business rules (BR-KSA).

Standard: BR-KSA (ZATCA). Severity: WARNING.

Why your invoice is flagged

ZATCA runs the official EN 16931 + BR-KSA business rules before clearance/reporting. This rule is a warning — the invoice may still be accepted, but resolve it before you submit.

Comment corriger

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.

Vérifiez avant d'envoyer

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.

Payment means code (BT-81) in an invoice exist, then it must contain one of the values from subset of UNTDID 4461 code list — ZATCA BR-KSA-16 — Ifriqa