BT-20Payment termsBT-115Amount due for payment
Offizieller Regeltext
[DE-R-018] Information on cash discounts for prompt payment (Skonto) shall be provided within the element "Payment terms" BT-20 in the following way: First segment "SKONTO", second segment amount of days ("TAGE=N"), third segment percentage ("PROZENT=N"). Percentage must be separated by dot with two decimal places. In case the base value of the invoiced amount is not provided in BT-115 but as a partial amount, the base value shall be provided as fourth segment "BASISBETRAG=N" as semantic data type amount. Each entry shall start with a #, the segments must be separated by # and a row shall end with a #. A complete statement on cash discount for prompt payment shall end with a XML-conformant line break. All statements on cash discount for prompt payment shall be given in capital letters. Additional whitespaces (blanks, tabulators or line breaks) are not allowed. Other characters or texts than defined above are not allowed.
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 | /ubl-creditnote:CreditNote)[$supplierCountryIsDE and $customerCountryIsDE]Test (XPath):
every $line in cac:PaymentTerms/cbc:Note[1]/tokenize(. , '(\r?\n)')[starts-with( normalize-space(.) , '#')] satisfies matches ( normalize-space ($line), $XR-SKONTO-REGEX) and matches( cac:PaymentTerms/cbc:Note[1]/tokenize(. , '#.+#')[last()], '^\s*\n' )
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-001An invoice shall contain information on "PAYMENT INSTRUCTIONS"DE-R-002The group "SELLER CONTACT" shall be providedDE-R-003The element "Seller city" shall be providedDE-R-004The element "Seller post code" shall be providedDE-R-005The element "Seller contact point" shall be providedDE-R-006The element "Seller contact telephone number" shall be providedDE-R-007The element "Seller contact email address" shall be providedDE-R-008The element "Buyer city" shall be provided
Häufige Fragen
Was bedeutet DE-R-018?
DE-R-018 ist eine Nationale Peppol-Regel: Information on cash discounts for prompt payment (Skonto) shall be provided within the element "Payment terms" BT-20 in the following way: First segment "SKONTO", second segment amount of days ("TAGE=N"), third segment percentage ("PROZENT=N"). Percentage must be separated by dot with two decimal places. In case the base value of the invoiced amount is not provided in BT-115 but as a partial amount, the base value shall be provided as fourth segment "BASISBETRAG=N" as semantic data type amount. Each entry shall start with a #, the segments must be separated by # and a row shall end with a #. A complete statement on cash discount for prompt payment shall end with a XML-conformant line break. All statements on cash discount for prompt payment shall be given in capital letters. Additional whitespaces (blanks, tabulators or line breaks) are not allowed. Other characters or texts than defined above are not allowed.
Wird meine Rechnung wegen DE-R-018 abgelehnt?
Ja. DE-R-018 ist als „fatal“ eingestuft; Validatoren (KoSIT, Peppol Access Points, ZRE/OZG-RE, KSeF) weisen die Rechnung zurück, bis der Fehler behoben ist.
Für welche Formate gilt DE-R-018?
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.