Auf dieser Seite
Die kurze Antwort
BR-Z-09 schlägt fehl, wenn das cbc:TaxAmount neben einer cac:TaxCategory mit Z in der Umsatzsteueraufschlüsselung nicht null ist. Setzen Sie es auf 0.00 und ziehen Sie denselben Betrag von der Umsatzsteuersumme, dem Gesamtbetrag einschließlich Umsatzsteuer und dem fälligen Betrag ab; im aufgezeichneten Beispiel fallen so jeweils 4.50 weg.
Die 4.50 sind 20 Prozent des Steuerbasisbetrags zum Nullsatz von 22.50, das Kennzeichen einer Steuerberechnung, die den Normalsatz auf jede Aufschlüsselung angewendet hat. Ist wirklich Umsatzsteuer fällig, sind die Leistungen nicht zum Nullsatz, und die Kategorie muss an der Quelle geändert werden.
Was die Regel prüft
Die Regel läuft für jede cac:TaxCategory zum Nullsatz im Schema VAT im cac:TaxTotal der Wurzel und liest das cbc:TaxAmount ihres cac:TaxSubtotal. Dieser Betrag muss als Zahl gleich null sein, sodass -0.00 im Versuch bestand.
Rundung ist nicht erlaubt. Im Versuch schlugen 0.01 in der Aufschlüsselung zum Nullsatz, mit entsprechend erhöhten Summen, allein an dieser Regel fehl.
BR-CO-17 ist beim Satz 0 großzügiger und schlägt erst fehl, wenn der Betrag auf eine ganze Zahl ungleich 0 rundet. Bei 0.50 kam es im Versuch zu dieser Regel hinzu, und bei den aufgezeichneten 4.50 schlägt es ebenfalls an.
Die Umsatzsteuersumme liegt außerhalb dieser Regel. Mit 4.50 in der Aufschlüsselung zum Nullsatz, aber einer bei 0.00 belassenen Umsatzsteuersumme meldete die Rechnung BR-CO-14 neben 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:
- Jede Aufschlüsselung wird mit dem Standardsatz des Dokuments besteuert statt mit ihrem eigenen
cbc:Percent. - Der Artikel war bei der Bestellung zum Normalsatz und bei der Rechnungsstellung zum Nullsatz, und der gespeicherte Umsatzsteuerbetrag hat die Änderung überlebt.
- Die Umsatzsteuer der Rechnung wird einmal berechnet und nach Steuerbasisbetrag auf die Aufschlüsselungen verteilt.
- Rundungsdifferenzen im Pennybereich aus den Aufschlüsselungen zum Normalsatz werden auf die zuletzt geschriebene Aufschlüsselung gebucht, und das ist zufällig die zum Nullsatz.
So korrigieren Sie das Dokument
- Prüfen Sie den Steuercode der Positionen, Nachlässe und Zuschläge zum Nullsatz. Sind sie zum Nullsatz, ist der Steuerbetrag ihrer Aufschlüsselung
0.00. - Setzen Sie
cbc:TaxAmountimcac:TaxSubtotalzum Nullsatz auf0.00. - Summieren Sie
cac:TaxTotal/cbc:TaxAmountaus den Aufschlüsselungen neu und berechnen Sie danncbc:TaxInclusiveAmountundcbc:PayableAmountneu: Aus 27.00 werden im aufgezeichneten Beispiel 22.50. - Ist auf diese Leistungen wirklich Umsatzsteuer fällig, verschieben Sie sie in die zutreffende Kategorie mit dem zutreffenden Satz, etwa
Smit 20, und bauen Sie diese Aufschlüsselung auf, statt eine zum Nullsatz zu besteuern.
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: 4.50 Umsatzsteuer in der Aufschlüsselung zum Nullsatz, übernommen in die Summen
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">4.50</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">22.50</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">4.50</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<!-- line and tax exclusive amounts omitted from this fragment -->
<cbc:TaxInclusiveAmount currencyID="GBP">27.00</cbc:TaxInclusiveAmount>
<!-- allowance, charge, prepaid and rounding amounts omitted from this fragment -->
<cbc:PayableAmount currencyID="GBP">27.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>Ausschnitt der korrigierten Rechnung: keine Umsatzsteuer in der Aufschlüsselung zum Nullsatz und Summen ohne sie
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">22.50</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>Z</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<!-- line and tax exclusive amounts omitted from this fragment -->
<cbc:TaxInclusiveAmount currencyID="GBP">22.50</cbc:TaxInclusiveAmount>
<!-- allowance, charge, prepaid and rounding amounts omitted from this fragment -->
<cbc:PayableAmount currencyID="GBP">22.50</cbc:PayableAmount>
</cac:LegalMonetaryTotal>Das cbc:TaxAmount zum Nullsatz und die Umsatzsteuersumme betragen in der fehlerhaften Rechnung 4.50 und in der korrigierten 0.00, der Gesamtbetrag einschließlich Umsatzsteuer und der fällige Betrag 27.00 gegenüber 22.50; sonst unterscheidet sich nichts. Das fehlerhafte Dokument meldet außerdem BR-CO-17, das einen Steuerbetrag beim Satz 0 nur akzeptiert, wenn er auf null rundet, und 4.50 tut das nicht. Die Summen stimmen untereinander überein, daher bleiben BR-CO-14 und BR-CO-15 still.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-CO-17 und BR-Z-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. Eine aus dem aufgezeichneten Beispiel erstellte Gutschrift meldete im VersuchBR-CO-17undBR-Z-09. - Wird vom Prüfschritt EN 16931 als fataler Befund an der
cac:TaxCategoryder Aufschlüsselung zum Nullsatz gemeldet. - Steuerbefreite Aufschlüsselungen und solche mit Reverse-Charge haben dieselbe Anforderung von null, nach
BR-E-09undBR-AE-09.
Verwandte Regeln
- BR-CO-17 prüft den Steuerbetrag jeder Aufschlüsselung und ist beim Satz 0 großzügiger
- BR-Z-08 prüft den Steuerbasisbetrag derselben Aufschlüsselung zum Nullsatz
- BR-CO-14 prüft die Umsatzsteuersumme gegen die Summe der Steuerbeträge der Aufschlüsselungen
- BR-E-09 ist das Gegenstück für steuerbefreite Leistungen, mit derselben Anforderung von null
- 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-Z-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.

