Auf dieser Seite
Die kurze Antwort
BR-E-09 schlägt fehl, wenn das cbc:TaxAmount eines cac:TaxSubtotal in Kategorie E etwas anderes als null ist. Setzen Sie es auf 0.00 und ziehen Sie denselben Betrag dann von cac:TaxTotal/cbc:TaxAmount, cbc:TaxInclusiveAmount und cbc:PayableAmount ab.
Ist auf diese Umsätze tatsächlich Umsatzsteuer geschuldet, sind sie nicht steuerbefreit, und zu korrigieren ist die Kategorie an den Positionen und in der Aufschlüsselung.
Was die Regel prüft
Die Regel liest das cbc:TaxAmount neben jeder cac:TaxCategory mit cbc:ID gleich E unter dem Schema VAT im cac:TaxTotal der Wurzel und verlangt, dass es als Zahl null ist; 0 und 0.00 bestehen also beide.
Es gilt keine Rundung und keine Toleranz. Im Versuch schlug ein Steuerbetrag von 0.40 in der steuerbefreiten Aufschlüsselung, mit entsprechend angepassten Summen, bei dieser Regel und sonst nirgends fehl: BR-CO-17 ließ ihn durch, weil diese Regel bei einem Satz von 0 nur einen Betrag verlangt, der auf eine ganze Zahl gerundet null ergibt.
Die Umsatzsteuersumme des Dokuments ist nicht Teil dieser Prüfung. Im Versuch meldeten 5.00 in der steuerbefreiten Aufschlüsselung bei einer auf 0.00 belassenen Umsatzsteuersumme zusätzlich zu dieser Regel und BR-CO-17 auch BR-CO-14.
| 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:
- Der Steuerbetrag der Aufschlüsselung wird für jede Kategorie mit einem Standardsatz berechnet statt mit dem eigenen Satz der Kategorie.
- Der Artikel wurde im Quellsystem besteuert und später als steuerbefreit umklassifiziert, aber der gespeicherte Steuerbetrag blieb erhalten.
- Die Umsatzsteuer der ganzen Rechnung wird einmal berechnet und im Verhältnis der Steuerbasisbeträge auf die Aufschlüsselungen verteilt.
- Eine Rundungsdifferenz aus den anderen Aufschlüsselungen wird in die zuletzt geschriebene Aufschlüsselung verschoben, und das ist die steuerbefreite.
So korrigieren Sie das Dokument
- Bestätigen Sie anhand Ihrer Steuerermittlung, dass die Umsätze in der steuerbefreiten Aufschlüsselung steuerbefreit sind. Wenn ja, ist ihr Steuerbetrag in der Aufschlüsselung
0.00. - Setzen Sie
cbc:TaxAmountim steuerbefreitencac:TaxSubtotalauf0.00. - Berechnen Sie
cac:TaxTotal/cbc:TaxAmountals Summe der Steuerbeträge der Aufschlüsselungen neu, dann darauscbc:TaxInclusiveAmountundcbc:PayableAmount. Im aufgezeichneten Beispiel sinkt jeder der drei Werte um 5.00. - Ist tatsächlich Umsatzsteuer geschuldet, geben Sie den Positionen die zutreffende Kategorie, etwa
Smit ihrem Satz, und bauen Sie stattdessen diese Aufschlüsselung auf. Das ist eine steuerliche Entscheidung, die an der Quelle zu treffen ist, keine Änderung, die allein im XML vorzunehmen ist.
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: 5.00 Umsatzsteuer in der steuerbefreiten Aufschlüsselung, in die Summen übernommen
<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>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>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="GBP">25.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="GBP">30.00</cbc:TaxInclusiveAmount>
<!-- allowance, charge, prepaid and rounding amounts omitted from this fragment -->
<cbc:PayableAmount currencyID="GBP">30.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>Ausschnitt der korrigierten Rechnung: keine Umsatzsteuer in der steuerbefreiten Aufschlüsselung und Summen ohne sie
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<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>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="GBP">25.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="GBP">25.00</cbc:TaxInclusiveAmount>
<!-- allowance, charge, prepaid and rounding amounts omitted from this fragment -->
<cbc:PayableAmount currencyID="GBP">25.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>Die fehlerhafte Rechnung berechnet 5.00 Umsatzsteuer in der steuerbefreiten Aufschlüsselung und führt sie weiter zu einer Umsatzsteuersumme von 5.00, einer Summe einschließlich Umsatzsteuer von 30.00 und einem fälligen Betrag von 30.00; die korrigierte Rechnung hat 0.00, 25.00 und 25.00. Das fehlerhafte Dokument meldet außerdem BR-CO-17: Bei einem Satz von 0 muss der Steuerbetrag der Aufschlüsselung gerundet null ergeben, und 5.00 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-E-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 steuerbefreite Gutschrift mit 5.00 Steuer in ihrer Aufschlüsselung meldete im Versuch diese Regel undBR-CO-17. - Wird vom Prüfschritt EN 16931 als Befund der Schwere fatal an der
cac:TaxCategoryder steuerbefreiten Aufschlüsselung gemeldet. - Aufschlüsselungen für Reverse-Charge haben dieselbe Anforderung nach
BR-AE-09, Aufschlüsselungen zum Nullsatz nachBR-Z-09.
Verwandte Regeln
- BR-CO-17 wird neben dieser Regel gemeldet, wenn der steuerbefreite Steuerbetrag gerundet nicht null ergibt
- BR-AE-09 verlangt ebenso einen Steuerbetrag von null in einer Reverse-Charge-Aufschlüsselung
- BR-CO-14 schlägt ebenfalls an, wenn der Steuerbetrag der Aufschlüsselung und die Umsatzsteuersumme nicht gemeinsam geändert werden
- BR-E-10 verlangt den Befreiungsgrund in derselben steuerbefreiten Aufschlüsselung
- 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-E-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.

