Validation rules
BR-AF-08 — EN 16931 rule
For each IGIC (L) rate, the taxable amount (BT-116) of the breakdown must equal the sum of line net amounts minus allowances plus charges with category L and that rate.
- Rule
BR-AF-08— official EN 16931 / XRechnung rule- Severity
- error
- Business term
BT-116— VAT category taxable 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 computes each breakdown from the lines with exact decimal math, so generated documents always satisfy this.
How to fix it
Correct the TaxableAmount of the IGIC TaxSubtotal in your XML.
BR-AF-08 auf Deutsch — was bedeutet der Fehler?
Je IGIC-Satz (Kategorie L) muss der Grundbetrag (BT-116) der Aufschlüsselung der Summe der Positionsnettobeträge abzüglich Nachlässen zuzüglich Zuschlägen mit diesem Satz entsprechen. normbill berechnet die Beträge exakt; die Meldung betrifft extern erzeugtes XML.
So beheben Sie den Fehler
Korrigieren Sie in Ihrem XML den TaxableAmount des IGIC-TaxSubtotal.
Related rules
BR-45— A VAT breakdown (BG-23) has no taxable amount (BT-116).BR-DEC-19— A VAT category taxable amount (BT-116) uses more than 2 decimal places — EN 16931 allows at most 2.BR-AE-08— The taxable amount (BT-116) of the reverse-charge (AE) breakdown does not equal the sum of line net amounts…BR-AG-08— For each IPSI (M) rate, the taxable amount (BT-116) of the breakdown must equal the sum of line net amounts…BR-E-08— The taxable amount (BT-116) of the exempt (E) breakdown does not equal the sum of line net amounts minus…BR-G-08— The taxable amount (BT-116) of the export (G) breakdown does not equal the sum of line net amounts minus…
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.