Validation rules
BR-CO-08 — EN 16931 rule
An invoice line charge reason code (BT-145) and reason text (BT-144) should describe the same type of charge.
- Rule
BR-CO-08— official EN 16931 / XRechnung rule- Severity
- error
- Detected by
- tier 3 — KoSIT validator (authoritative)
- Reachability
- Not expressible through the normbill invoice model — documented for completeness
The pinned Schematron implements this as an always-true assertion, so the validator never reports it in practice.
How to fix it
Align the line charge's reason and reason_code so they describe the same thing.
BR-CO-08 auf Deutsch — was bedeutet der Fehler?
Code (BT-145) und Text (BT-144) des Grundes eines Positionszuschlags sollen denselben Typ beschreiben. Die amtliche Schematron-Implementierung prüft dies faktisch nicht.
So beheben Sie den Fehler
Bringen Sie reason und reason_code des Positionszuschlags in Übereinstimmung.
Related rules
BR-CO-07— An invoice line allowance reason code (BT-140) and reason text (BT-139) should describe the same type of…BR-CO-09— A VAT identifier (seller BT-31, buyer BT-48, or tax representative BT-63) does not start with an ISO 3166-1…BR-CO-10— The sum of line net amounts (BT-106) does not match the invoice lines.BR-CO-06— The document-level charge reason code (BT-105) and reason text (BT-104) should describe the same type of…BR-CO-05— The document-level allowance reason code (BT-98) and reason text (BT-97) should describe the same type of…BR-CO-11— The sum of document-level allowances (BT-107) does not equal the sum of the individual allowance amounts…
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.