Auf dieser Seite
Die kurze Antwort
BR-CL-22 schlägt fehl, wenn ein cbc:TaxExemptionReasonCode einen Wert enthält, der nicht in der VATEX-Codeliste steht, und der Befund zeigt auf dieses Element. Ersetzen Sie den Wert durch den VATEX-Code für die tatsächliche Rechtsgrundlage der Befreiung, oder entfernen Sie den Code und geben Sie den Grund in cbc:TaxExemptionReason an, wenn kein Code passt.
Das aufgezeichnete Beispiel verwendet VATEX-EU-EXEMPT, das dem Muster echter Codes folgt, aber nicht existiert.
Was die Regel prüft
Die Regel läuft auf jedem cbc:TaxExemptionReasonCode im Dokument und sucht seinen Wert in der VATEX-Liste, die der Validator mitführt: die Codes für EU-Artikel wie VATEX-EU-132 und VATEX-EU-143-1A, die Kategoriecodes VATEX-EU-AE, VATEX-EU-IC, VATEX-EU-G und VATEX-EU-O, die Codes für die Differenzbesteuerung VATEX-EU-D, VATEX-EU-F, VATEX-EU-I und VATEX-EU-J sowie eine Reihe französischer Codes mit VATEX-FR-.
Der Wert wird vor dem Nachschlagen gekürzt und in Großbuchstaben umgewandelt, daher bestand vatex-eu-132 im Versuch. Ein Leerzeichen im Wert oder ein fehlendes Präfix schlägt fehl: VATEX EU 132 und 132 wurden beide abgelehnt.
Ein leeres Element schlägt an dieser Regel fehl, und im Versuch brachte es zusätzlich PEPPOL-EN16931-R008 mit sich.
Ein Code, der hier fehlschlägt, zählt für BR-E-10 trotzdem als Befreiungsgrund. Im Versuch meldete VATEX-EU-EXEMPT allein, ohne Text als Grund, diese Regel und sonst nichts.
Geprüft wird nur die Zugehörigkeit zur Liste. Ob ein gelisteter Code zur Kategorie passt, ist Sache von Peppol und wird von PEPPOL-EN16931-P0106 und den verwandten Regeln behandelt.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-121 | Code für den Grund der Umsatzsteuerbefreiung | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode |
| BT-120 | Grund der Umsatzsteuerbefreiung | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReason |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Der Code wird nach einem Muster zusammengesetzt,
VATEX-EU-plus eine Bezeichnung, statt aus der Liste gewählt zu werden. - Ein interner Befreiungscode oder ein nationaler Rechtsverweis wird in das Code-Element geschrieben, wo nur VATEX-Codes akzeptiert werden.
- Die Nummer des Rechtsartikels wird ohne das Präfix
VATEX-EU-geschrieben.
So korrigieren Sie das Dokument
- Ermitteln Sie die Rechtsgrundlage der Befreiung aus Ihrer Steuerermittlung.
- Schlagen Sie den VATEX-Code für diese Grundlage nach, zum Beispiel
VATEX-EU-132für eine Befreiung nach Artikel 132 der Mehrwertsteuerrichtlinie, und schreiben Sie ihn genau wie gelistet. - Passt kein Code, lassen Sie
cbc:TaxExemptionReasonCodeweg und geben Sie die Grundlage incbc:TaxExemptionReasonan. Eine steuerbefreite Aufschlüsselung braucht nachBR-E-10das eine oder das andere. - Wenn Sie beides senden, setzen Sie den Code vor den Text. Im Versuch schlug der Code nach dem Text am XSD-Prüfschritt fehl.
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 steuerbefreite Aufschlüsselung trägt einen Befreiungscode, der nicht in der VATEX-Liste steht
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReasonCode>VATEX-EU-EXEMPT</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Exempt from VAT</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>Ausschnitt der korrigierten Rechnung: Der ungültige Code ist entfernt, der Text des Grundes bleibt
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReason>Exempt from VAT</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>Die fehlerhafte Rechnung hat <cbc:TaxExemptionReasonCode>VATEX-EU-EXEMPT</cbc:TaxExemptionReasonCode> vor ihrem Text des Grundes; die korrigierte hat nur den Text. Das fehlerhafte Dokument meldet nur BR-CL-22: Der Text hält BR-E-10 erfüllt, und keine andere Regel liest einen unbekannten Code. Die gezeigte Korrektur entfernt den Code, doch ein echter VATEX-Code an derselben Stelle, etwa VATEX-EU-132, bestand im Versuch ebenfalls alle Prüfschritte. Der Text Exempt from VAT ist eine allgemeine Beispielformulierung; eine echte Rechnung sollte die tatsächliche Grundlage nennen.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-CL-22. 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 steuerbefreite Gutschrift mitVATEX-EU-EXEMPTmeldete im Versuch allein diese Regel. - Gemeldet vom Prüfschritt EN 16931. Der Peppol-Prüfschritt prüft dann, dass die kategoriespezifischen Codes mit ihren Kategorien verwendet werden.
- Aufschlüsselungen zum Normalsatz und zum Nullsatz dürfen überhaupt keinen Befreiungsgrund tragen, gültig oder nicht;
BR-S-10undBR-Z-10lehnen dort einen ab.
Verwandte Regeln
- BR-E-10 verlangt einen Code oder Text für den Befreiungsgrund in einer steuerbefreiten Aufschlüsselung
- PEPPOL-EN16931-P0106 beschränkt den gelisteten Code VATEX-EU-IC auf Aufschlüsselungen für innergemeinschaftliche Lieferungen
- BR-S-10 verbietet jeden Befreiungsgrund in einer Aufschlüsselung zum Normalsatz
- BR-IC-10 verlangt einen Befreiungsgrund in Aufschlüsselungen für innergemeinschaftliche Lieferungen
- 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-CL-22 (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.

