Auf dieser Seite
Die kurze Antwort
BR-O-05 schlägt fehl, wenn ein als O eingestufter Artikel ein cbc:Percent in seiner cac:Item/cac:ClassifiedTaxCategory hat; im aufgezeichneten Beispiel steht dort 0. Löschen Sie das Element cbc:Percent aus dieser Kategorie und behalten Sie cbc:ID und cac:TaxScheme.
Ein Satz von 0 ist trotzdem ein Satz. Eine nicht steuerbare Position hat überhaupt keinen Satz, und genau dieses Fehlen unterscheidet sie von einer Position zum Nullsatz.
Was die Regel prüft
Die Regel läuft für jede Artikelsteuerkategorie mit cbc:ID gleich O im Schema VAT, in cac:InvoiceLine wie in cac:CreditNoteLine, und meldet an dieser cac:ClassifiedTaxCategory. Zwei Positionen in O mit Satz ergaben im Versuch zwei Befunde.
Ob cbc:Percent vorhanden ist, ist alles, was sie fragt. Der Wert spielt keine Rolle: 0 schlägt fehl, und im Versuch tat das auch 20.
Ein leeres cbc:Percent ist kein Ausweg. Das Schema verlangt in diesem Element eine Zahl, und ein leeres Element scheiterte im Versuch am XSD-Prüfschritt, sodass die Regeln von EN 16931 nie liefen.
Die Umsatzsteueraufschlüsselung liegt außerhalb dieser Regel. Im Versuch bestand ein Satz von 0 in der Aufschlüsselung für O, ohne Satz auf der Position, alle Prüfschritte; den Satz in der Aufschlüsselung wegzulassen ist ebenfalls erlaubt, weil BR-48 für O keinen verlangt.
Nachlässe und Zuschläge auf Dokumentenebene haben eigene Entsprechungen. Ein Nachlass in O mit einem Satz von 0 meldete im Versuch BR-O-06, nicht diese Regel.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| 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-152 | Umsatzsteuersatz für den in Rechnung gestellten Artikel | cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:Percent (cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory/cbc:Percent in a credit note) |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Der Serialisierer schreibt
cbc:Percentaus einem Satzfeld auf jede Position, und nicht besteuerte Artikel haben einen Satz von null. - Eine einzige Vorlage baut die Steuerkategorie der Artikel für alle Kategorien auf, mit stets vorhandenem Satzelement.
- Das Quellsystem kann keinen fehlenden Satz speichern und legt 0 ab, was zu Positionen zum Nullsatz passt, aber nicht zu
O. - Die Position wurde im Mapping von
ZoderEnachOverschoben, ohne dass ihr Satz entfernt wurde.
So korrigieren Sie das Dokument
- Prüfen Sie, ob die Position wirklich nicht steuerbar ist. Ist sie tatsächlich zum Nullsatz oder steuerbefreit, ist die Kategorie der Fehler, und
ZoderEbehalten ihren Satz von 0. - Lassen Sie bei Positionen in
Odascbc:Percentincac:Item/cac:ClassifiedTaxCategoryganz weg, statt es leer oder als 0 zu schreiben. - Machen Sie das Weglassen im Serialisierer von der Kategorie abhängig, sodass der Satz für jede andere Kategorie geschrieben wird und nie für
O. - Lassen Sie die Beträge unverändert. Der Nettobetrag der Position und der Steuerbasisbetrag der Aufschlüsselung ändern sich nicht, wenn das Satzelement wegfällt.
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 Artikel der Kategorie O, der einen Satz von 0 angibt
<cac:Item>
<cbc:Name>Example service</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>O</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>Ausschnitt der korrigierten Rechnung: Der Artikel der Kategorie O hat kein Satzelement
<cac:Item>
<cbc:Name>Example service</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>O</cbc:ID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>Die fehlerhafte Rechnung hat cbc:Percent 0 in der cac:ClassifiedTaxCategory der Position; die korrigierte Rechnung hat dort kein Satzelement, und die Aufschlüsselung für O hat in keinem der beiden Dokumente eines. Das fehlerhafte Dokument meldet nur BR-O-05, an der Steuerkategorie von Position 1.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-O-05. 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. In einer Gutschrift steht die Kategorie incac:CreditNoteLine/cac:Item, und die so umgeschriebene fehlerhafte Rechnung meldete im Versuch denselben Befund. - Positionen zum Nullsatz funktionieren umgekehrt:
BR-Z-05verlangt dort einen Satz von 0; ein Mapping, das eine Position zwischenZundOverschiebt, muss das Element also hinzufügen oder entfernen. - Eine Position in
Obringt die anderen Regeln fürOmit sich: keine Umsatzsteuer-Identifikationsnummern nachBR-O-02, ein Grund in der Aufschlüsselung nachBR-O-10und keine anderen Kategorien nachBR-O-11.
Verwandte Regeln
- BR-Z-05 ist der umgekehrte Fall und verlangt einen Satz von 0 auf Positionen zum Nullsatz
- BR-48 verlangt einen Satz in jeder Umsatzsteueraufschlüsselung außer in einer nicht steuerbaren
- BR-O-02 gilt für dasselbe Dokument, sobald es eine Position in O hat, und verbietet Umsatzsteuer-Identifikationsnummern
- 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-O-05 (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.

