Auf dieser Seite
Die kurze Antwort
BR-48 schlägt für jedes cac:TaxSubtotal fehl, dessen Umsatzsteuerkategorie kein cbc:Percent hat, es sei denn, die Kategorie ist O. Ergänzen Sie cbc:Percent in der cac:TaxCategory der Aufschlüsselung, direkt nach cbc:ID, mit dem Satz als Prozentwert: 20 für 20%, und 0 für den Nullsatz, steuerbefreite Umsätze und die übrigen Kategorien, bei denen keine Umsatzsteuer anfällt.
Kategorie O ist die einzige Ausnahme. Eine Leistung außerhalb des Anwendungsbereichs der Umsatzsteuer hat keinen Satz anzugeben, daher darf ihre Aufschlüsselung das Element weglassen.
Was die Regel prüft
Die Regel läuft für jedes cac:TaxSubtotal innerhalb eines cac:TaxTotal und liest die cac:TaxCategory, deren Steuerschema VAT ist. Sie ist erfüllt, wenn diese Kategorie ein Element cbc:Percent hat oder wenn ihre cbc:ID O lautet.
Null ist ein Satz wie jeder andere. Eine steuerbefreite Aufschlüsselung ohne cbc:Percent wurde im Versuch allein von dieser Regel gemeldet; die Korrektur dort ist 0, nicht das Weglassen des Elements.
Die Ausnahme erlaubt nur, dass der Satz fehlt. Eine Aufschlüsselung der Kategorie O mit einem cbc:Percent von 0 wurde im Versuch ebenfalls akzeptiert.
Ein leeres cbc:Percent ist keine Zahl. Im Versuch scheiterte es am XSD-Prüfschritt, sodass diese Regel und die übrigen Geschäftsregeln nie ausgewertet wurden.
Sätze in Positionen werden nicht gelesen. Als stattdessen der Satz aus einer Position zum Normalsatz entfernt wurde, lauteten die Befunde im Versuch BR-S-05 und BR-S-08, nicht diese Regel.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-119 | Kategoriespezifischer Umsatzsteuersatz | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:Percent |
| 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:
- Nullsätze werden als fehlender Satz behandelt und unterdrückt, sodass Aufschlüsselungen zum Nullsatz und steuerbefreite Aufschlüsselungen
cbc:Percentverlieren. - Die Umsatzsteuerübersicht ist nur nach Kategorie gruppiert, und der Satz wird nicht in die Aufschlüsselung übernommen.
- Die Ausnahme für
Owird auf jede Kategorie angewendet, bei der keine Umsatzsteuer anfällt, und entfernt den Satz auch aus steuerbefreiten oder Reverse-Charge-Aufschlüsselungen. - Der Satz wird als Text wie
Standardgeführt, und der Export lässt ihn weg, wenn er sich nicht als Zahl schreiben lässt.
So korrigieren Sie das Dokument
- Nehmen Sie für jede Aufschlüsselung den Satz der Positionen, Nachlässe und Zuschläge, die sie abdeckt. Eine Aufschlüsselung gruppiert Posten nach Kategorie und Satz, daher gibt es genau einen.
- Schreiben Sie ihn in
cbc:Percentinnerhalb dercac:TaxCategoryder Aufschlüsselung, nachcbc:IDund vor einem etwaigen Befreiungsgrund, als Prozentzahl:20, nicht0.2oder20%. - Schreiben Sie für
Z,E,AE,KundGden Wert0. Lassen Sie das Element nur beiOweg. - Berechnen Sie das
cbc:TaxAmountder Aufschlüsselung aus Steuerbasisbetrag und Satz neu, daBR-CO-17beide zusammen prüft.
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: Die Aufschlüsselung zum Normalsatz gibt keinen Satz an
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>Ausschnitt der korrigierten Rechnung: Der Satz von 20 folgt auf den Kategoriecode
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>20</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>Die korrigierte Rechnung hat <cbc:Percent>20</cbc:Percent> nach dem Kategoriecode in der Aufschlüsselung; sonst unterscheidet sich nichts. Das fehlerhafte Dokument meldet außerdem BR-CO-17 und BR-S-09, die beide die Steuer von 5.00 als Steuerbasisbetrag x Satz / 100 prüfen und ohne Satz nicht auf 5.00 kommen können. BR-CO-17 behandelt einen fehlenden Satz wie einen Satz von null und erwartet eine Steuer, die auf nichts gerundet wird; BR-S-09 hat ohne Satz überhaupt kein Ergebnis. Das Wiederherstellen des Satzes behebt alle drei Befunde.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-48, BR-CO-17 und BR-S-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 Gutschrift, bei der der Satz aus der Aufschlüsselung entfernt wurde, meldete im Versuch dieselben drei Regeln. - Wird vom Prüfschritt EN 16931 gemeldet; der Peppol-Prüfschritt lässt das aufgezeichnete Beispiel passieren.
- Eine Aufschlüsselung, deren Steuerschema nicht
VATist, hat aus Sicht dieser Regel keinen Umsatzsteuersatz: Im Versuch scheiterte eine unterGSTtrotz ihrescbc:Percenthier, zusammen mitBR-47undBR-CO-17.
Verwandte Regeln
- BR-CO-17 prüft den Steuerbetrag der Aufschlüsselung gegen den Satz und wird mit dieser Regel gemeldet
- BR-S-09 ist die Steuerberechnung für den Normalsatz, die ebenfalls den Satz braucht
- BR-47 verlangt den Kategoriecode, der entscheidet, ob der Satz weggelassen werden darf
- BR-O-05 geht bei Positionen den umgekehrten Weg: Eine Position in Kategorie O darf keinen Satz tragen
- 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-48 (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.

