Konto
Deutsch

PEPPOL-EN16931-R051: currencyID weicht von der Rechnungswährung ab

Peppol-BIS-Billing-3.0-Regel · Fehler · UBL

StandardPeppol BIS Billing 3.0 (OpenPeppol)SchweregradFehler: die Rechnung wird abgelehntSyntaxUBLGeschäftsbegriffe
  • BT-5 Invoice currency code
  • BT-111 Invoice total VAT amount in accounting currency
Gilt fürRechnungen und Gutschriften im Peppol-Netzwerk (UBL) und, weil XRechnung die Peppol-Regeln übernimmt, jede XRechnung.

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:PayableAmount

Test (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.

Rechnung prüfen →

Dieselbe Prüfung per API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Verwandte Regeln

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.