Zum Inhalt springen

BR-33: Grund des Abschlags auf Dokumentenebene (BT-97/BT-98) fehlt

Offizielle Meldung

[BR-33] Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98).

EN 16931 (CII) · Fehler · Sprache der Meldung: Englisch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-33] Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98).

EN 16931 (UBL) · Fehler · Sprache der Meldung: Englisch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-33] Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98).

Factur-X / ZUGFeRD EN 16931 · Fehler · Sprache der Meldung: Englisch · Stand: Factur-X 1.08 / ZUGFeRD 2.4
Schweregrad
Fehler Die Rechnung gilt als ungültig und kann vom Empfänger abgelehnt werden.
Gilt für
EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
Betroffene Felder
BG-20, BT-97, BT-98

Was bedeutet das?

Jeder Abschlag auf Dokumentenebene (BG-20) muss einen Grund haben: als Text (Document level allowance reason, BT-97) oder als Code (Document level allowance reason code, BT-98). Bei mindestens einem Abschlag fehlen beide.

Typische Ursachen

Der Abschlag wurde nur mit Betrag und Steuerkategorie ausgegeben.
Der Grund steht nur in einer Rechnungsnotiz, nicht am Abschlag selbst.

So beheben Sie den Fehler

Für jeden Abschlag einen Grund als Text angeben, z. B. „Treuerabatt“, und/oder einen Code aus der Liste UNTDID 5189, z. B. 95 (Rabatt). Werden beide angegeben, müssen sie dasselbe bedeuten.
CII: ram:SpecifiedTradeAllowanceCharge/ram:Reason bzw. ram:ReasonCode, UBL: cac:AllowanceCharge/cbc:AllowanceChargeReason bzw. cbc:AllowanceChargeReasonCode.
Die Rechnung erneut erzeugen und prüfen.

In E-Rechnungsfreund

Im Rechnungsformular (Ansicht „Experte“) im Abschnitt „Zu-/Abschläge auf Dokumentenebene (BG-20/BG-21)“ bei jedem Eintrag vom Typ „Abschlag (BG-20)“ das Feld „Begründung“ ausfüllen und/oder im Feld „Code“ einen Grund wählen.

Beispiel

Fehlerhaft

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:ActualAmount>25.00</ram:ActualAmount>
  <ram:CategoryTradeTax>
    ...
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>

Richtig

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:ActualAmount>25.00</ram:ActualAmount>
  <ram:ReasonCode>95</ram:ReasonCode>
  <ram:Reason>Treuerabatt</ram:Reason>
  <ram:CategoryTradeTax>
    ...
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>
Für Entwickler: Prüfausdruck je Syntax

EN 16931 (CII) (CII)

Kontext: //ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='false']

(../ram:Reason) or (../ram:ReasonCode)

EN 16931 (UBL) (UBL)

Kontext: /ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()]

exists(cbc:AllowanceChargeReason) or exists(cbc:AllowanceChargeReasonCode)

Factur-X / ZUGFeRD EN 16931 (CII)

Technische ID in der Quelle: FX-SCH-A-000063

Kontext: //ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='false']

(../ram:Reason) or (../ram:ReasonCode)

Verwandte Prüfregeln

  • BR-01: Spezifikationskennung (BT-24) fehlt
  • BR-02: Rechnungsnummer (BT-1) fehlt
  • BR-03: Rechnungsdatum (BT-2) fehlt
  • BR-04: Rechnungsart-Code (BT-3) fehlt
  • BR-05: Rechnungswährung (BT-5) fehlt
  • BR-06: Name des Verkäufers (BT-27) fehlt

Zuletzt aktualisiert:
Erläuterung der Prüfregel, keine Rechts- oder Steuerberatung.