Zum Inhalt springen

Ironfang Finance - Regelreferenz

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

Ein prozentualer Zuschlag auf einer Rechnungsposition hat ein cbc:BaseAmount mit mehr als zwei Nachkommastellen. Schreiben Sie den Grundbetrag des Zuschlags 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-28 schlägt fehl, wenn ein cac:AllowanceCharge auf Positionsebene mit cbc:ChargeIndicator gleich true ein cbc:BaseAmount mit mehr als zwei Nachkommastellen hat. Im aufgezeichneten Beispiel beträgt der Zuschlag 10 Prozent von 25.000; schreiben Sie den Grundbetrag als 25.00.

Der Zuschlagsbetrag daneben kann einwandfrei geschrieben sein, und die Regel schlägt trotzdem fehl, weil sie nur den Grundbetrag liest. Das Runden des Grundbetrags ändert hier nichts am Ergebnis des Prozentsatzes, sodass sich keine andere Zahl bewegen muss.

Was die Regel prüft

Die Regel läuft für jeden Zuschlag direkt innerhalb einer Position und liest nur sein cbc:BaseAmount. Mehr als zwei Zeichen nach dem Dezimalpunkt scheitern; ein Zuschlag ohne Grundbetrag besteht.

Sind beide Zahlen eines Zuschlags aufgefüllt, hat jede ihre eigene Regel. Im Versuch meldete ein als 2.500 geschriebener Zuschlag auf einen Grundbetrag von 25.000 diese Regel, BR-DEC-27 und zweimal UBL-DT-01, einmal für jedes Element.

Ein leicht abweichender Grundbetrag kann die Prüfung des Prozentsatzes bestehen und hier trotzdem scheitern. Im Versuch meldete 24.995 nur diese Regel und UBL-DT-01, da 10 Prozent davon innerhalb von 0.02 des Zuschlags von 2.50 liegen.

Der Prüfschritt EN 16931 liest cbc:ChargeIndicator als Wahrheitswert, wenn er entscheidet, was ein Zuschlag ist. Im Versuch ließ ein Kennzeichen 1 diese Regel den aufgefüllten Grundbetrag weiterhin melden, während der Peppol-Prüfschritt die 1 mit PEPPOL-EN16931-R043 ablehnte und, da er den Zuschlag nicht mehr im Nettobetrag der Position zählte, PEPPOL-EN16931-R120 meldete.

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

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 Positionswert vor dem Zuschlag, berechnet aus einem Stückpreis mit drei Nachkommastellen und nie gerundet.
  • Der Code rundet den Zuschlagsbetrag, den er schreibt, übergibt dem Serialisierer aber den Grundbetrag als rohen Eingangswert der Berechnung.
  • Ein gemeinsamer Formatierer füllt jeden Betrag des Zuschlags auf die Nachkommastellen seiner Datenbankspalte auf.

So korrigieren Sie das Dokument

  1. Runden Sie den Grundbetrag des Zuschlags auf zwei Nachkommastellen und berechnen Sie den Zuschlag dann aus dem gerundeten Grundbetrag.
  2. Schreiben Sie den gerundeten Grundbetrag in cbc:BaseAmount, nach cbc:Amount, im cac:AllowanceCharge der Position.
  3. Lassen Sie cbc:MultiplierFactorNumeric daneben stehen: Ein Grundbetrag ohne Prozentsatz wird von PEPPOL-EN16931-R042 abgelehnt.
  4. Stellen Sie sicher, dass der Zuschlagsbetrag innerhalb von 0.02 von gerundetem Grundbetrag mal Prozentsatz geteilt durch 100 liegt und dass der Nettobetrag der Position weiterhin aufgeht.

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 Zuschlag von 10 Prozent, dessen Grundbetrag als 25.000 geschrieben ist

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <!-- quantity and line net amount omitted from this fragment -->
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReason>Out-of-hours surcharge</cbc:AllowanceChargeReason>
    <cbc:MultiplierFactorNumeric>10</cbc:MultiplierFactorNumeric>
    <cbc:Amount currencyID="GBP">2.50</cbc:Amount>
    <cbc:BaseAmount currencyID="GBP">25.000</cbc:BaseAmount>
  </cac:AllowanceCharge>
  <!-- item and price omitted from this fragment -->
</cac:InvoiceLine>

Ausschnitt der korrigierten Rechnung: derselbe Grundbetrag als 25.00 geschrieben

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReason>Out-of-hours surcharge</cbc:AllowanceChargeReason>
  <cbc:MultiplierFactorNumeric>10</cbc:MultiplierFactorNumeric>
  <cbc:Amount currencyID="GBP">2.50</cbc:Amount>
  <cbc:BaseAmount currencyID="GBP">25.00</cbc:BaseAmount>
</cac:AllowanceCharge>

Die korrigierte Rechnung schreibt den Grundbetrag des Zuschlags als 25.00, wo die fehlerhafte 25.000 hat; der Zuschlag von 2.50, der Prozentsatz von 10 und der Nettobetrag der Position von 27.50 sind in beiden gleich. Das fehlerhafte Dokument meldet BR-DEC-28 am cac:AllowanceCharge der Position und UBL-DT-01 am cbc:BaseAmount, die allgemeine Grenze von zwei Nachkommastellen für Beträge, die dasselbe Element erfasst. Im Peppol-Prüfschritt beanstandet nichts, weil sich der Wert des Grundbetrags nicht ändert.

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. Im Versuch meldete eine Gutschriftsposition mit demselben Zuschlag und einem Grundbetrag von 25.000 dasselbe Paar.
  • Der Grundbetrag eines Zuschlags auf Dokumentenebene wird stattdessen von BR-DEC-06 geprüft. Im Versuch meldete der Grundbetrag des Dokumentzuschlags der umfangreichen Beispielrechnung, als 35.000 geschrieben, BR-DEC-06 und UBL-DT-01.
  • Für den Grundbetrag von Nachlässen auf Positionsebene gibt es die Gegenregel BR-DEC-25.
  • Ein Grundbetrag wird nur zusammen mit einem Prozentsatz erwartet. Im Versuch meldete der aufgefüllte Grundbetrag ohne cbc:MultiplierFactorNumeric zusätzlich PEPPOL-EN16931-R042.

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