BT-81Payment means type codeBT-91Debited account identifier
Offizieller Regeltext
[DE-R-020] The element "Debited account identifier" (BT-91) should contain a valid IBAN if code 59 SEPA is provided in "Payment means type code" (BT-81).
Der normative Text ist Englisch und wird unverändert zitiert.
Warum dieser Fehler auftritt
Der Wert ist vorhanden, entspricht aber nicht dem geforderten Muster: falsches Datumsformat, eine IBAN mit falscher Prüfziffer, eine E-Mail-Adresse ohne gültige Struktur, eine URL ohne Schema oder ein Text mit unzulässigen Zeichen.
So beheben Sie den Fehler
Korrigieren Sie den Wert gemäß dem in der Regel genannten Format: Datum als JJJJ-MM-TT in UBL bzw. JJJJMMTT mit format="102" in CII, IBAN ohne Leerzeichen und mit gültiger Prüfsumme, E-Mail-Adresse mit genau einem @, URL beginnend mit http:// oder https://.
Was der Validator prüft
Geprüftes Element (Kontext):
UBL
(/ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = 59] | /ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = 59])[$supplierCountryIsDE and $customerCountryIsDE]Test (XPath):
not(cbc:PaymentMeansCode = '59') or matches(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')), '^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{0,30}$') and xs:decimal(string-join(for $cp in string-to-codepoints(concat(substring(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),5),upper-case(substring(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),1,2)),substring(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),3,2))) return (if($cp > 64) then string($cp - 55) else string($cp - 48)),'')) mod 97 = 1
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
DE-R-019The element "Payment account identifier" should contain a valid IBAN if code 58 SEPA…DE-R-031If the group "DIRECT DEBIT" is delivered, the element "Debited account identifier"…DE-R-023-1If "Payment means type code" contains a code for credit transfer (30, 58), "CREDIT…DE-R-023-2If "Payment means type code" contains a code for credit transfer (30, 58), BG-18 and…DE-R-024-1If "Payment means type code" contains a code for payment card (48, 54, 55), "PAYMENT…DE-R-024-2If "Payment means type code" contains a code for payment card (48, 54, 55), BG-17 and…DE-R-025-1If "Payment means type code" contains a code for direct debit (59), "DIRECT DEBIT"…DE-R-025-2If "Payment means type code" contains a code for direct debit (59), BG-17 and BG-18…
Häufige Fragen
Was bedeutet DE-R-020?
DE-R-020 ist eine Nationale Peppol-Regel: The element "Debited account identifier" (BT-91) should contain a valid IBAN if code 59 SEPA is provided in "Payment means type code" (BT-81).
Wird meine Rechnung wegen DE-R-020 abgelehnt?
Nein. DE-R-020 ist eine Warnung: Die Rechnung wird angenommen, der Empfänger sieht aber den Hinweis. Beheben Sie ihn trotzdem, Warnungen werden in späteren Versionen oft zu Fehlern.
Für welche Formate gilt DE-R-020?
Nur wenn der Verkäufer (bei manchen Regeln der Käufer) im genannten Land sitzt; Auslöser ist der Ländercode der Partei. Die deutschen Regeln bilden die XRechnung-Anforderungen innerhalb von Peppol ab. Syntax: UBL.
Quelle: Peppol BIS Billing 3.0.20 national rules (November 2025). Katalog erzeugt aus den offiziellen Regelwerken am 2026-10-15.