Auf dieser Seite
Die kurze Antwort
BR-O-06 schlägt fehl, wenn ein cac:AllowanceCharge mit cbc:ChargeIndicator false eine cac:TaxCategory O hat, die cbc:Percent enthält. Das aufgezeichnete Beispiel gibt dem Loyalty discount über 5.00 einen Satz von 0. Löschen Sie dieses Element und lassen Sie cbc:ID und cac:TaxScheme unverändert.
Bei einem Nachlass zum Nullsatz oder einem steuerbefreiten Nachlass sagt das Satzelement 0 aus. Bei O ist das Fehlen des Elements die Aussage, so wie auch die Aufschlüsselung für O im aufgezeichneten Beispiel keinen Satz trägt.
Was die Regel prüft
Geprüft wird jeder Nachlass, dessen Steuerkategorie im Schema VAT O ist, und der Befund zeigt auf diese cac:TaxCategory. Nichts bindet die Regel an die Dokumentwurzel, daher zählt auch ein Nachlass auf Positionsebene: Im Versuch meldete einer in O mit einem Satz von 0 diese Regel an der Position, mit der Warnung UBL-CR-558 für eine Steuerkategorie in einem Positionsnachlass.
Es zählt nur, ob das Element vorhanden ist. Die aufgezeichnete 0 schlägt fehl, und im Versuch ergab ein Satz von 20 auf demselben Treuerabatt denselben einzelnen Befund.
Das Element leer zu schreiben ist kein Ausweg: Ein leeres cbc:Percent in der Steuerkategorie des Rabatts scheiterte im Versuch an der XSD-Prüfung, sodass keine Geschäftsregel lief.
Diese Regel liest nur Nachlässe. Ein Zuschlag in O mit Satz wird von BR-O-07 gemeldet und eine Position in O mit Satz von BR-O-05.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-95 | Code der Umsatzsteuerkategorie des Nachlasses auf Dokumentenebene | cac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:ID |
| BT-96 | Umsatzsteuersatz des Nachlasses auf Dokumentenebene | cac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:Percent |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Der Serialisierer für Nachlässe schreibt für jede Kategorie einen Satz und speichert null für Kategorien ohne Umsatzsteuer.
- Der Rabatt wurde zunächst zum Nullsatz mit einem Satz von 0 angelegt und später nur durch Ändern seines Codes auf
Oumgestellt. - Das Quellsystem kann für einen Nachlass keinen leeren Satz speichern und sendet stattdessen 0.
So korrigieren Sie das Dokument
- Stellen Sie sicher, dass der Nachlass wirklich in
Ogehört: Er sollte Beträge mindern, die selbst nicht steuerbar sind, wie die Position über 25.00 im aufgezeichneten Beispiel. - Löschen Sie
cbc:Percentaus dercac:TaxCategorydes Nachlasses, sodass aufcbc:IDOdirektcac:TaxSchemefolgt. - Lassen Sie die Beträge, wie sie sind. Der Nachlass senkt den Steuerbasisbetrag für
Oweiterhin von 25.00 auf 20.00, mit oder ohne Satzelement. - Schreiben Sie im Serialisierer den Satz des Nachlasses für jede Kategorie außer
O.
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 Treuerabatt in O gibt einen Satz von 0 an
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Loyalty discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">5.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>O</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>Ausschnitt der korrigierten Rechnung: Der Treuerabatt in O hat kein Satzelement
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Loyalty discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">5.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>O</cbc:ID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>Die fehlerhafte Rechnung hat cbc:Percent 0 zwischen cbc:ID und cac:TaxScheme in der Steuerkategorie des Loyalty discount; in der korrigierten Rechnung fehlt dieses Element. Sonst unterscheidet sich nichts, und das fehlerhafte Dokument meldet nur BR-O-06, verortet an der cac:TaxCategory des ersten cac:AllowanceCharge.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-O-06. 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, wo der Nachlass dieselbe Form hat. Als Gutschrift umgeschrieben meldete die fehlerhafte Rechnung im Versuch nur diese Regel. - Nachlässe in anderen Kategorien ohne Umsatzsteuer funktionieren umgekehrt: Ein Nachlass zum Nullsatz oder ein steuerbefreiter Nachlass braucht einen Satz von 0 (
BR-Z-06,BR-E-06), sodass das Verschieben eines Nachlasses zwischen diesen Kategorien undOdas Hinzufügen oder Entfernen des Elements bedeutet. - Derselbe Nachlass schließt, solange er in
Osteht, nachBR-O-03auch Umsatzsteuer-Identifikationsnummern aus und wird im Steuerbasisbetrag fürOabgezogen, denBR-O-08prüft.
Verwandte Regeln
- BR-O-05 verbietet dasselbe Satzelement auf einer nicht steuerbaren Position
- BR-O-07 verbietet es auf einem Zuschlag auf Dokumentenebene in der Kategorie O
- BR-Z-06 verlangt auf einem Nachlass zum Nullsatz den Satz von 0, den diese Regel für O verbietet
- BR-O-03 verbietet Umsatzsteuer-Identifikationsnummern auf einem Dokument mit nicht steuerbarem Nachlass
- 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-28.1: Quelle geprüft am 2026-09-28, Erklärung zuletzt aktualisiert am 2026-09-28.
Die offizielle Definition von BR-O-06 (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.

