Validation rules
BR-31 — EN 16931 rule
A document-level allowance (BG-20) has no allowance amount (BT-92).
- Rule
BR-31— official EN 16931 / XRechnung rule- Severity
- error
- Business term
BT-92— Document allowance amount- Field in your JSON
invoice.allowances[*].amount- Detected by
- tier 3 — KoSIT validator (authoritative)
- Reachability
- Only reachable when validating your own XML — normbill-generated documents cannot trigger it
The request schema requires amount (or base_amount + percent) on every allowance and the serializer always writes cbc:Amount; the UBL schema makes the element mandatory too, so the XSD tier reports hand-built XML without it first.
How to fix it
Add cbc:Amount to the allowance.
BR-31 auf Deutsch — was bedeutet der Fehler?
Ein Nachlass auf Dokumentebene (BG-20) hat keinen Nachlassbetrag (BT-92).
So beheben Sie den Fehler
Ergänzen Sie cbc:Amount im Nachlass.
Related rules
BR-DEC-01— A document-level allowance amount (BT-92) has more than 2 decimal places.BR-32— A document-level allowance needs a VAT category (BT-95); it cannot be inherited because the lines use more…BR-30— An invoice line period end date (BT-135) must not be earlier than its start date (BT-134).BR-33— A document-level allowance must state why it is granted (BT-97/BT-98).BR-29— The invoicing period end date (BT-74) must not be earlier than its start date (BT-73).BR-28— The item gross price (BT-148) must not be negative.
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.