Zum Inhalt springen

Ironfang Finance - Regelreferenz

UBL-SR-48: Jeder Rechnungsposition genau eine klassifizierte Steuerkategorie geben

Der Artikel einer Rechnungsposition hat zwei oder mehr Elemente cac:ClassifiedTaxCategory oder keines. Behalten Sie genau eines: die Umsatzsteuerkategorie, in der die Position besteuert wird.

EN 16931Fehler: Das Dokument ist ungültigUmsatzsteuerPositionen und Preise

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.

BegriffBedeutungUBL-Element
BG-30Umsatzsteuerinformationen zur Rechnungspositioncac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory (cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory in a credit note)
BT-151Code der Umsatzsteuerkategorie des in Rechnung gestellten Artikelscac: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

  1. Ermitteln Sie anhand des Orts im Befund, welche Position betroffen ist.
  2. Behalten Sie in ihrem Artikel ein cac:ClassifiedTaxCategory: die Umsatzsteuerkategorie und den Satz, mit denen die Position tatsächlich besteuert wurde, unter dem Steuerschema VAT.
  3. Umfasst die Position wirklich unterschiedlich besteuerte Artikel, teilen Sie sie in eine Position je Kategorie, damit jede in ihre eigene Umsatzsteueraufschlüsselung fällt.
  4. 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.

Korrigierte Rechnung prüfen

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

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 Invoice und CreditNote. Im Versuch meldete eine Gutschriftsposition mit der doppelten Kategorie diese Regel an cac: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 in cac:ClassifiedTaxCategory, und werden hier nicht gezählt.

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.