Auf dieser Seite
Die kurze Antwort
BR-S-10 schlägt fehl, wenn die cac:TaxCategory einer Umsatzsteueraufschlüsselung mit Kategorie S ein cbc:TaxExemptionReason oder cbc:TaxExemptionReasonCode enthält. Löschen Sie diese: Eine Aufschlüsselung zum Normalsatz ist mit ihrer Kategorie, ihrem Satz und dem Steuerschema VAT vollständig.
Wurde der Grund hinzugefügt, weil ein Teil der Rechnung tatsächlich steuerbefreit oder nicht besteuert ist, braucht dieser Teil eine eigene Kategorie und eine eigene Aufschlüsselung, und der Grund gehört dorthin.
Was die Regel prüft
Die Regel prüft jede cac:TaxCategory mit cbc:ID gleich S im Schema VAT innerhalb eines cac:TaxSubtotal des cac:TaxTotal an der Dokumentwurzel. Sie schlägt fehl, wenn eines der beiden Begründungselemente ein Kind dieser Kategorie ist.
Text oder Code allein genügen, damit sie fehlschlägt. Im Versuch meldete ein einzelnes cbc:TaxExemptionReasonCode mit VATEX-EU-132 in der Aufschlüsselung zum Normalsatz diese Regel.
Was der Grund aussagt, spielt keine Rolle, nur dass das Element existiert. Ein leeres cbc:TaxExemptionReason in einer Aufschlüsselung zum Normalsatz wurde hier trotzdem gemeldet und zusätzlich von PEPPOL-EN16931-R008 als leeres Element.
Kategorien von Positionen und Nachlässen liegen außerhalb dieser Regel. Im Versuch erzeugte ein Grund in der cac:ClassifiedTaxCategory einer Position zum Normalsatz nur die Warnung UBL-CR-601 und einer in der cac:TaxCategory eines Nachlasses auf Dokumentenebene nur die Warnung UBL-CR-481; beide Dokumente blieben gültig. Diese Elemente lässt man trotzdem besser weg.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-118 | Code der Umsatzsteuerkategorie | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
| BT-120 | Grund der Umsatzsteuerbefreiung | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReason |
| BT-121 | Code für den Grund der Umsatzsteuerbefreiung | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Das Mapping kopiert die Beschreibung des Steuercodes, etwa
Standard rate, für jede Aufschlüsselung incbc:TaxExemptionReason, statt nur für die Kategorien, die einen Grund brauchen. - Jeder Steuercode im Quellsystem hat ein ausgefülltes Begründungsfeld, und der Export schreibt das Feld, sobald es nicht leer ist.
- Eine einzige Aufschlüsselungsvorlage dient allen Kategorien und erzeugt immer die Begründungselemente.
- Steuerbefreite oder nicht steuerbare Inhalte wurden in die Aufschlüsselung zum Normalsatz übernommen, und ihr Grund kam mit.
So korrigieren Sie das Dokument
- Entfernen Sie
cbc:TaxExemptionReasonundcbc:TaxExemptionReasonCodeaus dercac:TaxCategoryjeder Aufschlüsselung, derencbc:IDSist. - Ändern Sie das Mapping so, dass Begründungselemente nur für Kategorien erzeugt werden, die sie verlangen, etwa
EundAE, und nie fürSoderZ. - Beschrieb der Grund eine echte Befreiung, korrigieren Sie auch die Positionen: Steuerbefreite Artikel brauchen die Kategorie
Eauf der Position und eine eigene Aufschlüsselung inEmit dem Grund, und die Aufschlüsselung zum Normalsatz deckt dann nur den Inhalt zum Normalsatz ab.
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: Begründungstext in der Steuerkategorie zum Normalsatz
<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>
<cbc:TaxExemptionReason>Standard rate</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>Ausschnitt der korrigierten Rechnung: nur Kategorie, Satz und Steuerschema
<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 fehlerhafte Rechnung hat cbc:TaxExemptionReason mit dem Text Standard rate in ihrer Steuerkategorie zum Normalsatz, und die korrigierte Rechnung hat dort kein Begründungselement; sonst unterscheidet sich nichts. Das fehlerhafte Dokument meldet nur BR-S-10, weil seine Kategorien und Beträge ansonsten stimmig sind.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-S-10. 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 mit demselben Text in ihrer Aufschlüsselung zum Normalsatz meldete im Versuch diese Regel. - Wird vom Prüfschritt EN 16931 als fataler Befund an der
cac:TaxCategoryder Aufschlüsselung gemeldet, einmal für jede Aufschlüsselung zum Normalsatz, die einen Grund trägt. BR-Z-10wendet dasselbe Verbot auf Aufschlüsselungen zum Nullsatz an. Steuerbefreite Aufschlüsselungen und solche mit Reverse-Charge brauchen das Gegenteil, einen Grund, nachBR-E-10undBR-AE-10.
Verwandte Regeln
- BR-Z-10 verbietet Befreiungsgründe in Aufschlüsselungen zum Nullsatz auf dieselbe Weise
- BR-E-10 verlangt den Grund in einer steuerbefreiten Aufschlüsselung, dort, wo eine echte Befreiung hingehört
- PEPPOL-EN16931-R008 wird ebenfalls gemeldet, wenn das Begründungselement vorhanden, aber leer ist
- 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-S-10 (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.

