Auf dieser Seite
Die kurze Antwort
BR-DEC-01 schlägt fehl, wenn das cbc:Amount eines Nachlasses auf Dokumentenebene, also eines cac:AllowanceCharge direkt unter dem Wurzelelement mit cbc:ChargeIndicator gleich false, mehr als zwei Zeichen nach dem Dezimalpunkt hat. Runden Sie den Nachlass auf zwei Nachkommastellen und schreiben Sie ihn mit nicht mehr.
Das aufgezeichnete 1.000 ist als Zahl gleich 1.00 und schlägt trotzdem fehl, weil die Prüfung den Text so liest, wie er geschrieben ist. UBL-DT-01 wird für dasselbe cbc:Amount gemeldet, da diese Regel dieselbe Grenze von zwei Nachkommastellen allgemein auf Beträge anwendet.
Was die Regel prüft
Die Regel wählt jedes cac:AllowanceCharge aus, das direktes Kind des Wurzelelements Invoice oder CreditNote ist und dessen cbc:ChargeIndicator false ist, nimmt den Text seines cbc:Amount und zählt, was nach dem ersten Punkt folgt. Mehr als zwei Zeichen schlagen fehl.
Eine ganze Zahl hat nach einem Dezimalpunkt nichts zu zählen; im Versuch war ein Nachlass auf Dokumentenebene von 1 ohne Befund gültig.
Jedes Zeichen nach dem Punkt zählt, ob Ziffer oder nicht. Im Versuch schlug 1.00 mit einem folgenden Leerzeichen innerhalb des Elements bei dieser Regel fehl, obwohl das Schema es als Zahl akzeptiert.
Benachbarte Beträge haben eigene Regeln. Ein Zuschlag auf Dokumentenebene ist BR-DEC-05, der Basisbetrag des Nachlasses ist BR-DEC-02, und Nachlässe auf einer Position sind BR-DEC-24. Im Versuch meldete ein Zuschlag auf Dokumentenebene von 3.500 die Regeln BR-DEC-05 und UBL-DT-01, nicht diese Regel.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-92 | Betrag des Nachlasses auf Dokumentenebene | cac:AllowanceCharge/cbc:Amount (where cac:AllowanceCharge/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 Rabatt wird mit drei oder vier Nachkommastellen gespeichert und mit der vollen Skala der Spalte serialisiert.
- Ein einziger Zahlenformatierer bedient das ganze Dokument und ist auf die Genauigkeit eingestellt, die die Einzelpreise brauchen.
- Der Nachlass ist ein Prozentsatz einer Summe und wird vor dem Runden geschrieben. Im Versuch verletzte ein ungerundetes
1.005auchBR-CO-11, weil die Summe der Nachlässe von 1.00 nicht mehr dazu passte.
So korrigieren Sie das Dokument
- Runden Sie den Nachlassbetrag einmal auf zwei Nachkommastellen, wenn er berechnet wird, mit der Rundung, die Ihre Regeln für die Rechnungsstellung vorgeben.
- Formatieren Sie den Wert mit höchstens zwei Nachkommastellen und ohne umgebende Leerzeichen, und schreiben Sie ihn in
cbc:Amountimcac:AllowanceChargeauf Dokumentenebene. - Bilden Sie
cbc:AllowanceTotalAmountaus den gerundeten Nachlassbeträgen und daraus die Summe ohne Umsatzsteuer, damit jede Zahl mit dem Geschriebenen übereinstimmt. - Ist der Nachlass ein Prozentsatz eines Basisbetrags, schreiben Sie auch den Basisbetrag mit zwei Nachkommastellen; für ihn gilt eine eigene Grenze.
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: Der Rabatt auf Dokumentenebene ist als 1.000 geschrieben
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Example document discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">1.000</cbc:Amount>
<!-- tax category omitted from this fragment -->
</cac:AllowanceCharge>Ausschnitt der korrigierten Rechnung: derselbe Rabatt als 1.00 geschrieben
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Example document discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">1.00</cbc:Amount>
<!-- tax category omitted from this fragment -->
</cac:AllowanceCharge>Nur der Text von cbc:Amount im Nachlass unterscheidet sich: 1.000 in der fehlerhaften Rechnung, 1.00 in der korrigierten, also derselbe Wert. Die Summe der Nachlässe und die übrigen Summen wurden auf 1.00 aufgebaut, daher ist keine von ihnen betroffen. Das fehlerhafte Dokument meldet zwei Befunde der EN 16931 für das eine Element: BR-DEC-01 am cac:AllowanceCharge und UBL-DT-01 an dessen cbc:Amount. UBL-DT-01 begrenzt jedes Element, dessen Name auf Amount endet, auf zwei Nachkommastellen und nimmt nur den Artikelnettopreis und Nachlässe innerhalb von cac:Price aus; ein Nachlass auf Dokumentenebene, der diese Regel verletzt, verletzt daher auch jene. Zwei Nachkommastellen zu schreiben behebt beide.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-DEC-01 und UBL-DT-01. Das korrigierte Dokument besteht jeden Prüfschritt ohne Befunde.Fehlerhaftes XML herunterladenKorrigiertes XML herunterladen
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
InvoiceundCreditNote. Im Versuch meldete eine Gutschrift mit einem Nachlass auf Dokumentenebene von1.000dasselbe Befundpaar. - Die Zählung ist für jede Währung gleich, auch für solche, deren kleinste Einheit nicht zwei Stellen hat, denn
currencyIDspielt dabei keine Rolle. - Ein Dezimalkomma erreicht diese Regel nie. Im Versuch schlug
1,00im XSD-Prüfschritt fehl, und die Prüfschritte EN 16931 und Peppol wurden übersprungen.
Verwandte Regeln
- UBL-DT-01 wird neben dieser Regel gemeldet und wendet dieselbe Grenze auf jedes Betragselement an
- BR-CO-11 prüft, dass die Summe der Nachlässe den addierten Nachlässen auf Dokumentenebene entspricht
- BR-DEC-24 ist dieselbe Grenze für Nachlässe auf einer Position
- PEPPOL-EN16931-R040 prüft einen Nachlassbetrag gegen seinen Basisbetrag und Prozentsatz
- Alle Regeln der Referenz ansehen
- Hintergrund (auf Englisch): Understanding EN 16931 validation errors
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-01 (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.

