Auf dieser Seite
Die kurze Antwort
BR-CO-18 schlägt fehl, wenn das Dokument kein cac:TaxSubtotal innerhalb eines cac:TaxTotal direkt unter dem Wurzelelement hat. Fügen Sie für jede Umsatzsteuerkategorie und jeden Satz, die in den Positionen und in den Nachlässen und Zuschlägen auf Dokumentenebene verwendet werden, ein cac:TaxSubtotal mit Steuerbasisbetrag, Steuerbetrag und cac:TaxCategory hinzu.
Ein cac:TaxTotal, das nur das gesamte cbc:TaxAmount enthält, genügt nicht, auch wenn dieser Betrag stimmt.
Was die Regel prüft
Dies ist eine Vorhandenseinsprüfung auf dem Wurzelelement des Dokuments: Mindestens ein cac:TaxTotal/cac:TaxSubtotal muss existieren. Sie schaut nicht in die Aufschlüsselung hinein; Beträge und Kategorie prüfen andere Regeln.
Das XSD akzeptiert ein cac:TaxTotal ohne cac:TaxSubtotal und ein Dokument ganz ohne cac:TaxTotal, daher wird das Fehlen zuerst hier gemeldet und nicht vom Schema-Prüfschritt.
Ein Dokument ohne zu zahlende Umsatzsteuer braucht trotzdem eine Aufschlüsselung. Eine steuerbefreite Rechnung mit einer Umsatzsteuersumme von 0.00 schlägt bei dieser Regel fehl, sobald ihr cac:TaxSubtotal entfernt wird.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BG-23 | Umsatzsteueraufschlüsselung | cac:TaxTotal/cac:TaxSubtotal |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Das Mapping schreibt die Umsatzsteuersumme aus einem Kopffeld und baut die Aufschlüsselung je Kategorie nie auf.
- Die Aufschlüsselung wird nur erzeugt, wenn der Umsatzsteuerbetrag größer als null ist, sodass Dokumente zum Nullsatz, steuerbefreite Dokumente und Dokumente mit Umkehr der Steuerschuldnerschaft sie verlieren.
- Die Gruppierung nach Umsatzsteuerkategorie im Quellsystem liefert keine Zeilen, etwa weil den Positionen kein Steuerschlüssel zugeordnet ist, und die Schleife, die
cac:TaxSubtotalschreibt, gibt nichts aus. - Die Aufschlüsselung wird in ein
cac:TaxTotalunter jeder Position geschrieben statt in dascac:TaxTotalauf Dokumentenebene. Nur Aufschlüsselungen direkt unter dem Wurzelelement zählen.
So korrigieren Sie das Dokument
- Gruppieren Sie die Nettobeträge der Positionen, die Nachlässe auf Dokumentenebene und die Zuschläge auf Dokumentenebene nach Code der Umsatzsteuerkategorie und Satz.
- Schreiben Sie für jede Gruppe ein
cac:TaxSubtotalmitcbc:TaxableAmount,cbc:TaxAmountund einercac:TaxCategorymitcbc:ID,cbc:Percentundcac:TaxScheme/cbc:IDmit dem WertVAT. Einige Kategorien brauchen außerdem einen Befreiungsgrund. - Setzen Sie die Aufschlüsselungen in das
cac:TaxTotal, das die Umsatzsteuersumme in der Dokumentwährung trägt, und machen Sie dessencbc:TaxAmountzur Summe der Steuerbeträge der Aufschlüsselungen.BR-CO-14prüft das. - Verwenden Sie die Umsatzsteuerkategorien, die der Geschäftsvorfall tatsächlich hat. Fügen Sie keine Aufschlüsselung für eine Kategorie hinzu, die in den Positionen nicht vorkommt, nur um diese Regel zu erfüllen.
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: Der Steuerblock hat einen Betrag, aber keine Aufschlüsselung
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
</cac:TaxTotal>Ausschnitt der korrigierten Rechnung: eine Aufschlüsselung zum Normalsatz für die einzige Position über 25.00
<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>S</cbc:ID>
<cbc:Percent>20</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>Das korrigierte Dokument hat das cac:TaxSubtotal, das dem fehlerhaften fehlt; sonst unterscheidet sich nichts. Das fehlerhafte Dokument meldet außerdem BR-S-01, weil seine Position zum Normalsatz besteuert ist und keine Aufschlüsselung zum Normalsatz existiert, sowie zwei Peppol-Befunde zur Form der Steuerblöcke: PEPPOL-EN16931-R053, weil kein Steuerblock eine Aufschlüsselung trägt, und PEPPOL-EN16931-R054, weil ein Steuerblock ohne Aufschlüsselung vorhanden ist, obwohl keine Buchungswährung der Umsatzsteuer angegeben ist. Das Wiederherstellen der Aufschlüsselung behebt alle vier Befunde.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-CO-18, BR-S-01, PEPPOL-EN16931-R053 und PEPPOL-EN16931-R054. 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 gleichermaßen für UBL
InvoiceundCreditNote; eine Gutschrift, deren einzige Aufschlüsselung entfernt wurde, meldet dieselben vier Befunde. - Welche Kategorieregel diesen Befund begleitet, hängt von den Umsatzsteuerkategorien im Dokument ab. Das aufgezeichnete Beispiel ist zum Normalsatz besteuert und meldet
BR-S-01; eine steuerbefreite Rechnung meldet stattdessen die entsprechende Regel der Befreiungskategorie. BR-CO-14bleibt in dieser Situation stumm. Die Regel überspringt einen Steuerblock ohne Aufschlüsselung, daher wird die Umsatzsteuersumme erst dann mit einer Aufschlüsselung verglichen, wenn wieder eine vorhanden ist.- Ein leeres
cac:TaxSubtotal-Element umgeht die Regel nicht: Der XSD-Prüfschritt weist es zurück, und die späteren Prüfschritte werden übersprungen.
Verwandte Regeln
- BR-S-01 verlangt eine Aufschlüsselung zum Normalsatz, wenn Positionen, Nachlässe oder Zuschläge zum Normalsatz besteuert sind
- BR-CO-14 prüft die Umsatzsteuersumme gegen die Summe der Steuerbeträge der Aufschlüsselung
- BR-CO-17 prüft jeden Steuerbetrag der Aufschlüsselung gegen seinen Steuerbasisbetrag und Satz
- BR-S-08 prüft den Steuerbasisbetrag einer Aufschlüsselung zum Normalsatz gegen die Positionen, Nachlässe und Zuschläge
- 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-20.
Die offizielle Definition von BR-CO-18 (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.

