Validation rules
BR-28
The item gross price (BT-148) must not be negative.
- Rule
BR-28— official EN 16931 / XRechnung rule- Severity
- error
- Business term
BT-148— Item gross price- Field in your JSON
invoice.lines[*].gross_price- Detected by
- tier 3 — KoSIT validator (authoritative)
- Reachability
- Not expressible through the normbill invoice model — documented for completeness
The request schema requires gross_price >= 0 whenever it is set.
How to fix it
Use a gross price >= 0; express reductions through the price discount (BT-147), not a negative price.
BR-28 auf Deutsch — was bedeutet der Fehler?
Der Brutto-Einzelpreis (BT-148) darf nicht negativ sein.
So beheben Sie den Fehler
Verwenden Sie einen Bruttopreis >= 0; Preisnachlässe gehören in den Preisrabatt (BT-147), nicht in einen negativen Preis. Über normbill ist gross_price >= 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.