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.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| - | Steuersumme der Position (kein Informationselement in EN 16931) | cac:InvoiceLine/cac:TaxTotal (cac:CreditNoteLine/cac:TaxTotal in a credit note) |
| BG-23 | Umsatzsteueraufschlüsselung | cac:TaxTotal/cac:TaxSubtotal |
| BT-151 | Code der Umsatzsteuerkategorie des in Rechnung gestellten Artikels | cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID |
| BT-152 | Umsatzsteuersatz für den in Rechnung gestellten Artikel | cac: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:TaxTotalin 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
- Entfernen Sie
cac:TaxTotalaus jedercac:InvoiceLineodercac:CreditNoteLine. - Prüfen Sie, dass jede Position weiterhin
cac:Item/cac:ClassifiedTaxCategorymit ihrem Code der Umsatzsteuerkategorie hat und, wo die Kategorie einen verlangt, mit ihrem Steuersatz. - Stellen Sie sicher, dass die Umsatzsteuer im
cac:TaxTotalauf Dokumentenebene angegeben ist: eincac:TaxSubtotalje Kategorie und Steuersatz mit seiner Bemessungsgrundlage und seinem Steuerbetrag, und die gesamte Umsatzsteuer imcbc:TaxAmountdirekt untercac:TaxTotal. - 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-17führt diesen Vergleich durch.
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
- Die Rechnung mit der Warnung ist gültig und meldet die Warnung UBL-CR-561. Das korrigierte Dokument besteht jeden Prüfschritt ohne Befunde.XML mit der Warnung 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; in einer Gutschrift ist das Elementcac: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-006fü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-R053im Versuch nicht gemeldet.
Verwandte Regeln
- BR-CO-14 prüft die Umsatzsteuersumme des Dokuments gegen die Aufschlüsselung, in die die Umsatzsteuer gehört
- BR-CO-17 prüft jeden Steuerbetrag der Aufschlüsselung gegen seine Bemessungsgrundlage und seinen Steuersatz
- BR-CO-04 verlangt die Umsatzsteuerkategorie in jeder Position, die eine Steuersumme der Position nicht ersetzen kann
- UBL-CR-006 ist eine weitere Warnung für ein UBL-Element außerhalb des Modells von EN 16931, die Ausstellungsuhrzeit
- 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-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.

