Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-DEC-25: Den Grundbetrag eines Nachlasses auf Positionsebene mit höchstens zwei Nachkommastellen schreiben

Ein Nachlass auf einer Position hat ein cbc:BaseAmount mit mehr als zwei Nachkommastellen. Schreiben Sie den Betrag, auf den der Prozentsatz angewendet wurde, mit höchstens zwei.

EN 16931Fehler: Das Dokument ist ungültigNachlässe und ZuschlägePositionen und Preise

Auf dieser Seite

Die kurze Antwort

BR-DEC-25 schlägt fehl, wenn ein Nachlass auf einer Position, also ein cac:AllowanceCharge innerhalb von cac:InvoiceLine oder cac:CreditNoteLine mit cbc:ChargeIndicator gleich false, ein cbc:BaseAmount mit mehr als zwei Nachkommastellen hat. Schreiben Sie den Betrag, auf den der Prozentsatz des Nachlasses angewendet wurde, mit höchstens zwei Nachkommastellen, etwa 40.00.

Im aufgezeichneten Beispiel ist nur der Grundbetrag fehlerhaft: Der Nachlassbetrag von 2.00 und der Prozentsatz von 5 waren bereits in Ordnung. Dasselbe Element löst auch UBL-DT-01 aus, sodass ein aufgefüllter Grundbetrag zwei Befunde ergibt.

Was die Regel prüft

Die Regel wählt jeden Nachlass direkt innerhalb einer Position aus und zählt die Zeichen nach dem ersten Punkt in seinem cbc:BaseAmount; drei oder mehr scheitern. Ein Nachlass als fester Betrag ohne Grundbetrag hat nichts zu zählen und besteht.

Es zählt nur die geschriebene Form, nicht der Wert. Im Versuch war ein Grundbetrag von 40 ohne Befund gültig, während 40.004 genauso scheiterte wie das aufgezeichnete 40.000.

Der Grundbetrag eines Rabatts auf den Preis ist der Bruttopreis des Artikels in cac:Price/cac:AllowanceCharge/cbc:BaseAmount, und diese Regel erreicht ihn nicht. Im Versuch bestand ein als 15.000 geschriebener Bruttopreis alle Prüfschritte.

Die Peppol-Prüfung des Prozentsatzes liest dasselbe Element, aber nach seinem Wert. Im Versuch löste ein Grundbetrag von 40.500, der bei 5 Prozent nicht mehr den Nachlass von 2.00 ergibt, zusätzlich PEPPOL-EN16931-R040 aus; 40.004 blieb innerhalb ihrer Toleranz von 0.02 und tat es nicht.

BegriffBedeutungUBL-Element
BT-137Grundbetrag des Nachlasses auf Ebene der Rechnungspositioncac:InvoiceLine/cac:AllowanceCharge/cbc:BaseAmount (cac:CreditNoteLine/cac:AllowanceCharge/cbc:BaseAmount in a credit note), where cbc:ChargeIndicator is false

Wie es in einer Integration dazu kommt

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

  • Der Grundbetrag ist der Bruttowert der Position, Menge mal ein Stückpreis mit drei oder vier Nachkommastellen, und wird mit dieser Genauigkeit serialisiert.
  • Der Nachlassbetrag wird vor dem Schreiben gerundet, der Grundbetrag, aus dem er berechnet wurde, aber unverändert durchgereicht.
  • Der Grundbetrag liegt in einer Dezimalspalte mit drei Nachkommastellen, und der Serialisierer schreibt jede gespeicherte Ziffer, sodass aus 40 der Wert 40.000 wird.

So korrigieren Sie das Dokument

  1. Runden Sie den Grundbetrag bei der Berechnung des Nachlasses auf zwei Nachkommastellen und wenden Sie den Prozentsatz auf den gerundeten Wert an.
  2. Schreiben Sie das Ergebnis in cbc:BaseAmount im cac:AllowanceCharge der Position, nach cbc:Amount, ohne Ziffern nach der zweiten Nachkommastelle und ohne Leerraum.
  3. Prüfen Sie den Nachlassbetrag gegen den gerundeten Grundbetrag: PEPPOL-EN16931-R040 erlaubt eine Abweichung von Grundbetrag mal Prozentsatz geteilt durch 100 von höchstens 0.02.
  4. Wurde der Rabatt eigentlich auf den Stückpreis gewährt, bilden Sie ihn stattdessen in cac:Price/cac:AllowanceCharge ab, wo der Bruttopreis seine zusätzlichen Nachkommastellen behalten darf.

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: ein Positionsrabatt von 5 Prozent, dessen Grundbetrag als 40.000 geschrieben ist

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <!-- note, quantity, line net amount, accounting cost and order line reference omitted from this fragment -->
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Example discount</cbc:AllowanceChargeReason>
    <cbc:MultiplierFactorNumeric>5</cbc:MultiplierFactorNumeric>
    <cbc:Amount currencyID="GBP">2.00</cbc:Amount>
    <cbc:BaseAmount currencyID="GBP">40.000</cbc:BaseAmount>
  </cac:AllowanceCharge>
  <!-- line charge, item and price omitted from this fragment -->
</cac:InvoiceLine>

Ausschnitt der korrigierten Rechnung: derselbe Grundbetrag als 40.00 geschrieben

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Example discount</cbc:AllowanceChargeReason>
  <cbc:MultiplierFactorNumeric>5</cbc:MultiplierFactorNumeric>
  <cbc:Amount currencyID="GBP">2.00</cbc:Amount>
  <cbc:BaseAmount currencyID="GBP">40.00</cbc:BaseAmount>
</cac:AllowanceCharge>

Die fehlerhafte und die korrigierte Rechnung unterscheiden sich in einem Element: Das cbc:BaseAmount des Positionsnachlasses lautet in der einen 40.000 und in der anderen 40.00. Fünf Prozent von beidem ergeben den Nachlass von 2.00, den beide Dokumente tragen, sodass die Peppol-Prüfung des Prozentsatzes und der Nettobetrag der Position von 58.00 in beiden erfüllt sind. Das fehlerhafte Dokument meldet BR-DEC-25 am cac:AllowanceCharge der Position und UBL-DT-01 am cbc:BaseAmount selbst, weil ein Grundbetrag ein Betragselement wie jedes andere ist und nicht zu denen gehört, die UBL-DT-01 ausnimmt. Zwei Nachkommastellen beheben beide.

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 cac:InvoiceLine in einer Invoice und cac:CreditNoteLine in einer CreditNote. Im Versuch meldete eine Gutschrift mit einem Grundbetrag des Positionsnachlasses von 40.000 dieselben zwei Befunde.
  • Erfasst werden nur Nachlässe. Der Grundbetrag eines Zuschlags auf Positionsebene gehört zu BR-DEC-28, der Grundbetrag eines Nachlasses auf Dokumentenebene zu BR-DEC-02.
  • Ein Grundbetrag ohne Prozentsatz ist ein eigenes Problem. Im Versuch kam nach dem Entfernen von cbc:MultiplierFactorNumeric aus der fehlerhaften Position PEPPOL-EN16931-R042 zu den beiden Befunden hinzu.

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-28.1: Quelle geprüft am 2026-09-28, Erklärung zuletzt aktualisiert am 2026-09-28.

Die offizielle Definition von BR-DEC-25 (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.