BT-20Payment termsBT-115Amount due for payment
Officiële regeltekst
[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.
De normatieve tekst is Engels en wordt ongewijzigd geciteerd.
Waarom deze fout optreedt
De waarde is aanwezig maar voldoet niet aan het vereiste patroon: verkeerd datumformaat, een IBAN met een fout controlegetal, een e-mailadres zonder geldige structuur, een URL zonder schema, of tekst met verboden tekens.
Zo lost u het op
Corrigeer de waarde volgens het formaat in de regel: datums als JJJJ-MM-DD in UBL en JJJJMMDD met format="102" in CII, IBAN zonder spaties en met geldige controle, e-mailadres met precies één @, URL beginnend met http:// of https://.
Wat de validator controleert
Gecontroleerd element (context):
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' )
Controleer uw factuur
Sleep uw XML of PDF naar de validator; elke overtreden regel linkt naar zijn pagina hier. Gratis, zonder account, het bestand wordt niet opgeslagen.
Dezelfde controle via API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateGerelateerde regels
DE-R-001Een factuur moet informatie over "BETALINGSINSTRUCTIES" bevattenDE-R-002De groep "CONTACTGEGEVENS VERKOPER" moet worden opgegevenDE-R-003Het element "Plaats verkoper" moet worden opgegevenDE-R-004Het element "Postcode verkoper" moet worden opgegevenDE-R-005Het element "Contactpunt verkoper" moet worden opgegevenDE-R-006Het element "Telefoonnummer contact verkoper" moet worden opgegevenDE-R-007Het element "E-mailadres contact verkoper" moet worden opgegevenDE-R-008Het element "Plaats koper" moet worden opgegeven
Veelgestelde vragen
Wat betekent DE-R-018?
DE-R-018 is een 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.
Wordt mijn factuur geweigerd vanwege DE-R-018?
Ja. DE-R-018 is "fataal"; validators (Peppol-accesspoints, KoSIT, KSeF) weigeren de factuur totdat de fout is opgelost.
Voor welke formaten geldt DE-R-018?
Alleen wanneer de verkoper (bij sommige regels de koper) in het genoemde land gevestigd is; de landcode van de partij activeert de regel. De NL-regels zijn de NLCIUS-eisen. Syntax: UBL.
Bron: Peppol BIS Billing 3.0.20 national rules (November 2025). Catalogus gegenereerd uit de officiële regelsets op 2026-10-15.