Validation rules
BR-33 — EN 16931 rule
A document-level allowance must state why it is granted (BT-97/BT-98).
- Rule
BR-33— official EN 16931 / XRechnung rule- Severity
- error
- Business term
BT-97— Document allowance reason- Field in your JSON
invoice.allowances[*].reason
How to fix it
Set the allowance's reason (e.g. "Rabatt") or a UNCL 5189 reason_code.
BR-33 auf Deutsch — was bedeutet der Fehler?
Ein Nachlass auf Dokumentebene muss begründet werden (BT-97 Freitext oder BT-98 Code).
So beheben Sie den Fehler
Setzen Sie reason (z. B. "Rabatt") oder einen reason_code aus der Codeliste UNCL 5189.
Related rules
BR-CO-21— A document-level allowance (BG-20) carries neither a reason text (BT-97) nor a reason code (BT-98) — at…UBL-SR-30— A document-level allowance carries more than one reason text (BT-97) — only one cbc:AllowanceChargeReason…BR-32— A document-level allowance needs a VAT category (BT-95); it cannot be inherited because the lines use more…BR-31— A document-level allowance (BG-20) has no allowance amount (BT-92).BR-30— An invoice line period end date (BT-135) must not be earlier than its start date (BT-134).BR-36— A document-level charge (BG-21) has no charge amount (BT-99).
Official sources
- XRechnung specification (KoSIT / xeinkauf.de)
- KoSIT validator on GitHub and the XRechnung validator configuration
Every 422 from the API lists the rule id, the path in your request JSON, a plain-language message and a suggested fix — see the docs overview for the report format.
Or try it live: drop any XRechnung XML on the free validator — same KoSIT-backed report, no account.