Validation rules
BR-38 — EN 16931 rule
A document-level charge must state what it is for (BT-104/BT-105).
- Rule
BR-38— official EN 16931 / XRechnung rule- Severity
- error
- Business term
BT-104
How to fix it
Set the charge's reason (e.g. "Versandkosten") or a UNCL 7161 reason_code.
BR-38 auf Deutsch — was bedeutet der Fehler?
Ein Zuschlag auf Dokumentebene muss benannt werden (BT-104 Freitext oder BT-105 Code).
So beheben Sie den Fehler
Setzen Sie reason (z. B. "Versandkosten") oder einen reason_code aus der Codeliste UNCL 7161.
Related rules
BR-CO-22— A document-level charge (BG-21) carries neither a reason text (BT-104) nor a reason code (BT-105) — at least…BR-37— A document-level charge needs a VAT category (BT-102); it cannot be inherited because the lines use more…BR-36— A document-level charge (BG-21) has no charge amount (BT-99).BR-41— An invoice line allowance (BG-27) has no allowance amount (BT-136).BR-42— A line-level allowance must state why it is granted (BT-139/BT-140).BR-33— A document-level allowance must state why it is granted (BT-97/BT-98).
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.