Validation rules

BR-28

The item gross price (BT-148) must not be negative.

Rule
BR-28official 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

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.

Spotted something?

Bug, missing feature, wrong validation result — tell us. The page you're on is attached automatically; email optional.