Validation rules
BR-CO-12 — EN 16931 rule
The sum of document-level charges (BT-108) does not equal the sum of the individual charge amounts (BT-99).
- Rule
BR-CO-12— official EN 16931 / XRechnung rule- Severity
- error
- Business term
BT-108— Sum of charges on document level- Field in your JSON
invoice.charges- Detected by
- tier 3 — KoSIT validator (authoritative)
- Reachability
- Only reachable when validating your own XML — normbill-generated documents cannot trigger it
normbill computes BT-108 from the charges it serializes, so generated documents always balance.
How to fix it
Recompute cbc:ChargeTotalAmount as the sum of all document-level charge cbc:Amount values.
BR-CO-12 auf Deutsch — was bedeutet der Fehler?
Die Summe der Zuschläge auf Dokumentebene (BT-108) entspricht nicht der Summe der einzelnen Zuschlagsbeträge (BT-99).
So beheben Sie den Fehler
Berechnen Sie cbc:ChargeTotalAmount als Summe aller Zuschlag-cbc:Amount-Werte neu.
Related rules
BR-DEC-11— The sum of document-level charges (BT-108) uses more than 2 decimal places — EN 16931 allows at most 2.BR-CO-13— Supplied totals.net does not equal the sum of line nets minus document allowances plus document charges.BR-CO-11— The sum of document-level allowances (BT-107) does not equal the sum of the individual allowance amounts…BR-CO-10— The sum of line net amounts (BT-106) does not match the invoice lines.BR-CO-14— Supplied totals.tax does not match the computed VAT breakdown.BR-CO-15— Supplied totals.gross does not equal net + tax.
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.