Auf dieser Seite
Die kurze Antwort
BR-O-13 schlägt fehl, wenn das Dokument eine Umsatzsteueraufschlüsselung für O und einen Nachlass hat, also ein cac:AllowanceCharge mit cbc:ChargeIndicator false, dessen cac:TaxCategory im Schema VAT in einer anderen Kategorie steht. In der aufgezeichneten Rechnung ist der Loyalty discount über 5.00 als S mit 20 kodiert, während Position und Aufschlüsselung in O stehen. Setzen Sie den Nachlass zurück auf O, ohne Satz, und ziehen Sie ihn im Steuerbasisbetrag für O ab.
Ein Rabatt übernimmt die umsatzsteuerliche Behandlung dessen, was er mindert. Auf einer Rechnung, auf der alles nicht steuerbar ist, würde ein Rabatt zum Normalsatz Umsatzsteuer mindern, die nie berechnet wurde.
Was die Regel prüft
Nachdem sie eine Aufschlüsselung für O gefunden hat, zählt die Regel cac:TaxCategory-Elemente im Schema VAT mit einer anderen cbc:ID als O innerhalb von Nachlässen, wo immer diese Nachlässe stehen, und verlangt, dass die Zahl null ist. BR-O-11 sieht diesen Fall nicht, weil keine zweite Aufschlüsselung existiert.
Die Suche reicht unter die Wurzel. Im Versuch meldete ein Nachlass über 0.00 innerhalb der Position in O, mit einer cac:TaxCategory S mit 20, diese Regel mit BR-S-01, BR-S-03 und der Warnung UBL-CR-558, die von einer Steuerkategorie in einem Positionsnachlass abrät.
Jede andere Kategorie wird erfasst. Mit dem Rabatt stattdessen als E mit 0 kodiert lauteten die Befunde diese Regel, BR-E-01 und BR-E-03; als Z mit 0 diese Regel, BR-Z-01 und BR-Z-03.
Dem Rabatt zum Normalsatz eine eigene Aufschlüsselung zu geben ändert nur die Gesellschaft, in der diese Regel auftritt: Im Versuch ersetzte eine Aufschlüsselung für S über -5.00 den Befund BR-S-01 durch BR-O-11, und diese Regel sowie BR-S-03 blieben.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BG-20 | Nachlässe auf Dokumentenebene | cac:AllowanceCharge[cbc:ChargeIndicator = false] |
| BT-95 | Code der Umsatzsteuerkategorie des Nachlasses auf Dokumentenebene | cac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:ID |
| BT-118 | Code der Umsatzsteuerkategorie | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Rabatte werden aus einer Vorlage mit dem Normalsatz erzeugt, gleich welche Kategorie die Rechnung hat, der sie hinzugefügt werden.
- Der Rabatt übernimmt seine Kategorie aus dem Standardsteuercode des Verkäufers statt aus den Positionen, die er mindert.
- Eine Aktionslogik außerhalb des Rechnungssystems fügt den Nachlass mit ihren eigenen Steuereinstellungen hinzu.
So korrigieren Sie das Dokument
- Ermitteln Sie, welche Positionen der Nachlass mindert. Stehen sie alle in
O, gehört auch der Nachlass inO. - Ändern Sie die
cac:TaxCategory/cbc:IDdes Nachlasses aufOund löschen Sie seincbc:Percent, wieBR-O-06es verlangt. - Ziehen Sie den Nachlass in der Aufschlüsselung für
Oab: Im aufgezeichneten Beispiel geht der Steuerbasisbetrag fürOvon 25.00 auf 20.00, im Einklang mit den Summen, die den Rabatt bereits abziehen. - Bezieht sich der Nachlass tatsächlich auf steuerpflichtige Leistungen, gehören diese Leistungen und der Nachlass auf eine eigene Rechnung mit eigener Aufschlüsselung.
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 Treuerabatt zum Normalsatz auf einem Dokument, dessen einzige Aufschlüsselung O ist
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Loyalty discount</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>
<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>O</cbc:ID>
<!-- reason code and text omitted from this fragment -->
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>Ausschnitt der korrigierten Rechnung: Der Rabatt steht in O und wird in der Aufschlüsselung für O abgezogen
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Loyalty discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">5.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>O</cbc:ID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">20.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>O</cbc:ID>
<!-- reason code and text omitted from this fragment -->
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>In der fehlerhaften Rechnung hat der Loyalty discount die cbc:ID S und das cbc:Percent 20, und der Steuerbasisbetrag für O ist 25.00, die Position ohne den Rabatt; die korrigierte Rechnung kodiert den Rabatt als O ohne Satz und zieht ihn ab, was 20.00 ergibt. Die fehlerhafte Aufschlüsselung wurde auf 25.00 gesetzt, damit sie zu ihrem eigenen Inhalt in O passt und BR-O-08 still bleibt; mit dem allein umkodierten Rabatt kam diese Regel im Versuch zu den Befunden hinzu. Das fehlerhafte Dokument meldet außerdem BR-S-01, da der Nachlass zum Normalsatz keine Aufschlüsselung zum Normalsatz hat, und BR-S-03, da ein Nachlass zum Normalsatz eine Umsatzsteuer-Identifikationsnummer des Verkäufers, eine Steuernummer oder einen Steuervertreter braucht.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-O-13, BR-S-01 und BR-S-03. 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 Gutschriftfassung der fehlerhaften Rechnung meldete im Versuch dieselben drei Befunde. - Positionen und Zuschläge haben die passenden Regeln
BR-O-12undBR-O-14. Nur eine Aufschlüsselung fürOschaltet die drei ein; ein Nachlass inOauf einem Dokument ohne Aufschlüsselung fürOist eine Sache fürBR-O-01.
Verwandte Regeln
- BR-O-14 ist dieselbe Beschränkung für Zuschläge auf Dokumentenebene
- BR-O-12 ist dieselbe Beschränkung für Rechnungspositionen
- BR-S-03 wird hier gemeldet, weil ein Nachlass zum Normalsatz eine Kennung des Verkäufers für Umsatzsteuer oder Steuer braucht
- BR-O-06 greift, sobald der Nachlass wieder in der Kategorie O steht, und verbietet seinen Satz
- 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-O-13 (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.

