Auf dieser Seite
Die kurze Antwort
UBL-SR-48 schlägt für jede Position fehl, deren cac:Item nicht genau ein cac:ClassifiedTaxCategory enthält. Im aufgezeichneten Beispiel trägt der Artikel dieselbe Kategorie für den Normalsatz zweimal. Entfernen Sie den überzähligen Block, sodass eine Kategorie mit Code, Satz und dem Steuerschema VAT übrig bleibt.
Eine Position ganz ohne Kategorie scheitert ebenfalls an dieser Regel, neben BR-CO-04. Die Korrektur ist dann die umgekehrte: Ergänzen Sie die Kategorie, in der die Position besteuert wurde.
Was die Regel prüft
Die Regel läuft für jede cac:InvoiceLine und cac:CreditNoteLine und zählt die Kinder cac:ClassifiedTaxCategory ihres Artikels. Die Anzahl muss genau 1 sein, und der Befund ist an der Position verortet.
Jede Kategorie wird gezählt, gleich was sie aussagt. Im Versuch meldeten eine zweite Kategorie, die der ersten glich, eine zweite zum Normalsatz mit 5 Prozent und eine unter einem anderen Steuerschema als VAT jeweils diese Regel und sonst nichts.
Die Regeln zur Umsatzsteueraufschlüsselung bemerken nur manche zweite Kategorien. Im Versuch brachte eine zweite Kategorie für den Nullsatz zusätzlich BR-Z-01 und eine steuerbefreite BR-E-01, weil jede eine Kategorie ohne passende Umsatzsteueraufschlüsselung einführte.
Im Versuch meldete das Entfernen der einzigen Kategorie aus der Position diese Regel zusammen mit BR-CO-04, BR-S-01 und BR-S-08.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BG-30 | Umsatzsteuerinformationen zur Rechnungsposition | cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory (cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory in a credit note) |
| BT-151 | Code der Umsatzsteuerkategorie des in Rechnung gestellten Artikels | cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Der Artikelstamm hält mehrere Steuercodes, etwa Umsatzsteuer und eine örtliche Abgabe, und der Export schreibt für jeden ein
cac:ClassifiedTaxCategory. - Die Kategorie wird einmal aus dem Produkt und noch einmal aus der Steuerberechnung geschrieben, wodurch der Block doppelt entsteht.
- Eine Position, die Artikel mit unterschiedlichen Sätzen mischt, wird als eine Position mit den Kategorien beider exportiert.
So korrigieren Sie das Dokument
- Ermitteln Sie anhand des Orts im Befund, welche Position betroffen ist.
- Behalten Sie in ihrem Artikel ein
cac:ClassifiedTaxCategory: die Umsatzsteuerkategorie und den Satz, mit denen die Position tatsächlich besteuert wurde, unter dem SteuerschemaVAT. - Umfasst die Position wirklich unterschiedlich besteuerte Artikel, teilen Sie sie in eine Position je Kategorie, damit jede in ihre eigene Umsatzsteueraufschlüsselung fällt.
- Lassen Sie andere Steuern aus der Kategorie des Artikels heraus. Sie sind keine Umsatzsteuerinformationen zur Position; muss eine davon auf der Position erscheinen, zeigen Sie sie als Zuschlag auf Positionsebene.
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: Die Kategorie für den Normalsatz erscheint zweimal im Artikel
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<!-- quantity and line net amount omitted from this fragment -->
<cac:Item>
<cbc:Name>Example service</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>20</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>20</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<!-- price omitted from this fragment -->
</cac:InvoiceLine>Ausschnitt der korrigierten Rechnung: eine Kategorie zum Normalsatz von 20 Prozent
<cac:Item>
<cbc:Name>Example service</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>20</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>Die fehlerhafte Rechnung wiederholt das cac:ClassifiedTaxCategory zum Normalsatz ihrer einzigen Position; die korrigierte Rechnung hat es einmal. Die Wiederholung ist identisch, daher stimmen Umsatzsteueraufschlüsselung, Nettobetrag der Position und alle Summen weiterhin, und UBL-SR-48 ist der einzige Befund, verortet an cac:InvoiceLine[1].
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet UBL-SR-48. 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
InvoiceundCreditNote. Im Versuch meldete eine Gutschriftsposition mit der doppelten Kategorie diese Regel ancac:CreditNoteLine[1]. - Gemeldet vom Prüfschritt EN 16931; der Peppol-Prüfschritt bestand die aufgezeichnete fehlerhafte Rechnung.
- Nachlässe und Zuschläge auf Dokumentenebene tragen ihre Kategorie in
cac:TaxCategory, nicht incac:ClassifiedTaxCategory, und werden hier nicht gezählt.
Verwandte Regeln
- BR-CO-04 verlangt den Code der Umsatzsteuerkategorie in der einen Kategorie, die diese Regel zulässt
- BR-Z-01 wird ebenfalls gemeldet, wenn die zusätzliche Kategorie zum Nullsatz gehört und keine Aufschlüsselung hat
- BR-CL-18 prüft, dass der Kategoriecode der Position zulässig ist
- 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 UBL-SR-48 (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.

