Auf dieser Seite
Die kurze Antwort
BR-O-01 schlägt fehl, wenn die Kategorie O irgendwo im Dokument verwendet wird und cac:TaxTotal nicht genau ein cac:TaxSubtotal enthält, dessen cac:TaxCategory/cbc:ID O ist. Im aufgezeichneten Beispiel wurde die Aufschlüsselung für nicht steuerbare Umsätze über 25.00 zweimal geschrieben. Behalten Sie eine einzige Aufschlüsselung für O, die jede Position, jeden Nachlass und jeden Zuschlag in O abdeckt.
Keine Umsatzsteuer auszuweisen erspart die Aufschlüsselung nicht. Eine Rechnung, deren Positionen alle nicht steuerbar sind, braucht trotzdem ihren einen Eintrag für O, mit einem Steuerbetrag von 0.00 und einem Grund der Umsatzsteuerbefreiung, etwa dem Code VATEX-EU-O.
Was die Regel prüft
Auslöser ist jede cbc:ID O im Schema VAT, in der cac:ClassifiedTaxCategory einer Position oder in irgendeiner cac:TaxCategory, die der Aufschlüsselung selbst eingeschlossen. Die anschließende Zählung betrachtet nur cac:TaxTotal/cac:TaxSubtotal unter der Dokumentwurzel, und das Ergebnis muss genau 1 sein.
Eine fehlende Aufschlüsselung scheitert ebenso wie eine doppelte. Im Versuch meldete das Löschen der einzigen Aufschlüsselung für O aus der korrigierten Rechnung diese Regel zusammen mit BR-CO-18, PEPPOL-EN16931-R053 und PEPPOL-EN16931-R054, weil dem Dokument danach überhaupt keine Umsatzsteueraufschlüsselung mehr blieb.
Ein Nachlass oder ein Zuschlag genügt als Auslöser. Im Versuch meldete ein Nachlass auf Dokumentenebene über 5.00 in der Kategorie O auf einer Rechnung zum Normalsatz ohne Aufschlüsselung für O diese Regel, neben BR-O-03 für die Umsatzsteuer-Identifikationsnummer des Verkäufers auf dieser Rechnung; ein Zuschlag über 4.00 in O tat dasselbe mit BR-O-04.
Beträge spielen hier keine Rolle. Das aufgezeichnete Duplikat wiederholt die vollen 25.00, womit BR-O-08 gleich doppelt erfüllt ist; im Versuch mit einer Aufschlüsselung für O je Position, 25.00 und 10.00 für zwei Positionen in O, schlug BR-O-08 zusätzlich an jeder der beiden fehl.
Der umgekehrte Fall kommt durch. Eine Aufschlüsselung für O über 0.00 auf einer Rechnung zum Normalsatz ohne Inhalte in O besteht diese Regel, weil die Aufschlüsselung selbst als Inhalt in O zählt; im Versuch wurde diese Rechnung stattdessen von BR-O-11 und BR-O-12 abgewiesen.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BG-23 | Umsatzsteueraufschlüsselung | cac:TaxTotal/cac:TaxSubtotal |
| BT-118 | Code der Umsatzsteuerkategorie | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
| BT-151 | Code der Umsatzsteuerkategorie des in Rechnung gestellten Artikels | cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID (cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID in a credit note) |
| BT-95 | Code der Umsatzsteuerkategorie des Nachlasses auf Dokumentenebene | cac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:ID |
| BT-102 | Code der Umsatzsteuerkategorie des Zuschlags auf Dokumentenebene | cac:AllowanceCharge[cbc:ChargeIndicator = true]/cac:TaxCategory/cbc:ID |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Aufschlüsselungen werden nur erzeugt, wo Umsatzsteuer auszuweisen ist, sodass ein vollständig nicht steuerbares Dokument mit leerer Steuersumme versendet wird.
- Die Steuerzusammenfassung wird zweimal angehängt, etwa einmal von der Positionsschleife und einmal von einem Summenschritt, und beide Kopien lauten auf
O. - Es wird eine Aufschlüsselung pro Position oder pro internem Steuercode geschrieben, und mehrere Codes wie "nicht steuerbar" und "nichtunternehmerisch" werden alle auf
Oabgebildet. - Ein Nachlass oder Zuschlag auf Dokumentenebene wird auf
Ogesetzt, während die Positionen eine andere Kategorie verwenden, sodass nie eine Aufschlüsselung fürOvorgesehen war.
So korrigieren Sie das Dokument
- Stellen Sie zusammen, was das Dokument in
Oführt, anhand dercac:Item/cac:ClassifiedTaxCategory/cbc:IDjeder Position und dercac:TaxCategory/cbc:IDjedescac:AllowanceChargedirekt unter der Wurzel; im aufgezeichneten Beispiel ist das die einzige Position über 25.00. - Schreiben Sie dafür ein
cac:TaxSubtotal: den Nettoinhalt inOalscbc:TaxableAmount,0.00alscbc:TaxAmountund einecac:TaxCategorymitcbc:IDO, dem GrundcodeVATEX-EU-Ooder dem Grundtext, ohnecbc:Percentund mit dem SchemaVAT. - Hat der Generator mehrere Aufschlüsselungen für
Oerzeugt, führen Sie sie in dieser einen zusammen und löschen den Rest. Im aufgezeichneten Beispiel entfällt einfach die zweite Kopie. - Lassen Sie
cac:TaxTotal/cbc:TaxAmountbei0.00, da eine Aufschlüsselung fürOkeine Umsatzsteuer hinzufügt.
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: zwei identische Aufschlüsselungen für O zu der einen Position in O über 25.00
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>O</cbc:ID>
<cbc:TaxExemptionReasonCode>VATEX-EU-O</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Not subject to VAT</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>O</cbc:ID>
<!-- the same reason code and text omitted from this fragment -->
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<!-- line 1, 25.00 in category O, omitted from this fragment -->Ausschnitt der korrigierten Rechnung: eine einzige Aufschlüsselung für O
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>O</cbc:ID>
<cbc:TaxExemptionReasonCode>VATEX-EU-O</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Not subject to VAT</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>Die fehlerhafte Rechnung wiederholt das gesamte cac:TaxSubtotal für O, Steuerbasisbetrag 25.00 und Steuer 0.00, sodass ihr cac:TaxTotal zwei identische Einträge für die eine Position enthält; die korrigierte Rechnung behält einen. Das fehlerhafte Dokument meldet nur BR-O-01: Die Umsatzsteuersumme von 0.00 entspricht weiterhin der Summe der Aufschlüsselungen, und jede Kopie passt für sich genommen zur Position über 25.00.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-O-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, mit einem Befund an der Dokumentwurzel. Die als Gutschrift umgeschriebene fehlerhafte Rechnung meldete im Versuch denselben einzelnen Befund. - Nur das Schema
VATzählt, bei den Kategorien wie bei der Aufschlüsselung. Andere Kategorien haben je eine Regel dieser Art, etwaBR-Z-01undBR-E-01, währendBR-S-01mehrere Aufschlüsselungen zum Normalsatz zulässt, weil sich Normalsätze unterscheiden. - Auch die einzelne Aufschlüsselung für
Omuss im Detail stimmen:BR-O-08prüft ihren Steuerbasisbetrag,BR-O-09ihren Steuerbetrag undBR-O-10ihren Grund.
Verwandte Regeln
- BR-O-08 prüft den Steuerbasisbetrag der einzigen Aufschlüsselung für O gegen die Positionen, Nachlässe und Zuschläge in O
- BR-O-09 verlangt, dass der Steuerbetrag dieser Aufschlüsselung null ist
- BR-CO-18 wird neben dieser Regel gemeldet, wenn eine nicht steuerbare Rechnung ganz ohne Umsatzsteueraufschlüsselung versendet wird
- BR-Z-01 ist die Fassung dieser Regel für genau eine Aufschlüsselung zum Nullsatz
- 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-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.

