Auf dieser Seite
Die kurze Antwort
PEPPOL-EN16931-R055 schlägt fehl, wenn ein Dokument mit cbc:TaxCurrencyCode seine Umsatzsteuersumme in der Rechnungswährung und in der Buchungswährung mit entgegengesetzten Vorzeichen angibt. Beide sind cbc:TaxAmount-Elemente direkt unter einem cac:TaxTotal und werden über currencyID unterschieden. Rechnen Sie die Umsatzsteuersumme der Rechnung neu um und behalten Sie ihr Vorzeichen bei: Im aufgezeichneten Beispiel wurden 5.00 GBP Umsatzsteuer als -5.80 EUR angegeben.
Die Regel schlägt auch fehl, wenn einer der beiden Beträge nicht gefunden wird; deshalb erscheint sie neben BR-53, wenn die Summe in der Buchungswährung fehlt.
Was die Regel prüft
Ohne cbc:TaxCurrencyCode besteht die Regel sofort. Mit dem Code sucht sie den Betrag einer Steuersumme, dessen currencyID die Buchungswährung ist, und den, dessen currencyID die Rechnungswährung ist; dabei entfernt sie Leerzeichen am Rand beider Codes, ändert aber nicht deren Groß- und Kleinschreibung.
Sie besteht, wenn beide Beträge null oder kleiner sind oder beide null oder größer. Null auf einer Seite ist daher mit jedem Vorzeichen auf der anderen vereinbar: Im Versuch bestanden 0.00 EUR gegenüber 5.00 GBP alle Prüfschritte.
Verglichen werden nur die Vorzeichen. Die Höhe des umgerechneten Betrags und der zugrunde liegende Wechselkurs werden weder von dieser noch von einer anderen Regel geprüft.
Ein Betrag, der nicht gefunden wird, lässt die Regel fehlschlagen. Trägt keine Steuersumme die Buchungswährung, weil der Betrag weggelassen oder mit einer anderen currencyID geschrieben wurde, gibt es nichts zu vergleichen, und der Befund erscheint.
Ein negatives Dokument besteht, wenn beide Summen negativ sind. Im Versuch war eine Rechnung mit -5.00 GBP und -5.80 EUR Umsatzsteuer gültig, und dieselbe Rechnung mit 5.80 EUR meldete diese Regel.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-110 | Gesamtbetrag der Umsatzsteuer | cac:TaxTotal/cbc:TaxAmount (currencyID equal to cbc:DocumentCurrencyCode) |
| BT-111 | Gesamtbetrag der Umsatzsteuer in der Buchungswährung | cac:TaxTotal/cbc:TaxAmount (currencyID equal to cbc:TaxCurrencyCode) |
| BT-6 | Code für die Umsatzsteuer-Buchungswährung | cbc:TaxCurrencyCode |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Der umgerechnete Betrag stammt aus einer Buchung im Hauptbuch, in der die Umsatzsteuer als negativer Habenbetrag geführt wird, während die Umsatzsteuersumme der Rechnung positiv geschrieben wird.
- Eine Gutschrift oder Korrektur wird durch Umkehren der Vorzeichen erzeugt, und die Umkehrung wird auf die Beträge in der Rechnungswährung angewendet, nicht aber auf die umgerechnete Umsatzsteuersumme, oder umgekehrt.
- Die umgerechnete Zahl wird aus einem Absolutwert berechnet, sodass eine negative Rechnung eine positive Summe in der Buchungswährung erhält.
- Die umgerechnete Zahl fehlt oder trägt die falsche
currencyID, sodass die Regel nur einen der beiden Beträge findet.
So korrigieren Sie das Dokument
- Nehmen Sie die Umsatzsteuersumme in der Rechnungswährung aus dem
cac:TaxTotal, das die Aufschlüsselung enthält. - Rechnen Sie diese Zahl einschließlich Vorzeichen zu dem Kurs, den Ihre Umsatzsteuerbuchhaltung verlangt, in die Buchungswährung um und runden Sie auf zwei Nachkommastellen.
- Schreiben Sie das Ergebnis in das
cbc:TaxAmountder Steuersumme ohne Aufschlüsselung, mitcurrencyIDgleichcbc:TaxCurrencyCode. - Ist das Vorzeichen der Summe in der Rechnungswährung falsch, korrigieren Sie stattdessen diese an der Quelle und berechnen Sie die davon abhängige Aufschlüsselung und die Gesamtbeträge neu.
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: 5.00 Umsatzsteuer in GBP, aber -5.80 in der Buchungswährung EUR
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>EUR</cbc:TaxCurrencyCode>
<!-- buyer reference and parties omitted from this fragment -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
<!-- VAT breakdown omitted from this fragment -->
</cac:TaxTotal>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">-5.80</cbc:TaxAmount>
</cac:TaxTotal>Ausschnitt der korrigierten Rechnung: Beide Umsatzsteuersummen sind positiv
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>EUR</cbc:TaxCurrencyCode>
<!-- buyer reference and parties omitted from this fragment -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
<!-- VAT breakdown omitted from this fragment -->
</cac:TaxTotal>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">5.80</cbc:TaxAmount>
</cac:TaxTotal>Nur der EUR-Betrag unterscheidet sich: -5.80 in der fehlerhaften Rechnung, 5.80 in der korrigierten. Das fehlerhafte Dokument meldet diese Regel und sonst nichts, weil keine andere Regel von EN 16931 oder Peppol den Wert der Summe in der Buchungswährung betrachtet. Die 5.80 sind eine anschauliche Zahl, und nichts setzt sie in Beziehung zu den 5.00 in GBP.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet PEPPOL-EN16931-R055. 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. Eine Gutschrift mit -5.80 EUR gegenüber 5.00 GBP meldete im Versuch diese Regel. - Wird im Peppol-Prüfschritt gemeldet; der Prüfschritt EN 16931 besteht beim aufgezeichneten Beispiel.
- Eine verirrte Summe in der Buchungswährung in einem Dokument ohne
cbc:TaxCurrencyCodeist nicht Sache dieser Regel. Sie meldetPEPPOL-EN16931-R054.
Verwandte Regeln
- BR-53 verlangt die Umsatzsteuersumme in der Buchungswährung, deren Vorzeichen diese Regel prüft
- PEPPOL-EN16931-R054 verlangt für die Buchungswährung genau eine Steuersumme ohne Aufschlüsselung
- BR-CO-14 prüft die Umsatzsteuersumme in der Rechnungswährung gegen ihre Aufschlüsselung
- PEPPOL-EN16931-R005 verlangt, dass sich die Buchungswährung von der Rechnungswährung unterscheidet
- Alle Regeln der Referenz ansehen
- Hintergrund (auf Englisch): How Peppol invoice validation actually works
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 PEPPOL-EN16931-R055 (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.

