Validation rules
PEPPOL-EN16931-R046 — Peppol BIS rule
The item net price must equal the gross price minus the price allowance when a gross price is provided.
- Rule
PEPPOL-EN16931-R046— official EN 16931 / XRechnung rule- Severity
- error
- Business term
BT-146— Item net price- Field in your JSON
invoice.lines[*].unit_price
How to fix it
Set invoice.lines[i].unit_price to gross_price − price_discount (or omit gross_price / price_discount).
PEPPOL-EN16931-R046 auf Deutsch — was bedeutet der Fehler?
Der Netto-Einzelpreis muss Bruttopreis minus Preisnachlass entsprechen, wenn ein Bruttopreis angegeben ist.
So beheben Sie den Fehler
Setzen Sie invoice.lines[i].unit_price auf gross_price − price_discount — oder lassen Sie gross_price / price_discount weg.
Related rules
BR-27— The item net price (BT-146) must not be negative.BR-26— An invoice line has no item net price (BT-146).PEPPOL-EN16931-R044— A charge on price level is not allowed — only allowances (indicator 'false').PEPPOL-EN16931-R043— An allowance/charge indicator must be exactly 'true' or 'false'.PEPPOL-EN16931-R042— An allowance/charge base amount is present, so its percentage must be provided as well.PEPPOL-EN16931-R041— An allowance/charge percentage is present, so its base amount must be provided as well.
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.