Auf dieser Seite
Die kurze Antwort
BR-G-08 schlägt fehl, wenn das cbc:TaxableAmount der G-Aufschlüsselung vom Netto-Ausfuhrinhalt abweicht: dem cbc:LineExtensionAmount jeder Position, deren Artikel G ist, plus Zuschlägen auf Wurzelebene in G, minus Nachlässen auf Wurzelebene in G. Die aufgezeichnete Aufschlüsselung nennt 25.00, nur die Position, und vergisst den Mengenrabatt von 2.50; richtig wären 22.50.
Weil auf einer Ausfuhr keine Steuer anfällt, lässt ein falscher Steuerbasisbetrag alle Umsatzsteuersummen unberührt, und diese Regel kann der einzige Befund sein, der ihn zeigt.
Was die Regel prüft
Für jede cac:TaxCategory mit cbc:ID gleich G unter dem Schema VAT im cac:TaxTotal der Wurzel vergleicht die Regel den Steuerbasisbetrag der Aufschlüsselung mit einer Summe über das ganze Dokument und meldet an dieser Kategorie.
Der Nachlass muss abgezogen werden, weder übergangen noch addiert. Im Versuch schlugen 25.00 und 27.50 gegenüber den erwarteten 22.50 beide fehl, und ein vergessener Frachtzuschlag scheiterte genauso, 25.00 gegenüber 29.00 im Beispiel mit Zuschlag.
Der Vergleich ist exakt. Im Versuch schlug 22.51 fehl, während 22.5 bestand, weil es dieselbe Zahl ist.
Nur Positionen sowie Nachlässe und Zuschläge auf Wurzelebene in G gehen in die Summe ein. Es entscheidet die Kategorie jedes Artikels oder Nachlasses; Sätze werden nicht gelesen.
Jede G-Aufschlüsselung wird mit der vollen Summe verglichen, daher bestehen hier zwei Kopien des richtigen Werts beide, und ein Duplikat bleibt BR-G-01 überlassen.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-116 | Kategoriespezifischer Steuerbasisbetrag | cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount |
| BT-131 | Nettobetrag der Rechnungsposition | cac:InvoiceLine/cbc:LineExtensionAmount (cac:CreditNoteLine/cbc:LineExtensionAmount in a credit note) |
| BT-99 | Betrag des Zuschlags auf Dokumentenebene | cac:AllowanceCharge[cbc:ChargeIndicator = true]/cbc:Amount |
| BT-92 | Betrag des Nachlasses auf Dokumentenebene | cac:AllowanceCharge[cbc:ChargeIndicator = false]/cbc:Amount |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Die Aufschlüsselung wird aus den Positionssummen gebildet, bevor Rabatte auf Dokumentenebene angewendet werden.
- Der Nachlass wird addiert statt abgezogen, weil sein Betrag als positive Zahl gespeichert ist.
- Ein Frachtzuschlag für die Ausfuhr wird in
Gberechnet, aber die Bildung der Aufschlüsselung liest nur Positionen. - Der Steuerbasisbetrag wird aus
cbc:LineExtensionAmountincac:LegalMonetaryTotalkopiert, das Nachlässe und Zuschläge auf Dokumentenebene nie enthält.
So korrigieren Sie das Dokument
- Addieren Sie das
cbc:LineExtensionAmountjeder Position, derencac:Item/cac:ClassifiedTaxCategory/cbc:IDGist, mit Vorzeichen. - Addieren Sie das
cbc:Amountdercac:AllowanceCharge-Elemente auf Wurzelebene inGmitcbc:ChargeIndicatorgleichtrue, und ziehen Sie die mitfalseab. - Schreiben Sie das Ergebnis mit zwei Dezimalstellen als
cbc:TaxableAmountdes einenG-cac:TaxSubtotalund lassen Sie seinen Steuerbetrag bei0.00. - Prüfen Sie, dass
cbc:TaxExclusiveAmountincac:LegalMonetaryTotaldazu passt. Im aufgezeichneten Beispiel ist es bereits 22.50, undBR-CO-13vergleicht es mit den Positionen, Nachlässen und Zuschlägen.
Das aufgezeichnete Beispiel hat eine Ausfuhrposition und einen Mengenrabatt auf Dokumentenebene, beide in der Kategorie G.
Nettobetrag der Ausfuhrposition: 25.00 Zuschläge auf Dokumentenebene in G: 0.00 Nachlass auf Dokumentenebene in G: - 2.50 Erwarteter Steuerbasisbetrag der Ausfuhr: 25.00 + 0.00 - 2.50 = 22.50 Gesendet: 25.00, ohne den Nachlass, daher schlägt die Regel 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: 25.00 Steuerbasisbetrag in G, obwohl der G-Rabatt von 2.50 den Ausfuhrinhalt auf 22.50 bringt
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<!-- reason code 95 and reason omitted from this fragment -->
<cbc:Amount currencyID="GBP">2.50</cbc:Amount>
<!-- tax category G at 0 omitted from this fragment -->
</cac:AllowanceCharge>
<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>G</cbc:ID>
<!-- rate 0, reason VATEX-EU-G, reason text and tax scheme omitted from this fragment -->
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<!-- export line in G: LineExtensionAmount 25.00 -->Ausschnitt der korrigierten Rechnung: 25.00 - 2.50 = 22.50
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">22.50</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>G</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReasonCode>VATEX-EU-G</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Export outside the EU</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>Nur das cbc:TaxableAmount der Ausfuhr unterscheidet sich: 25.00 in der fehlerhaften Rechnung, 22.50 in der korrigierten. Das fehlerhafte Dokument meldet nur BR-G-08. Sein cac:LegalMonetaryTotal zieht den Rabatt bereits ab, daher sind die Summenregeln erfüllt, und der Steuerbetrag der Aufschlüsselung ist in beiden 0.00.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-G-08. 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, in einer Gutschrift mit Summierung übercac:CreditNoteLine. Die fehlerhafte Rechnung als Gutschrift meldete im Versuch diese Regel an derselben Aufschlüsselung. - Steuerbefreite und innergemeinschaftliche Aufschlüsselungen haben dieselbe exakte Prüfung unter
BR-E-08undBR-IC-08. Die Regel für den Normalsatz,BR-S-08, gruppiert nach Satz und lässt eine Differenz unter 1.00 zu. - Die Aufschlüsselung für die Ausfuhr muss außerdem genau einmal vorhanden sein (
BR-G-01), keine Steuer tragen (BR-G-09) und ihren Grund angeben (BR-G-10).
Verwandte Regeln
- BR-G-01 stellt sicher, dass es eine Aufschlüsselung für die Ausfuhr gibt, die diese Regel prüfen kann
- BR-G-09 verlangt, dass der Steuerbetrag derselben Aufschlüsselung für die Ausfuhr null ist
- BR-E-08 ist dieselbe exakte Prüfung für den Steuerbasisbetrag steuerbefreiter Umsätze
- BR-CO-13 prüft den Gesamtbetrag ohne Umsatzsteuer, der aus denselben Positionen, Nachlässen und Zuschlägen gebildet wird
- 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-28.1: Quelle geprüft am 2026-09-28, Erklärung zuletzt aktualisiert am 2026-09-28.
Die offizielle Definition von BR-G-08 (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.

