BT-5Invoice currency codeBT-111Invoice total VAT amount in accounting currency
Offizieller Regeltext
[PEPPOL-EN16931-R051] All currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111).
Der normative Text ist Englisch und wird unverändert zitiert.
Warum dieser Fehler auftritt
In einer Peppol-UBL-Rechnung muss jeder Betrag in der Rechnungswährung (BT-5) stehen; einzige Ausnahme ist der Steuergesamtbetrag in der Buchungswährung (BT-111). Die Regel prüft, ob das Attribut currencyID jedes cbc:Amount, cbc:BaseAmount, cbc:PriceAmount, cbc:TaxAmount, cbc:TaxableAmount, cbc:LineExtensionAmount und aller cac:LegalMonetaryTotal-Beträge gleich cbc:DocumentCurrencyCode ist. Sie schlägt an, wenn ein Template currencyID="EUR" fest einträgt, während die Rechnungswährung eine andere ist, oder wenn Preise bei einer Fremdwährungsrechnung in der Währung des Lieferanten exportiert werden.
So beheben Sie den Fehler
Jedes currencyID aus dem Wert von cbc:DocumentCurrencyCode erzeugen statt fest zu codieren. Bei einer Fremdwährungsrechnung alle Preise und Beträge vor dem Export in diese Währung umrechnen. Bei Nutzung von BT-6 genau ein cac:TaxTotal ohne Subtotals in der Buchungswährung führen; alle anderen Beträge inklusive Positionspreise bleiben in der Rechnungswährung. Diese Regel gilt nur für UBL.
Beispiel (gültig)
<cbc:DocumentCurrencyCode>SEK</cbc:DocumentCurrencyCode>
...
<cbc:LineExtensionAmount currencyID="SEK">1000.00</cbc:LineExtensionAmount>
<cbc:PriceAmount currencyID="SEK">500.00</cbc:PriceAmount>
Was der Validator prüft
Geprüftes Element (Kontext):
UBL
cbc:Amount | cbc:BaseAmount | cbc:PriceAmount | cac:TaxTotal[cac:TaxSubtotal]/cbc:TaxAmount | cac:TaxSubtotal/cbc:TaxAmount | cbc:TaxableAmount | cbc:LineExtensionAmount | cbc:TaxExclusiveAmount | cbc:TaxInclusiveAmount | cbc:AllowanceTotalAmount | cbc:ChargeTotalAmount | cbc:PrepaidAmount | cbc:PayableRoundingAmount | cbc:PayableAmountTest (XPath):
@currencyID = $documentCurrencyCode
Rechnung prüfen
Legen Sie Ihre XML- oder PDF-Datei im Validator ab; jede verletzte Regel ist mit ihrer Seite hier verlinkt. Kostenlos, ohne Konto, die Datei wird nicht gespeichert.
Dieselbe Prüfung per API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateVerwandte Regeln
PEPPOL-EN16931-R001Geschäftsprozess-Kennung (BT-23) fehltPEPPOL-EN16931-R002No more than one note is allowed on document level, unless both the buyer and seller…PEPPOL-EN16931-R003Weder Käuferreferenz noch Bestellreferenz angegebenPEPPOL-EN16931-R004Spezifikationskennung ist nicht die Peppol-BIS-Billing-3.0-KennungPEPPOL-EN16931-R005Steuerwährung ist gleich der RechnungswährungPEPPOL-EN16931-R006Only one invoiced object is allowed on document levelPEPPOL-EN16931-R007Geschäftsprozess-Kennung hat das falsche FormatPEPPOL-EN16931-R008Dokument enthält leere Elemente
Häufige Fragen
Was bedeutet PEPPOL-EN16931-R051?
PEPPOL-EN16931-R051 ist eine Peppol-BIS-Billing-3.0-Regel: All currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111).
Wird meine Rechnung wegen PEPPOL-EN16931-R051 abgelehnt?
Ja. PEPPOL-EN16931-R051 ist als „fatal“ eingestuft; Validatoren (KoSIT, Peppol Access Points, ZRE/OZG-RE) weisen die Rechnung zurück, bis der Fehler behoben ist.
Für welche Formate gilt PEPPOL-EN16931-R051?
Rechnungen und Gutschriften im Peppol-Netzwerk (UBL) und, weil XRechnung die Peppol-Regeln übernimmt, jede XRechnung. Syntax: UBL.
Quelle: Peppol BIS Billing 3.0.20 (November 2025). Katalog erzeugt aus dem offiziellen Schematron am 2026-10-14.