Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-DEC-18: Den fälligen Zahlungsbetrag mit höchstens zwei Nachkommastellen schreiben

cbc:PayableAmount hat mehr als zwei Nachkommastellen. Runden Sie den fälligen Zahlungsbetrag auf zwei Nachkommastellen und formatieren Sie ihn entsprechend.

EN 16931Fehler: Das Dokument ist ungültigSummen

Auf dieser Seite

Die kurze Antwort

BR-DEC-18 schlägt fehl, wenn cac:LegalMonetaryTotal/cbc:PayableAmount mehr als zwei Zeichen nach dem Dezimalpunkt hat. Schreiben Sie den fälligen Zahlungsbetrag mit höchstens zwei Nachkommastellen: 70.00, nicht 70.000.

Schon das Auffüllen löst die Regel aus: Das aufgezeichnete 70.000 ist der richtige Betrag, mit einer Null zu viel geschrieben. UBL-DT-01 meldet dasselbe Element daneben.

Was die Regel prüft

Die Regel läuft auf cac:LegalMonetaryTotal, nimmt den Text von cbc:PayableAmount und schlägt fehl, wenn mehr als zwei Zeichen auf den Dezimalpunkt folgen. Eine nachgestellte Null zählt wie jede andere Ziffer.

Das Format wird unabhängig von der Arithmetik geprüft, die den Wert ergeben hat. Im Versuch wurde 70.004 nur von dieser Regel und UBL-DT-01 gemeldet: Mit vorhandenem Rundungsbetrag rundet BR-CO-16 den fälligen Zahlungsbetrag vor dem Vergleich und hatte daher nichts einzuwenden.

Der Vorauszahlungsbetrag und der Rundungsbetrag daneben haben eigene Nachkommastellenregeln. Im Versuch meldete ein Rundungsbetrag von -0.200 die Regeln BR-DEC-17 und UBL-DT-01, nicht diese Regel.

BegriffBedeutungUBL-Element
BT-115Fälliger Zahlungsbetragcac:LegalMonetaryTotal/cbc:PayableAmount

Wie es in einer Integration dazu kommt

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

  • Der fällige Betrag wird aus einer Summe einschließlich Umsatzsteuer mit höherer Genauigkeit abgeleitet, abzüglich einer Vorauszahlung, und ohne abschließende Rundung geschrieben.
  • Eine Bargeldrundung auf eine gröbere Stufe, etwa 0.05, wird in einem Typ berechnet, der drei Nachkommastellen behält, und das Ergebnis wird mit dieser Skala geschrieben.
  • Beträge werden als Gleitkommazahlen gehalten und mit fest drei Nachkommastellen formatiert.

So korrigieren Sie das Dokument

  1. Berechnen Sie den fälligen Betrag aus den geschriebenen Summen: Summe einschließlich Umsatzsteuer minus Vorauszahlungsbetrag plus Rundungsbetrag.
  2. Runden Sie das Ergebnis auf zwei Nachkommastellen und formatieren Sie es mit höchstens zwei, ohne Leerzeichen.
  3. Schreiben Sie es in cac:LegalMonetaryTotal/cbc:PayableAmount, das letzte Element der Gesamtbeträge.
  4. Formatieren Sie ein vorhandenes cbc:PrepaidAmount und cbc:PayableRoundingAmount genauso, da auch für sie jeweils zwei Nachkommastellen gelten.

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: 80.20 - 10.00 - 0.20 ist als 70.000 geschrieben

<cac:LegalMonetaryTotal>
  <!-- line, net, allowance and charge totals omitted from this fragment -->
  <cbc:TaxInclusiveAmount currencyID="GBP">80.20</cbc:TaxInclusiveAmount>
  <cbc:PrepaidAmount currencyID="GBP">10.00</cbc:PrepaidAmount>
  <cbc:PayableRoundingAmount currencyID="GBP">-0.20</cbc:PayableRoundingAmount>
  <cbc:PayableAmount currencyID="GBP">70.000</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Ausschnitt der korrigierten Rechnung: der fällige Betrag als 70.00 geschrieben

<cac:LegalMonetaryTotal>
  <!-- line, net, allowance and charge totals omitted from this fragment -->
  <cbc:TaxInclusiveAmount currencyID="GBP">80.20</cbc:TaxInclusiveAmount>
  <cbc:PrepaidAmount currencyID="GBP">10.00</cbc:PrepaidAmount>
  <cbc:PayableRoundingAmount currencyID="GBP">-0.20</cbc:PayableRoundingAmount>
  <cbc:PayableAmount currencyID="GBP">70.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Nur cbc:PayableAmount ist anders geschrieben, 70.000 im fehlerhaften Dokument und 70.00 im korrigierten; der fällige Betrag ist in beiden derselbe, 80.20 - 10.00 - 0.20. Das fehlerhafte Dokument meldet BR-DEC-18 an den Gesamtbeträgen und UBL-DT-01 am Zahlungsbetrag selbst. UBL-DT-01 ist die Prüfung des UBL-Datentyps, die jedes Betragselement auf zwei Nachkommastellen begrenzt, ausgenommen den Artikelnettopreis und die Beträge eines Nachlasses auf den Preis; deshalb wiederholt sie diesen Befund für den fälligen Betrag. Die Korrektur des Formats 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 gleichermaßen für UBL Invoice und CreditNote. Im Versuch meldete eine Gutschrift mit einem fälligen Betrag von 70.000 dieselben zwei Befunde.
  • Ein negativer fälliger Betrag, wie bei manchen Gutschriften oder überzahlten Rechnungen, wird genauso gezählt: Das Minuszeichen steht vor dem Dezimalpunkt und spielt keine Rolle.
  • Die Regel ignoriert die Währung. Sie verbietet zwei Nachkommastellen für eine Währung ohne Untereinheit nicht, und sie erlaubt keine dritte für eine Währung, deren Untereinheit drei Stellen hat.

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