Zum Inhalt springen

BR-38: Grund des Zuschlags auf Dokumentenebene (BT-104/BT-105) fehlt

Offizielle Meldung

[BR-38] Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or a Document level charge reason code (BT-105).

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

[BR-38] Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or a Document level charge reason code (BT-105).

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

[BR-38] Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or a Document level charge reason code (BT-105).

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-21, BT-104, BT-105

Was bedeutet das?

Jeder Zuschlag auf Dokumentenebene (BG-21) muss einen Grund haben: als Text (Document level charge reason, BT-104) oder als Code (Document level charge reason code, BT-105). Bei mindestens einem Zuschlag fehlen beide.

Typische Ursachen

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

So beheben Sie den Fehler

Für jeden Zuschlag einen Grund als Text angeben, z. B. „Versandkosten“, und/oder einen Code aus der Liste UNTDID 7161. 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 „Zuschlag (BG-21)“ das Feld „Begründung“ ausfüllen und/oder im Feld „Code“ einen Grund wählen.

Beispiel

Fehlerhaft

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>true</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:ActualAmount>9.90</ram:ActualAmount>
  <ram:CategoryTradeTax>
    ...
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>

Richtig

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>true</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:ActualAmount>9.90</ram:ActualAmount>
  <ram:Reason>Versandkosten</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='true']

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

EN 16931 (UBL) (UBL)

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

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

Factur-X / ZUGFeRD EN 16931 (CII)

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

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

(../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.