Zum Inhalt springen

BR-CO – Bedingungen und Berechnungen

BR-CO-23: Positionsnachlass (BG-27) ohne Grund

FehlerGeschäftsregel EN 16931 (CEN)

Originaltext der Regel

[BR-CO-23]-Each Invoice line allowance (BG-27) shall contain an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140), or both.

Quelle: CEN EN 16931, Version 1.3.16

Korrektur im XML

Ergänzen Sie im Positionsnachlass cbc:AllowanceChargeReason oder cbc:AllowanceChargeReasonCode aus UNTDID 5189, etwa 95 für Mengenrabatt. In CII in der SpecifiedTradeAllowanceCharge der Position mit ram:Reason oder ram:ReasonCode.

Vorher – fehlerhaft
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">5.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
Nachher – korrigiert
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Mengenrabatt</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">5.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>

Bedeutung der Regel

Eine Position Ihrer Rechnung enthält einen Nachlass ohne Begründung: Es fehlen sowohl der Grundtext als auch der Grundcode. Die Norm verlangt mindestens eine der beiden Angaben, auch bei Nachlässen auf Positionsebene, damit der Empfänger den reduzierten Preis nachvollziehen kann. Bei Rabatten, die Sie pro Artikel gewähren, entsteht der Fehler leicht, weil die Software den Rabattprozentsatz kennt, aber keinen Grund dazu speichert.

Woran es meist liegt

  • Der Positionsrabatt wird aus einem Prozentfeld erzeugt, das keinen Grund kennt.
  • Der Grund steht nur in der Artikelbezeichnung.
  • Eine Vorlage schreibt die Nachlassgruppe ohne Grundfelder.

Fragen und Antworten

Kann ich den Rabatt einfach in den Preis einrechnen?

Ja. Ein reduzierter Nettopreis in der Position braucht keine Nachlassgruppe. Die Gruppe lohnt sich, wenn der Kunde den Listenpreis und den Abzug sehen soll.

Muss der Grundtext in der Sprache des Empfängers stehen?

Das schreibt die Norm nicht vor. Ein Code aus UNTDID 5189 ist sprachunabhängig und deshalb bei internationalen Empfängern die bessere Wahl.

Felder der EN 16931

  • BG-27
  • BT-139
  • BT-140
  • BG-25

Siehe auch

Rechnung prüfen

Der XRechnung-Validator meldet diese Regel mit Zeilennummer und Fundstelle – direkt in Ihrem Browser, ohne Upload.

Zum XRechnung-Validator

Die Regel im Detail
UBL · Kontext (XPath)
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
UBL · Schematron-Test
exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode)
CII · Kontext (XPath)
//ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator = 'false']
CII · Schematron-Test
(../ram:Reason) or (../ram:ReasonCode)

Erklärung erstellt am 14.09.2026