Auf dieser Seite
Die kurze Antwort
BR-O-12 schlägt fehl, wenn die Umsatzsteueraufschlüsselung die Kategorie O enthält und irgendeine Position eine Artikelkategorie im Schema VAT hat, die nicht O ist. Im aufgezeichneten Beispiel steht eine zweite Position, Example zero rated item über 10.00 in Z, neben der Position in O über 25.00. Verschieben Sie diese Position auf eine eigene Rechnung, sodass diese hier nur Positionen in O enthält.
Sie schließt die Lücke, die BR-O-11 lässt, da jene Regel Aufschlüsselungen mit Aufschlüsselungen vergleicht: Eine Position, deren Kategorie keine Aufschlüsselung hat, wie die zum Nullsatz hier, rutscht dort durch und wird von dieser Regel erfasst.
Was die Regel prüft
Auslöser ist eine cac:TaxCategory O in cac:TaxTotal/cac:TaxSubtotal. Dann wird jede cac:ClassifiedTaxCategory im Dokument im Schema VAT gezählt, deren cbc:ID nicht O ist, und die Zahl muss null sein; ein einziger Befund wird an der Wurzel gemeldet, gleich wie viele Positionen betroffen sind.
Die andere Kategorie spielt keine Rolle. Im Versuch meldete eine Position zum Normalsatz mit 20 anstelle der Position zum Nullsatz diese Regel mit BR-S-01 und BR-S-02, und eine steuerbefreite Position meldete sie mit BR-E-01 und BR-E-02.
Die fehlende Aufschlüsselung nachzuliefern rettet das Dokument nicht. Im Versuch beseitigte eine Aufschlüsselung zum Nullsatz über 10.00 den Befund BR-Z-01 und brachte an dessen Stelle BR-O-11, neben dieser Regel und BR-Z-02.
Die Regel braucht eine Aufschlüsselung für O als Ausgangspunkt. Eine Rechnung mit Positionen in O und ohne Aufschlüsselung für O wird stattdessen von BR-O-01 gemeldet.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BG-25 | Rechnungsposition | cac:InvoiceLine (cac:CreditNoteLine in a credit note) |
| 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-118 | Code der Umsatzsteuerkategorie | cac:TaxTotal/cac:TaxSubtotal/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:
- Die Aufschlüsselung wird aus einem Kennzeichen "nicht steuerbar" auf Dokumentebene gebildet, während jede Position ihre Kategorie aus dem Artikelstamm übernimmt, in dem ein Artikel zum Nullsatz geführt ist.
- Ein Artikel, den der Verkäufer sowohl innerhalb als auch außerhalb seiner umsatzsteuerlichen Tätigkeit liefert, bringt seine steuerpflichtige Kategorie aus der Preisliste auf eine ansonsten nicht steuerbare Rechnung.
- Eine Liefer- oder Verpackungsposition wird automatisch mit einer Standardkategorie hinzugefügt, nachdem das Dokument auf
Ogesetzt wurde.
So korrigieren Sie das Dokument
- Prüfen Sie die Kategorie jeder Position gegen die Leistung, die sie beschreibt. Ist die Position zum Nullsatz in Wahrheit nicht steuerbar, ändern Sie ihre Kategorie auf
O, entfernen Sie ihren Satz und nehmen Sie ihre 10.00 in den Steuerbasisbetrag fürOauf. - Ist die Position tatsächlich zum Nullsatz, nehmen Sie sie von dieser Rechnung und stellen Sie sie auf einem eigenen Dokument in Rechnung, mit eigener Aufschlüsselung für
Zund der Kennung des Verkäufers, dieBR-Z-02dort verlangt. - Berechnen Sie die Summen des Verbleibenden neu: Im aufgezeichneten Beispiel kehren die Positionssumme, die Gesamtbeträge ohne und mit Umsatzsteuer und der fällige Betrag von 35.00 auf 25.00 zurück.
- Setzen Sie es in der Abbildung durch: Wird ein Dokument mit einer Aufschlüsselung für
Ogeschrieben, verweigern Sie Positionen in jeder anderen Kategorie.
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: eine Position zum Nullsatz über 10.00 neben der Position in O, mit nur einer Aufschlüsselung für O
<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>
<!-- reason code and text omitted from this fragment -->
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<!-- totals of 35.00 and line 1, 25.00 in category O, omitted from this fragment -->
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="GBP">10.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Example zero rated item</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<!-- price omitted from this fragment -->
</cac:InvoiceLine>Ausschnitt der korrigierten Rechnung: Die Position zum Nullsatz ist weg, und die Summen entsprechen wieder der Position in O
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="GBP">25.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="GBP">25.00</cbc:TaxInclusiveAmount>
<!-- allowance, charge, prepaid and rounding totals omitted from this fragment -->
<cbc:PayableAmount currencyID="GBP">25.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<!-- quantity and amount omitted from this fragment -->
<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>
<!-- price omitted from this fragment -->
</cac:InvoiceLine>Die fehlerhafte Rechnung ergänzt Position 2, Example zero rated item über 10.00 in der Kategorie Z mit einem Satz von 0, und erhöht die Positionssumme, die Gesamtbeträge ohne und mit Umsatzsteuer und den fälligen Betrag auf 35.00, während die Aufschlüsselung für O bei 25.00 bleibt, passend zur einen Position in O; die korrigierte Rechnung hat nur diese Position. Das fehlerhafte Dokument meldet außerdem BR-Z-01, weil Inhalte in Z eine Aufschlüsselung zum Nullsatz brauchen, und BR-Z-02, weil eine Position zum Nullsatz eine Umsatzsteuer-Identifikationsnummer des Verkäufers, eine Steuernummer oder einen Steuervertreter braucht und dieser Verkäufer nichts davon hat.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-O-12, BR-Z-01 und BR-Z-02. 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 die Positionskategorien untercac:CreditNoteLine/cac:Itemstehen. Die fehlerhafte Rechnung als Gutschrift meldete im Versuch dieselben drei Befunde. - Nachlässe und Zuschläge auf Dokumentenebene in anderen Kategorien decken
BR-O-13undBR-O-14ab; mitBR-O-11für Aufschlüsselungen halten die vier jeden Teil eines Dokuments inOauch inO.
Verwandte Regeln
- BR-O-11 weist eine zweite Umsatzsteueraufschlüsselung neben der für O ab, die diese Regel nicht zu finden braucht
- BR-O-13 wendet dieselbe Beschränkung auf Nachlässe auf Dokumentenebene an
- BR-Z-02 wird mit dieser Regel gemeldet, weil die Position zum Nullsatz eine Umsatzsteuer-Identifikationsnummer oder Steuernummer des Verkäufers braucht
- BR-Z-01 wird ebenfalls gemeldet, da die Position zum Nullsatz keine Aufschlüsselung zum Nullsatz hat
- 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-12 (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.

