Validation rules
BR-DEC-09 — EN 16931 rule
The sum of line net amounts (BT-106) uses more than 2 decimal places — EN 16931 allows at most 2.
- Rule
BR-DEC-09— official EN 16931 / XRechnung rule- Severity
- error
- Business term
BT-106— Sum of line net amounts- Field in your JSON
invoice.totals.net- Detected by
- tier 3 — KoSIT validator (authoritative)
- Reachability
- Only reachable when validating your own XML — normbill-generated documents cannot trigger it
normbill computes this total itself and formats it with exactly 2 decimals; only XML submitted to /v1/invoices/validate can trigger it.
How to fix it
Round cbc:LineExtensionAmount in cac:LegalMonetaryTotal to 2 decimals.
BR-DEC-09 auf Deutsch — was bedeutet der Fehler?
Die Summe der Positionsnettobeträge (BT-106) hat mehr als 2 Nachkommastellen. EN 16931 erlaubt höchstens 2 Dezimalstellen — der KoSIT-Validator lehnt die Rechnung ab.
So beheben Sie den Fehler
Runden Sie cbc:LineExtensionAmount in cac:LegalMonetaryTotal auf 2 Nachkommastellen. normbill berechnet diese Summe selbst und gibt sie immer mit exakt 2 Stellen aus — nur eigenes XML an /v1/invoices/validate kann die Regel auslösen.
Related rules
BR-CO-10— The sum of line net amounts (BT-106) does not match the invoice lines.BR-12— The sum of invoice line net amounts (BT-106) is missing from the document totals.BR-DEC-10— The sum of document-level allowances (BT-107) uses more than 2 decimal places — EN 16931 allows at most 2.BR-DEC-11— The sum of document-level charges (BT-108) uses more than 2 decimal places — EN 16931 allows at most 2.BR-DEC-06— A document-level charge base amount (BT-100) has more than 2 decimal places.BR-DEC-12— totals.net (BT-109) has more than 2 decimal places — EN 16931 allows at most 2.
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.