Validation rules

BR-42 — EN 16931 rule

A line-level allowance must state why it is granted (BT-139/BT-140).

Rule
BR-42 — official EN 16931 / XRechnung rule
Severity
error
Business term
BT-139 — Line allowance reason
Field in your JSON
invoice.lines[*].allowances

How to fix it

Set the allowance's reason (e.g. "Mengenrabatt") or a UNCL 5189 reason_code.

BR-42 auf Deutsch — was bedeutet der Fehler?

Ein Nachlass auf Positionsebene muss begründet werden (BT-139 Freitext oder BT-140 Code).

So beheben Sie den Fehler

Setzen Sie reason (z. B. "Mengenrabatt") oder einen reason_code aus der Codeliste UNCL 5189.

Related rules

  • BR-CO-23 — An invoice line allowance (BG-27) carries neither a reason text (BT-139) nor a reason code (BT-140) — at…
  • BR-41 — An invoice line allowance (BG-27) has no allowance amount (BT-136).
  • BR-43 — An invoice line charge (BG-28) has no charge amount (BT-141).
  • BR-44 — A line-level charge must state what it is for (BT-144/BT-145).
  • BR-45 — A VAT breakdown (BG-23) has no taxable amount (BT-116).
  • BR-38 — A document-level charge must state what it is for (BT-104/BT-105).

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.