Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-DEC-24: Den Nachlassbetrag der Position mit höchstens zwei Nachkommastellen schreiben

Ein Nachlass auf einer Rechnungsposition hat ein cbc:Amount mit mehr als zwei Nachkommastellen. Runden Sie den Nachlass der Position auf zwei Nachkommastellen.

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

Auf dieser Seite

Die kurze Antwort

BR-DEC-24 schlägt fehl, wenn ein cac:AllowanceCharge auf einer Position mit cbc:ChargeIndicator gleich false ein cbc:Amount mit mehr als zwei Nachkommastellen hat. Schreiben Sie den Nachlassbetrag der Position mit höchstens zwei Nachkommastellen, etwa 2.00.

Ein Rabatt auf den Preis ist kein Nachlass auf die Position. Ein Nachlass innerhalb von cac:Price erklärt, wie der Nettopreis zustande kam, und darf wie der Preis selbst mehr Nachkommastellen behalten.

Was die Regel prüft

Die Regel wählt jeden Nachlass direkt innerhalb einer cac:InvoiceLine oder cac:CreditNoteLine aus und erlaubt höchstens zwei Zeichen nach dem Dezimalpunkt in seinem cbc:Amount. Das aufgezeichnete 2.000 scheitert allein am dritten Zeichen.

Nachlässe innerhalb von cac:Price liegen außerhalb ihrer Reichweite und auch außerhalb der von UBL-DT-01. Im Versuch war ein Preisnachlass von 0.005 auf einen Bruttopreis von 20.000 ohne Befund gültig.

Zuschläge auf Positionen und der Basisbetrag eines Nachlasses haben eigene Regeln, BR-DEC-27 und BR-DEC-25. Im Versuch meldete ein als 0.010 geschriebener Zuschlag auf einer Position die Regeln BR-DEC-27 und UBL-DT-01, nicht diese Regel.

Der Prozentsatz in cbc:MultiplierFactorNumeric ist kein Betrag. Im Versuch bestand er als 5.000 geschrieben jeden Prüfschritt.

BegriffBedeutungUBL-Element
BT-136Betrag des Nachlasses auf Ebene der Rechnungspositioncac:InvoiceLine/cac:AllowanceCharge/cbc:Amount (cac:CreditNoteLine/cac:AllowanceCharge/cbc:Amount 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 Positionsrabatt wird als Prozentsatz von Menge mal einem Preis mit drei Nachkommastellen berechnet und ungerundet geschrieben.
  • Derselbe Formatierer schreibt den Preis und den Nachlass der Position und ist auf die Genauigkeit des Preises eingestellt.
  • Ein im Quellsystem auf den Preis erfasster Rabatt wird auf einen Nachlass der Position abgebildet, ohne erneut gerundet zu werden.

So korrigieren Sie das Dokument

  1. Entscheiden Sie, ob der Rabatt zum Preis oder zur Position gehört. Ein Preisrabatt gehört in cac:Price/cac:AllowanceCharge und darf die Genauigkeit des Preises behalten; ein Nachlass auf die Position verringert den Nettobetrag der Position und hat zwei Nachkommastellen.
  2. Runden Sie bei einem Nachlass auf die Position den Betrag bei der Berechnung auf zwei Nachkommastellen und schreiben Sie ihn mit nicht mehr in cbc:Amount.
  3. Schreiben Sie den Basisbetrag eines prozentualen Nachlasses ebenfalls mit zwei Nachkommastellen, und halten Sie den Betrag konsistent mit Basisbetrag mal Prozentsatz.
  4. Berechnen Sie den Nettobetrag der Position mit dem gerundeten Nachlass neu, damit er weiterhin zu Menge, Preis und Zuschlägen passt.

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 auf 40.00, als 2.000 geschrieben

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <!-- note omitted from this fragment -->
  <cbc:InvoicedQuantity unitCode="C62">3</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">58.00</cbc:LineExtensionAmount>
  <!-- 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.000</cbc:Amount>
    <cbc:BaseAmount currencyID="GBP">40.00</cbc:BaseAmount>
  </cac:AllowanceCharge>
  <!-- line charge, item and price omitted from this fragment -->
</cac:InvoiceLine>

Ausschnitt der korrigierten Rechnung: derselbe Rabatt als 2.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>

Nur der Nachlassbetrag der Position ist anders geschrieben: 2.000 in der fehlerhaften Rechnung und 2.00 in der korrigierten. Der Nettobetrag der Position von 58.00 enthält bereits einen Rabatt von 2.00, daher ändert sich keine andere Zahl. Das fehlerhafte Dokument meldet BR-DEC-24 am cac:AllowanceCharge der Position und UBL-DT-01 am cbc:Amount darin. UBL-DT-01 begrenzt die Nachkommastellen jedes Betragselements im Dokument außer Artikelpreisen und Nachlässen auf einen Preis, und ein Nachlass auf die Position ist nicht ausgenommen; die beiden Befunde kommen also als Paar. Das Umschreiben des Betrags behebt 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 die Gutschriftsvariante dasselbe Befundpaar.
  • Nachlässe auf Dokumentenebene gehören nicht hierher; BR-DEC-01 unterwirft sie derselben Grenze.
  • Die Positionsnummer im Ort des Befunds zeigt, welche Position zu korrigieren ist, wenn mehrere Positionen Nachlässe tragen.

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-DEC-24 (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.