Auf dieser Seite
Die kurze Antwort
BR-IC-08 schlägt fehl, wenn das cbc:TaxableAmount der Aufschlüsselung K vom innergemeinschaftlichen Inhalt des Dokuments abweicht: Nettobeträge der Positionen K, plus Zuschläge K auf Wurzelebene, minus Nachlässe K auf Wurzelebene. Das aufgezeichnete Beispiel sendet 25.00, nur die Position, und lässt den Frachtzuschlag von 6.00 in K weg; richtig sind 31.00.
Bauen Sie die Aufschlüsselung aus denselben Nachlässen und Zuschlägen neu auf, die bereits in den Gesamtbetrag ohne Umsatzsteuer eingehen, der im Beispiel ebenfalls 31.00 beträgt.
Was die Regel prüft
Für jede cac:TaxCategory mit der cbc:ID K und dem Schema VAT im cac:TaxTotal der Wurzel vergleicht die Regel deren cac:TaxSubtotal/cbc:TaxableAmount mit einer Summe über das ganze Dokument und meldet an dieser Steuerkategorie.
Positionen zählen, wenn die Kategorie ihres Artikels K ist, und Elemente cac:AllowanceCharge auf Wurzelebene, wenn ihre cac:TaxCategory K ist; ihre Sätze spielen keine Rolle. Die Fracht zu 19 etwa zählte im Versuch weiterhin zu den 31.00, und nur BR-IC-07 beanstandete sie.
Die Übereinstimmung muss exakt sein. Im Versuch scheiterten 31.01, wo die Regel für den Normalsatz BR-S-08 eine Differenz unter 1.00 durchließe.
Die Gesamtbeträge gehören nicht zum Vergleich. Die fehlerhafte Rechnung behält einen Gesamtbetrag ohne Umsatzsteuer von 31.00, der nach BR-CO-13 stimmt, und dazu wird nichts gemeldet.
Mehrere Aufschlüsselungen K werden jeweils an der vollen Summe gemessen. Im Versuch scheiterten eine Aufschlüsselung über 25.00 für die Position und eine weitere über 6.00 für die Fracht beide an dieser Regel, und BR-IC-01 beanstandete, dass es zwei waren.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-116 | Kategoriespezifischer Steuerbasisbetrag | cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount |
| BT-118 | Code der Umsatzsteuerkategorie | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
| 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 nur aus den Positionen gebildet, und Fracht oder Verpackung auf Dokumentenebene erreichen sie nie, wie im aufgezeichneten Beispiel.
- Der Zuschlag ist mit
Kkodiert, wird aber einer anderen Aufschlüsselung zugeordnet, weil die Gruppierung das Steuerkennzeichen des Zuschlags statt seiner Kategorie verwendet. - Ein innergemeinschaftlicher Rabatt wird vom Gesamtbetrag ohne Umsatzsteuer abgezogen, aber nicht von der Aufschlüsselung
K. - Der Steuerbasisbetrag stammt aus dem Auftrag, und bei der Fakturierung hinzugefügte Gebühren fehlen.
So korrigieren Sie das Dokument
- Summieren Sie
cbc:LineExtensionAmountjeder Position, derencac:Item/cac:ClassifiedTaxCategory/cbc:IDKist. - Addieren Sie die Beträge der Zuschläge auf Wurzelebene in Kategorie
Kund ziehen Sie die Beträge der Nachlässe auf Wurzelebene in KategorieKab. Nachlässe und Zuschläge auf Positionsebene sind bereits in den Positionsbeträgen enthalten. - Schreiben Sie das Ergebnis in das
cbc:TaxableAmountdes einzigencac:TaxSubtotalmitK: 25.00 + 6.00 = 31.00 im aufgezeichneten Beispiel. Der Steuerbetrag bleibt 0.00. - Bauen Sie jede Aufschlüsselung aus derselben Liste von Positionen, Nachlässen und Zuschlägen auf, aus der
cbc:TaxExclusiveAmountentsteht, damit beide nicht auseinanderlaufen.
Das aufgezeichnete Beispiel hat eine innergemeinschaftliche Position und einen Frachtzuschlag in K, aber keinen Nachlass.
Nettobetrag der innergemeinschaftlichen Position: 25.00 Frachtzuschlag in K: + 6.00 Nachlässe in K: keine Erwarteter Steuerbasisbetrag: 25.00 + 6.00 = 31.00 Gesendet: 25.00, ohne die Fracht, 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: ein Frachtzuschlag von 6.00 in K und ein Steuerbasisbetrag K von 25.00
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Freight to Berlin</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">6.00</cbc:Amount>
<!-- tax category K 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>K</cbc:ID>
<!-- rate 0, VATEX-EU-IC, reason text and tax scheme VAT omitted from this fragment -->
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="GBP">31.00</cbc:TaxExclusiveAmount>
<!-- other totals omitted from this fragment -->
</cac:LegalMonetaryTotal>Ausschnitt der korrigierten Rechnung: 25.00 + 6.00 = 31.00 in der Aufschlüsselung K
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">31.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>K</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReasonCode>VATEX-EU-IC</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Intra-community supply</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>Der Steuerbasisbetrag K beträgt 25.00 in der fehlerhaften Rechnung und 31.00 in der korrigierten; Frachtzuschlag, Position und Gesamtbeträge sind in beiden identisch. Das fehlerhafte Dokument meldet nur BR-IC-08.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-IC-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, wobei in einer Gutschrift die Beträge dercac:CreditNoteLinesummiert werden. Die fehlerhafte Rechnung, in eine Gutschrift umgewandelt, meldete im Versuch denselben Befund. - Wird im Prüfschritt EN 16931 an jeder Aufschlüsselung
Kgemeldet, deren Steuerbasisbetrag abweicht. - Der Steuerbetrag
Kdaneben muss nachBR-IC-090 sein, und nachBR-IC-01ist nur eine AufschlüsselungKerlaubt.
Verwandte Regeln
- BR-IC-01 erlaubt nur eine Aufschlüsselung K, daher gehört die gesamte Summe K in einen einzigen Steuerbasisbetrag
- BR-AE-08 ist dieselbe Summe für die Reverse-Charge-Aufschlüsselung
- BR-S-08 ist die Fassung für den Normalsatz, die nach Satz gruppiert und eine Toleranz hat
- BR-CO-13 prüft den Gesamtbetrag ohne Umsatzsteuer, gebildet aus denselben Positionen, Nachlässen und Zuschlägen
- 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-IC-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.

