Validation rules
BR-46 — EN 16931 rule
A VAT breakdown (BG-23) has no tax amount (BT-117).
- Rule
BR-46— official EN 16931 / XRechnung rule- Severity
- error
- Business term
BT-117— VAT category tax amount- Field in your JSON
invoice.lines- Detected by
- tier 3 — KoSIT validator (authoritative)
- Reachability
- Only reachable when validating your own XML — normbill-generated documents cannot trigger it
The engine always writes BT-117 per breakdown. The UBL schema makes the element mandatory anyway, so the XSD tier reports hand-built XML without it first.
How to fix it
Add cbc:TaxAmount to every cac:TaxSubtotal.
BR-46 auf Deutsch — was bedeutet der Fehler?
Eine Umsatzsteueraufschlüsselung (BG-23) hat keinen Steuerbetrag (BT-117).
So beheben Sie den Fehler
Ergänzen Sie cbc:TaxAmount in jedem cac:TaxSubtotal.
Related rules
BR-CO-17— A VAT breakdown's tax amount (BT-117) does not equal its taxable amount (BT-116) multiplied by the category…BR-DEC-20— A VAT category tax amount (BT-117) uses more than 2 decimal places — EN 16931 allows at most 2.BR-AE-09— The tax amount (BT-117) of the reverse-charge (AE) breakdown must be 0.BR-AF-09— The tax amount (BT-117) of an IGIC (L) breakdown must equal its taxable amount (BT-116) multiplied by its…BR-AG-09— The tax amount (BT-117) of an IPSI (M) breakdown must equal its taxable amount (BT-116) multiplied by its…BR-E-09— The tax amount (BT-117) of the exempt (E) breakdown must be 0.
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.