Auf dieser Seite
Die kurze Antwort
BR-S-06 schlägt für jeden Nachlass fehl, dessen cac:TaxCategory die cbc:ID S im Schema VAT und ein cbc:Percent hat, das fehlt, null oder negativ ist. Geben Sie ihm den Normalsatz der Leistungen, die der Nachlass mindert: Der Treuerabatt im aufgezeichneten Beispiel wird von einer Position mit 20 abgezogen, also ist sein Satz 20.
Ein Rabatt trägt den Umsatzsteuersatz dessen, was er rabattiert. Wer 0 schreibt, weil ein Nachlass selbst kein Verkauf ist, lässt Kategorie und Satz einander widersprechen und nimmt den Nachlass aus dem Steuerbasisbetrag zum Normalsatz heraus.
Was die Regel prüft
Geprüft wird jede cac:TaxCategory mit S im Schema VAT innerhalb eines cac:AllowanceCharge mit cbc:ChargeIndicator gleich false, und ein Fehler wird an dieser Kategorie gemeldet. Ein Nachlass innerhalb einer Rechnungsposition zählt ebenfalls: Im Versuch meldete einer mit eigener Kategorie S und Satz 0 diese Regel am cac:AllowanceCharge der Position, mit der Warnung UBL-CR-558.
Der Satz besteht nur als Zahl über null. Im Versuch mit der Rechnung mit Treuerabatt meldeten -20 und ein weggelassenes cbc:Percent jeweils diese Regel, beide Male zusammen mit BR-S-08.
Jeder positive Wert besteht, ob richtig oder falsch. Im Versuch kam der Rabatt mit 5 neben einer Position und einer Aufschlüsselung mit 20 an dieser Regel vorbei, und nur BR-S-08 widersprach, weil der Rabatt nicht mehr zum Satz 20 zählte.
Zuschläge und Positionen prüfen eigene Regeln: Ein Zuschlag auf Dokumentenebene zum Normalsatz mit 0 ist BR-S-07, eine Position zum Normalsatz mit 0 ist BR-S-05.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-95 | Code der Umsatzsteuerkategorie des Nachlasses auf Dokumentenebene | cac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:ID |
| BT-96 | Umsatzsteuersatz des Nachlasses auf Dokumentenebene | cac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:Percent |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Der Export behandelt Nachlässe so, als hätten sie keine eigene Umsatzsteuer, und schreibt für jeden Rabatt den Satz 0, behält aber die Kategorie der Positionen bei.
- Der Satz wird aus einem Feld gelesen, das nur Artikel haben, sodass ein Rabatt auf Kopfebene nichts zu lesen hat und der Serialisierer
0schreibt odercbc:Percentauslässt. - Ein Minuszeichen, das für den Betrag gedacht ist, wird auch auf den Satz angewendet und ergibt
-20. - Der Rabatt betrifft in Wahrheit Leistungen einer anderen Kategorie, doch der Nachlass blieb in Kategorie
Smit Satz 0, statt verschoben zu werden.
So korrigieren Sie das Dokument
- Ermitteln Sie die Leistungen, die der Nachlass mindert, und den Normalsatz, den sie tragen: im aufgezeichneten Beispiel die einzige Position mit 20.
- Schreiben Sie diesen Satz in
cbc:Percentdercac:TaxCategorydes Nachlasses und behalten Siecbc:IDgleichSund das SteuerschemaVATbei. - Erstreckt sich der Rabatt über mehrere Sätze, teilen Sie ihn in einen Nachlass pro Satz auf, jeden mit seinem Anteil am Betrag.
- Sind die rabattierten Leistungen nicht zum Normalsatz, geben Sie dem Nachlass deren Kategorie und Satz, etwa
Zmit 0, und verschieben Sie den Betrag in diese Aufschlüsselung. - Berechnen Sie die Aufschlüsselung zum Normalsatz für diesen Satz neu: Der Steuerbasisbetrag muss den Nachlass abziehen, was
BR-S-08prüft, und der Steuerbetrag folgt daraus.
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: der Treuerabatt zum Normalsatz mit 0, neben einer Aufschlüsselung mit 20, die ihn abzieht
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>100</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Loyalty rebate</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">5.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">20.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">4.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>20</cbc:Percent>
<!-- tax scheme omitted from this fragment -->
</cac:TaxCategory>
</cac:TaxSubtotal>Ausschnitt der korrigierten Rechnung: der Rabatt trägt den Satz der Position, die er mindert
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>100</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Loyalty rebate</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">5.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>20</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>Nur das cbc:Percent des Treuerabatts unterscheidet sich: 0 in der fehlerhaften Rechnung, 20 in der korrigierten. Das fehlerhafte Dokument meldet außerdem BR-S-08 an der Aufschlüsselung mit 20: Mit dem Rabatt zu einem anderen Satz besteht der Inhalt zum Normalsatz mit 20 nur aus der Position über 25.00, während die Aufschlüsselung 20.00 angibt, eine Lücke von 5.00. Mit dem wiederhergestellten Satz fließt der Rabatt wieder in diese Summe ein, und beide Befunde verschwinden.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-S-06 und BR-S-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. Die Gutschriftsform des aufgezeichneten Beispiels meldete im VersuchBR-S-06undBR-S-08. - Wird vom Prüfschritt EN 16931 als fataler Befund an der
cac:TaxCategorydes Nachlasses gemeldet, einmal pro fehlerhaftem Nachlass. - Ein Nachlass ganz ohne
cac:TaxCategoryscheitert stattdessen anBR-32; diese Regel sieht nur Nachlässe, die bereitsSangeben. - Nachlässe zum Nullsatz brauchen das Gegenteil, einen Satz von genau 0, nach
BR-Z-06.
Verwandte Regeln
- BR-S-08 zieht den Nachlass vom Steuerbasisbetrag seines Satzes ab und schlug im aufgezeichneten Beispiel zusammen mit dieser Regel fehl
- BR-S-07 stellt dieselbe Forderung an Zuschläge auf Dokumentenebene zum Normalsatz
- BR-32 verlangt zuerst für jeden Nachlass auf Dokumentenebene eine Umsatzsteuerkategorie
- BR-Z-06 verlangt für einen Nachlass zum Nullsatz einen Satz von genau 0
- 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-S-06 (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.

