Zum Inhalt springen

Ironfang Finance - Regelreferenz

UBL-CR-561: Die Steuersumme aus den Rechnungspositionen entfernen

Ein cac:TaxTotal in einer Position gehört nicht zu EN 16931 und löst eine Warnung aus. Das Dokument bleibt gültig; die Umsatzsteuer gehört in die Aufschlüsselung auf Dokumentenebene.

EN 16931Warnung: Das Dokument bleibt gültigUmsatzsteuerPositionen und Preise

Auf dieser Seite

Die kurze Antwort

UBL-CR-561 ist eine Warnung, die einmal für ein Dokument ausgelöst wird, das ein cac:TaxTotal innerhalb irgendeiner cac:InvoiceLine oder cac:CreditNoteLine hat. Das Dokument ist weiterhin gültig. Entfernen Sie die Steuersummen auf Positionsebene: EN 16931 kennt keinen Umsatzsteuerbetrag pro Position, und die Umsatzsteuer ist bereits je Kategorie im cac:TaxTotal direkt unter dem Wurzelelement angegeben.

Was eine Position tatsächlich trägt, sind ihre Umsatzsteuerkategorie und ihr Steuersatz, in cac:Item/cac:ClassifiedTaxCategory. Behalten Sie diese bei; die Aufschlüsselung auf Dokumentenebene wird dagegen geprüft.

Was die Regel prüft

Die Regel wird einmal ausgewertet, am Wurzelelement, und warnt, wenn mindestens eine Position ein Kindelement cac:TaxTotal hat. Im Versuch mit Steuersummen in zwei Positionen einer Rechnung mit drei Positionen wurde eine einzige Warnung gemeldet, am Wurzelelement verortet und nicht an einer Position.

Nichts innerhalb der Steuersumme der Position wird gelesen. Im Versuch ergab eine Steuersumme von 999.00 in einer Position über 25.00 dieselbe einzelne Warnung, ebenso eine Steuersumme mit einem vollständigen cac:TaxSubtotal samt Kategorie und Steuersatz.

Eine Warnung macht ein Dokument nicht ungültig. Das aufgezeichnete Beispiel ist gültig, alle Prüfschritte sind bestanden, und diese eine Warnung wird aufgeführt.

Die Steuersumme der Position kann die Umsatzsteuerkategorie der Position nicht ersetzen. Im Versuch mit entferntem cac:ClassifiedTaxCategory, bei dem nur die Steuersumme der Position blieb, schlug die Rechnung zusätzlich zur Warnung bei BR-CO-04 und drei weiteren Regeln fehl.

BegriffBedeutungUBL-Element
-Steuersumme der Position (kein Informationselement in EN 16931)cac:InvoiceLine/cac:TaxTotal (cac:CreditNoteLine/cac:TaxTotal in a credit note)
BG-23Umsatzsteueraufschlüsselungcac:TaxTotal/cac:TaxSubtotal
BT-151Code der Umsatzsteuerkategorie des in Rechnung gestellten Artikelscac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID
BT-152Umsatzsteuersatz für den in Rechnung gestellten Artikelcac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:Percent

Wie es in einer Integration dazu kommt

Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:

  • Eine allgemeine Bibliothek oder Vorlage für UBL 2.1 schreibt cac:TaxTotal in jede Position, weil das UBL-Schema es dort erlaubt.
  • Das Mapping wurde ursprünglich für ein anderes UBL-basiertes Format geschrieben, das einen Umsatzsteuerbetrag pro Position erwartet, und das Element blieb erhalten, als die Ausgabe auf Peppol BIS umgestellt wurde.
  • Das Quellsystem berechnet die Umsatzsteuer Position für Position, und der Export schreibt jedes Positionsergebnis ins XML, zusätzlich zur Summierung.

So korrigieren Sie das Dokument

  1. Entfernen Sie cac:TaxTotal aus jeder cac:InvoiceLine oder cac:CreditNoteLine.
  2. Prüfen Sie, dass jede Position weiterhin cac:Item/cac:ClassifiedTaxCategory mit ihrem Code der Umsatzsteuerkategorie hat und, wo die Kategorie einen verlangt, mit ihrem Steuersatz.
  3. Stellen Sie sicher, dass die Umsatzsteuer im cac:TaxTotal auf Dokumentenebene angegeben ist: ein cac:TaxSubtotal je Kategorie und Steuersatz mit seiner Bemessungsgrundlage und seinem Steuerbetrag, und die gesamte Umsatzsteuer im cbc:TaxAmount direkt unter cac:TaxTotal.
  4. Berechnen Sie jeden Steuerbetrag der Aufschlüsselung aus seiner Bemessungsgrundlage und seinem Steuersatz, statt Umsatzsteuerbeträge pro Position aufzusummieren, die von Bemessungsgrundlage x Steuersatz abweichen können. BR-CO-17 führt diesen Vergleich durch.

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 Rechnung mit der Warnung: Die Position trägt eine eigene Steuersumme von 5.00

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
  </cac:TaxTotal>
  <cac:Item>
    <cbc:Name>Example service</cbc:Name>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>20</cbc:Percent>
      <!-- tax scheme omitted from this fragment -->
    </cac:ClassifiedTaxCategory>
  </cac:Item>
  <!-- price omitted from this fragment -->
</cac:InvoiceLine>

Ausschnitt der korrigierten Rechnung: Die Position hat keine Steuersumme, und die 5.00 Umsatzsteuer erscheinen einmal, in der Aufschlüsselung auf Dokumentenebene

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">5.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>
</cac:TaxTotal>
<!-- monetary totals omitted from this fragment -->
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cbc:Name>Example service</cbc:Name>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>20</cbc:Percent>
      <!-- tax scheme omitted from this fragment -->
    </cac:ClassifiedTaxCategory>
  </cac:Item>
  <!-- price omitted from this fragment -->
</cac:InvoiceLine>

Die Rechnung mit der Warnung hat ein cac:TaxTotal von 5.00 zwischen dem Nettobetrag der Position und dem Artikel, die korrigierte nicht. Sonst unterscheidet sich nichts; die im korrigierten Ausschnitt gezeigte Aufschlüsselung auf Dokumentenebene ist in beiden vorhanden, mit denselben 5.00. Diese Rechnung meldet nur UBL-CR-561 und ist mit dieser Warnung gültig; die Änderung räumt das Dokument also auf, statt es zu retten.

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; in einer Gutschrift ist das Element cac:CreditNoteLine/cac:TaxTotal. Im Versuch erhielt eine Gutschrift mit einer Steuersumme in einer Position dieselbe einzelne Warnung an ihrem Wurzelelement und blieb gültig.
  • Die Warnung stammt aus dem Prüfschritt EN 16931, aus den Prüfungen der UBL-Syntaxbindung, die UBL-Elemente ohne Platz im Modell von EN 16931 kennzeichnen. Andere Regeln derselben Familie tun dies für andere Elemente, etwa UBL-CR-006 für eine Ausstellungsuhrzeit.
  • Steuersummen in Positionen zählen nicht zur Peppol-Obergrenze für Steuersummen auf Dokumentenebene. Mit einer vollständigen Teilsumme innerhalb einer Steuersumme der Position wurde PEPPOL-EN16931-R053 im Versuch nicht gemeldet.

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-24.1: Quelle geprüft am 2026-09-24, Erklärung zuletzt aktualisiert am 2026-09-24.

Die offizielle Definition von UBL-CR-561 (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.