Auf dieser Seite
Die kurze Antwort
BR-O-09 schlägt fehl, wenn ein cac:TaxSubtotal in der Kategorie O ein cbc:TaxAmount ungleich null hat; die aufgezeichnete Rechnung berechnet 5.00, also 20 % ihrer nicht steuerbaren Position über 25.00. Setzen Sie den Steuerbetrag der Aufschlüsselung auf 0.00 und nehmen Sie die 5.00 aus cac:TaxTotal/cbc:TaxAmount, cbc:TaxInclusiveAmount und cbc:PayableAmount heraus, womit der fällige Betrag wieder 25.00 ist.
Schuldet der Käufer auf den Betrag tatsächlich Umsatzsteuer, ist die Leistung nicht nicht steuerbar. Dann ist die Kategorie falsch, und ein Dokument, das Umsatzsteuer berechnet, lässt sich mit O überhaupt nicht ausdrücken.
Was die Regel prüft
Die Regel vergleicht das cbc:TaxAmount neben jeder cac:TaxCategory O im Schema VAT als Zahl mit null: 0 besteht ebenso wie 0.00, und ein negativer Betrag scheitert wie ein positiver, wie -5.00 im Versuch.
BR-CO-17 fängt hier nur die größeren Beträge ab, weil eine Aufschlüsselung für O normalerweise kein cbc:Percent hat und jene Regel für eine Aufschlüsselung ohne Satz nur einen Steuerbetrag verlangt, der auf eine ganze Zahl gerundet null ergibt. Im Versuch meldeten 0.40 in der Aufschlüsselung für O nur diese Regel, und 0.50 brachten BR-CO-17 zurück.
Die Umsatzsteuersumme vergleicht eine andere Regel. Mit 5.00 in der Aufschlüsselung für O und einer bei 0.00 belassenen Umsatzsteuersumme meldete das Dokument im Versuch BR-CO-14 zusätzlich zu dieser Regel und BR-CO-17.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-117 | Kategoriespezifischer Steuerbetrag | cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount |
| BT-118 | Code der Umsatzsteuerkategorie | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
| BT-110 | Gesamtbetrag der Umsatzsteuer | cac:TaxTotal/cbc:TaxAmount |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Die Steuer wird für jede Aufschlüsselung mit dem voreingestellten Normalsatz berechnet, gleich welche Kategorie sie hat.
- Eine früher zum Normalsatz ausgestellte Rechnung wurde durch Umbenennen der Kategorie auf
Oumgestellt, und die gespeicherten Steuerwerte blieben erhalten. - Der Lieferant ist nicht umsatzsteuerlich registriert, aber seine Rechnungssoftware wurde mit eingeschalteter Umsatzsteuer eingerichtet.
- Die Umsatzsteuer des Dokuments wird einmal berechnet und dann der einzigen vorhandenen Aufschlüsselung zugeordnet, der für
O.
So korrigieren Sie das Dokument
- Bestätigen Sie, dass die Beträge in der Aufschlüsselung nicht steuerbar sind. Wenn ja, ist auf sie keine Umsatzsteuer geschuldet, und der Steuerbetrag der Aufschlüsselung ist
0.00. - Setzen Sie
cbc:TaxAmountimcac:TaxSubtotalfürOauf0.00. - Berechnen Sie die Umsatzsteuersumme als Summe der Steuerbeträge der Aufschlüsselungen neu, danach den Gesamtbetrag einschließlich Umsatzsteuer und den fälligen Betrag: Im aufgezeichneten Beispiel sinkt die Umsatzsteuersumme von 5.00 auf 0.00 und beide anderen Summen von 30.00 auf 25.00.
- Ist doch Umsatzsteuer geschuldet, stellen Sie die Positionen auf die zutreffende Kategorie mit ihrem Satz um und ersetzen Sie die Aufschlüsselung für
Osamt Grund durch die Aufschlüsselung dieser Kategorie; die vonBR-O-02verbotenen Umsatzsteuer-Identifikationsnummern dürfen dann zurückkehren.
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: 5.00 Umsatzsteuer in der Aufschlüsselung für O, in die Summen übernommen
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">5.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>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="GBP">25.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="GBP">30.00</cbc:TaxInclusiveAmount>
<!-- allowance, charge, prepaid and rounding totals omitted from this fragment -->
<cbc:PayableAmount currencyID="GBP">30.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>Ausschnitt der korrigierten Rechnung: keine Umsatzsteuer in der Aufschlüsselung für O, und 25.00 fällig
<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>
<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>Die fehlerhafte Rechnung zeigt 5.00 als Steuerbetrag der Aufschlüsselung für O und als Umsatzsteuersumme sowie 30.00 als cbc:TaxInclusiveAmount und cbc:PayableAmount; die korrigierte Rechnung hat 0.00 und 25.00. Neben BR-O-09 meldet das fehlerhafte Dokument BR-CO-17: Ohne Satz in der Aufschlüsselung für O erwartet diese Regel einen Steuerbetrag, der auf 0 gerundet wird, und 5.00 wird es nicht.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-CO-17 und BR-O-09. 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; als Gutschrift meldete die fehlerhafte Rechnung im Versuch erneut diese Regel undBR-CO-17. - Geprüft werden nur Aufschlüsselungen für
Oim SchemaVAT. Die Kategorien Nullsatz, steuerbefreit, Umkehrung der Steuerschuldnerschaft, innergemeinschaftliche Lieferung und Ausfuhr haben jeweils eine eigene Regel für einen Steuerbetrag von null. - Die übrigen Werte der Aufschlüsselung prüfen andere Regeln: ihren Steuerbasisbetrag
BR-O-08und ihren GrundBR-O-10.
Verwandte Regeln
- BR-CO-17 wird mit dieser Regel gemeldet und beanstandet einen Steuerbetrag in O nur, wenn er nicht auf null gerundet wird
- BR-O-08 prüft den Steuerbasisbetrag derselben Aufschlüsselung für O
- BR-E-09 ist die Regel für einen Steuerbetrag von null in steuerbefreiten Aufschlüsselungen
- BR-O-01 verlangt, dass diese Aufschlüsselung genau einmal vorkommt
- 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-09 (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.

