BR-CL-19: Unbekannter Code für einen Nachlass

Codes für Nachlassgründe (BT-98, BT-140) müssen aus der Liste UNCL 5189 stammen.

Regelwerk
EN 16931 (CEN)
Syntax
UBL und CII
Betroffene Felder
–

Offizieller Regeltext

Coded allowance reasons MUST belong to the UNCL 5189 code list

Regeltext aus den Validierungsartefakten zu EN 16931 in Version 1.3.16 (CEN/TC 434, veröffentlicht von ConnectingEurope), Lizenz EUPL 1.2; enthalten in der XRechnung-Validatorkonfiguration 2026-08-31.

Schweregrad

Ein Verstoß führt im Szenario „XRechnung“ des KoSIT-Validators zur Ablehnung der Rechnung.

Typische Ursachen

Interne Rabattschlüssel werden als Code übertragen.

So behebst du den Fehler

Einen Code aus UNCL 5189 verwenden, zum Beispiel 95 (Rabatt), oder nur den Grund als Text angeben.

Geprüftes Beispiel: falsch und richtig

Die Auszüge stammen aus vollständigen, synthetischen Rechnungen des E-Rechnungs-Testkorpus. Geänderte Zeilen sind hervorgehoben. Beide Dateien werden in den automatischen Tests mit dem KoSIT-Validator geprüft.

Beispiel in UBL

Änderung gegenüber der gültigen Rechnung: Code des Belegnachlasses (BT-98) unbekannt.

Falsch – ab Zeile 92
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>999</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Treuerabatt</cbc:AllowanceChargeReason>
  <cbc:MultiplierFactorNumeric>5</cbc:MultiplierFactorNumeric>
Richtig – ab Zeile 92
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Treuerabatt</cbc:AllowanceChargeReason>
  <cbc:MultiplierFactorNumeric>5</cbc:MultiplierFactorNumeric>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • BR-CL-19 Coded allowance reasons MUST belong to the UNCL 5189 code list Fundstelle: /Invoice[1]/AllowanceCharge[1]/AllowanceChargeReasonCode[1]

Vollständige Dateien im Testkorpus: br-cl-19-unbekannter-nachlassgrund_ubl.xml (falsch) und belegrabatt_ubl.xml (richtig).

Beispiel in CII

Änderung gegenüber der gültigen Rechnung: Code des Belegnachlasses (BT-98) unbekannt.

Falsch – ab Zeile 196
<ram:BasisAmount>501.55</ram:BasisAmount>
<ram:ActualAmount>25.08</ram:ActualAmount>
<ram:ReasonCode>999</ram:ReasonCode>
<ram:Reason>Treuerabatt</ram:Reason>
<ram:CategoryTradeTax>
Richtig – ab Zeile 196
<ram:BasisAmount>501.55</ram:BasisAmount>
<ram:ActualAmount>25.08</ram:ActualAmount>
<ram:ReasonCode>95</ram:ReasonCode>
<ram:Reason>Treuerabatt</ram:Reason>
<ram:CategoryTradeTax>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • BR-CL-19 Coded allowance reasons MUST belong to the UNCL 5189 code list Fundstelle: /CrossIndustryInvoice[1]/SupplyChainTradeTransaction[1]/ApplicableHeaderTradeSettlement[1]/SpecifiedTradeAllowanceCharge[1]/ReasonCode[1]

Vollständige Dateien im Testkorpus: br-cl-19-unbekannter-nachlassgrund_cii.xml (falsch) und belegrabatt_cii.xml (richtig).

Testdateien zu BR-CL-19

Technische Details: Kontext und Prüfausdruck aus dem Schematron

CII

Kontext:

ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator = false()]/ram:ReasonCode

Prüfausdruck:

((not(contains(normalize-space(.), ' ')) and contains(' 41 42 60 62 63 64 65 66 67 68 70 71 88 95 100 102 103 104 105 ', concat(' ', normalize-space(.), ' '))))

UBL

Kontext:

cac:AllowanceCharge[cbc:ChargeIndicator = false()]/cbc:AllowanceChargeReasonCode

Prüfausdruck:

((not(contains(normalize-space(.), ' ')) and contains(' 41 42 60 62 63 64 65 66 67 68 70 71 88 95 100 102 103 104 105 ', concat(' ', normalize-space(.), ' '))))

Technische Formatprüfung nach XRechnung 3.0.2; keine steuerliche oder rechtliche Beratung.