Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-CL-19: Einen Code für den Grund des Nachlasses aus der Liste UNTDID 5189 verwenden

Ein Code für den Grund eines Nachlasses muss einer der in Peppol zulässigen Codes aus UNTDID 5189 sein, etwa 95 für Discount (Rabatt). Ein Wort wie DISCOUNT ist kein Code.

EN 16931Fehler: Das Dokument ist ungültigCodelistenNachlässe und Zuschläge

Auf dieser Seite

Die kurze Antwort

BR-CL-19 schlägt fehl, wenn cbc:AllowanceChargeReasonCode bei einem Nachlass (cbc:ChargeIndicator mit false) nicht einer der 19 Codes der Teilmenge von UNTDID 5189 ist: 41, 42, 60, 62 bis 68, 70, 71, 88, 95, 100 und 102 bis 105. Ersetzen Sie den Wert durch den Code, der den Nachlass beschreibt, oder entfernen Sie den Code und beschreiben Sie den Nachlass in cbc:AllowanceChargeReason.

Der Peppol-Prüfschritt wiederholt die Prüfung als PEPPOL-EN16931-CL002, sodass ein unbekannter Code in beiden Prüfschritten fehlschlägt. Ein einfacher Rabatt ist 95; das aufgezeichnete Beispiel hatte an seiner Stelle das Wort DISCOUNT.

Was die Regel prüft

Geprüft wird jeder cbc:AllowanceChargeReasonCode in einem cac:AllowanceCharge, der als Nachlass gilt, wo auch immer er steht: auf Dokumentenebene, in einer Position und, wie der Versuch zeigte, auch innerhalb von cac:Price.

Führender und nachgestellter Leerraum wird ignoriert, und der verbleibende Wert muss genau einem gelisteten Code entsprechen. Im Versuch bestand 95 mit Leerzeichen davor und danach.

Nur die Liste für Nachlässe zählt. Ein Zuschlagscode wie CG, der bei einem Zuschlag gültig ist, wurde im Versuch beim Nachlass auf Dokumentenebene abgelehnt.

Die zulässige Menge ist eine Peppol-Teilmenge von UNTDID 5189; ein Code, der in der vollständigen UNTDID-Liste, aber nicht in der Teilmenge existiert, schlägt daher trotzdem fehl.

Ein leeres Code-Element passt zu nichts und schlägt fehl, zusammen mit PEPPOL-EN16931-R008 für das leere Element.

Der Text neben dem Code ist frei und wird nicht mit ihm verglichen. Im Versuch wurde der Code 95 neben dem Text Freight akzeptiert, weil BR-CO-05, die Prüfung auf Übereinstimmung, in diesem Release immer besteht.

BegriffBedeutungUBL-Element
BT-98Code für den Grund des Nachlasses auf Dokumentenebenecac:AllowanceCharge/cbc:AllowanceChargeReasonCode
BT-140Code für den Grund des Nachlasses auf Ebene der Rechnungspositioncac:InvoiceLine/cac:AllowanceCharge/cbc:AllowanceChargeReasonCode (cac:CreditNoteLine in a credit note)

Wie es in einer Integration dazu kommt

Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:

  • Die Integration schreibt ihren eigenen Namen für die Rabattart, etwa DISCOUNT oder PROMO, statt eines UNTDID-Codes in das Code-Element.
  • Ein Zuschlagscode wird für einen Nachlass wiederverwendet, oder Codes für Nachlässe und Zuschläge teilen sich eine Nachschlagetabelle.
  • Der Code stammt aus einer internen Nummerierung, die ebenfalls Zahlen verwendet, sodass ein Wert wie 1 oder 10 plausibel aussieht, aber nicht auf der Liste steht.
  • Jeder Nachlass erhält einen Code, auch solche, deren Quelle keine Art des Grundes kennt, und ein Platzhalter füllt die Lücke.

So korrigieren Sie das Dokument

  1. Entnehmen Sie der Fundstelle des Befunds, welcher Nachlass den Code enthält: einer unter der Wurzel, einer in einer Position oder der Preisnachlass.
  2. Bestimmen Sie anhand des Quelldatensatzes, was der Nachlass ist, und suchen Sie den passenden Eintrag in der Teilmenge von UNTDID 5189, die Peppol für BIS Billing 3.0 veröffentlicht. 95 ist Discount und 100 ist Special rebate.
  3. Schreiben Sie diesen Code in cbc:AllowanceChargeReasonCode. Ihre eigene Bezeichnung gehört, falls sie auf dem Dokument stehen soll, in cbc:AllowanceChargeReason.
  4. Passt kein Code, entfernen Sie cbc:AllowanceChargeReasonCode und behalten Sie den Text. Ein Nachlass nur mit Text ist gültig; einer ohne beides schlägt an BR-CO-21 oder BR-CO-23 fehl.
  5. Führen Sie die Zuordnung von Ihren Rabattarten zu UNTDID-Codes als Tabelle in der Integration, getrennt von der Zuordnung für Zuschläge.

Korrigierte Rechnung prüfen

Vorher und nachher

Dies sind Ausschnitte, keine vollständigen Dokumente. Die vollständigen synthetischen Dokumente, aus denen sie stammen, sind unten verlinkt.

Ausschnitt der fehlerhaften Rechnung: Der Nachlass auf Dokumentenebene hat das Wort DISCOUNT als Code für den Grund

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>DISCOUNT</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Example document discount</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">1.00</cbc:Amount>
  <!-- tax category omitted from this fragment -->
</cac:AllowanceCharge>

Ausschnitt der korrigierten Rechnung: Der Code für den Grund ist 95, Discount

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Example document discount</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">1.00</cbc:Amount>
  <!-- tax category omitted from this fragment -->
</cac:AllowanceCharge>

Die fehlerhafte Rechnung hat DISCOUNT im Code für den Grund des Nachlasses auf Dokumentenebene; die korrigierte hat 95, den Code aus UNTDID 5189 für Discount. Das fehlerhafte Dokument meldet außerdem PEPPOL-EN16931-CL002, die Peppol-Kopie dieser Codelisten-Prüfung, am selben Element, und die eine Korrektur behebt beide Befunde. Der Text des Grundes ist in beiden Dokumenten identisch.

Was der Validator gemeldet hat

Aufgezeichnet mit phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, der Engine hinter dem kostenlosen Validator, mit synthetischen Daten. Ein aufgezeichnetes Ergebnis ist ein Regressionsnachweis für diese Dokumente, keine Zertifizierung.

Wo die Regel gilt

  • Gilt für Invoice und CreditNote sowie für Nachlässe an cac:InvoiceLine und cac:CreditNoteLine. Im Versuch meldete DISCOUNT beim Nachlass der Position und beim Nachlass auf Dokumentenebene einer Gutschrift jeweils diese Regel und PEPPOL-EN16931-CL002 zusammen.
  • Ein Code für den Grund beim Preisnachlass innerhalb von cac:Price wird ebenfalls geprüft, doch selbst ein gültiger Code zog dort im Versuch die Warnungen UBL-CR-633 und UBL-CR-669 nach sich. Einen Preisnachlass senden Sie besser ohne Code.
  • Zuschläge verwenden eine andere Liste, UNTDID 7161, die BR-CL-20 prüft. Welche der Listen gilt, richtet sich nach cbc:ChargeIndicator.

Umfang und Quelle

Geschrieben für Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, angewendet auf Invoice- und CreditNote-Dokumente in UBL 2.1. Andere Profile, Syntaxen und Releases können diese Kennung anders definieren. Version des Hinweiskatalogs 2026-09-24.1: Quelle geprüft am 2026-09-24, Erklärung zuletzt aktualisiert am 2026-09-24.

Die offizielle Definition von BR-CL-19 (auf Englisch) enthält den normativen Wortlaut und den Test. Diese Seite ist unsere Erklärung dazu, keine Kopie.

Die Erklärung ändert das Urteil der Engine nicht. Dass Sie diesen Befund beheben, heißt nicht, dass das Dokument jeden Prüfschritt besteht. Die Validierung bescheinigt keine rechtliche oder steuerliche Konformität und überträgt kein Dokument über Peppol.