Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-DEC-10: Die Summe der Nachlässe auf Dokumentenebene mit höchstens zwei Nachkommastellen schreiben

cbc:AllowanceTotalAmount hat mehr als zwei Nachkommastellen. Schreiben Sie die Summe der Nachlässe auf Dokumentenebene mit zwei Nachkommastellen, auch wenn sie null ist.

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

Auf dieser Seite

Die kurze Antwort

BR-DEC-10 schlägt fehl, wenn cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount mehr als zwei Zeichen nach dem Dezimalpunkt hat. Schreiben Sie die Summe der Nachlässe mit höchstens zwei Nachkommastellen, 1.00 statt 1.000.

Auch eine Summe von null wird gezählt: Eine Rechnung ohne Nachlässe auf Dokumentenebene, die 0.000 sendet, schlägt genauso fehl. UBL-DT-01 meldet das Element in beiden Fällen.

Was die Regel prüft

Die Regel läuft auf cac:LegalMonetaryTotal und zählt die Zeichen nach dem Dezimalpunkt in dessen cbc:AllowanceTotalAmount; mehr als zwei schlagen fehl. Die Nachlässe, die sie summiert, zählt BR-DEC-01 getrennt, mit einem Befund je Nachlass.

Im Versuch schlug die minimale Rechnung, die keine Nachlässe hat, bei dieser Regel fehl, als ihre Summe der Nachlässe als 0.000 geschrieben war, und war ohne Befund gültig, als das Element ganz fehlte.

Eine ungerundete Summe der Nachlässe ist zugleich eine falsche Summe. Im Versuch meldete 1.004 neben dieser Regel und UBL-DT-01 auch BR-CO-11, weil die Nachlässe auf 1.00 gerundet werden und dieser Vergleich exakt ist.

BegriffBedeutungUBL-Element
BT-107Summe der Nachlässe auf Dokumentenebenecac:LegalMonetaryTotal/cbc:AllowanceTotalAmount

Wie es in einer Integration dazu kommt

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

  • Jede Summe der Gesamtbeträge wird von einem einzigen Formatierer mit drei Nachkommastellen geschrieben, sodass eine leere Summe der Nachlässe zu 0.000 wird.
  • Die Summe der Nachlässe wird aus prozentualen Rabatten addiert, bevor jeder davon gerundet ist.
  • Ein Dezimaltyp mit fester Skala aus der Datenbank wird so serialisiert, wie er gehalten wird.

So korrigieren Sie das Dokument

  1. Addieren Sie die gerundeten Nachlassbeträge auf Dokumentenebene und runden Sie die Summe auf zwei Nachkommastellen.
  2. Schreiben Sie sie in cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount, mit höchstens zwei Nachkommastellen und ohne Leerzeichen, oder lassen Sie das Element weg, wenn es keine Nachlässe auf Dokumentenebene gibt.
  3. Verwenden Sie denselben gerundeten Wert, wenn Sie die Nachlässe abziehen, um die Summe ohne Umsatzsteuer zu erhalten.

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 Rabatt auf Dokumentenebene von 1.00, als 1.000 summiert

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <!-- reason code and reason omitted from this fragment -->
  <cbc:Amount currencyID="GBP">1.00</cbc:Amount>
  <!-- tax category omitted from this fragment -->
</cac:AllowanceCharge>
<!-- document charge and VAT breakdown omitted from this fragment -->
<cac:LegalMonetaryTotal>
  <!-- line, net and gross totals omitted from this fragment -->
  <cbc:AllowanceTotalAmount currencyID="GBP">1.000</cbc:AllowanceTotalAmount>
  <!-- remaining totals omitted from this fragment -->
</cac:LegalMonetaryTotal>

Ausschnitt der korrigierten Rechnung: die Summe der Nachlässe als 1.00 geschrieben

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <!-- reason code and reason omitted from this fragment -->
  <cbc:Amount currencyID="GBP">1.00</cbc:Amount>
  <!-- tax category omitted from this fragment -->
</cac:AllowanceCharge>
<!-- document charge and VAT breakdown omitted from this fragment -->
<cac:LegalMonetaryTotal>
  <!-- line, net and gross totals omitted from this fragment -->
  <cbc:AllowanceTotalAmount currencyID="GBP">1.00</cbc:AllowanceTotalAmount>
  <!-- remaining totals omitted from this fragment -->
</cac:LegalMonetaryTotal>

In der fehlerhaften Rechnung lautet cbc:AllowanceTotalAmount 1.000, in der korrigierten 1.00, gleich dem einen Rabatt auf Dokumentenebene, den es summiert. Da der Wert unverändert ist, bestehen BR-CO-11 und BR-CO-13 in beiden. Das fehlerhafte Dokument meldet BR-DEC-10 an cac:LegalMonetaryTotal und UBL-DT-01 an der Summe der Nachlässe selbst: UBL-DT-01 ist die Grenze von zwei Nachkommastellen für jedes als Betrag benannte Element, mit Artikelpreisen und Beträgen eines Nachlasses auf Preisebene als einzigen Ausnahmen, und schlägt daher am selben Element an.

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 UBL Invoice und CreditNote. Im Versuch meldete eine Gutschrift mit einer Summe der Nachlässe von 1.000 dasselbe Paar.
  • Das Element darf fehlen, wenn das Dokument keine Nachlässe hat, und BR-CO-11 akzeptiert dann sein Fehlen; sobald es geschrieben ist, zählt diese Regel es.
  • Die Grenze beachtet currencyID nicht.

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