Error codes · PEPPOL_BIS · Germany

DE-R-018In your invoicing software

Invalid Skonto format. Cash discount terms in German invoices must follow the format: #SKONTO#TAGE=N#PROZENT=N.NN# with in Germany

This is the rejection, word for word: „[DE-R-018] Invalid Skonto format. Cash discount terms in German invoices must follow the format: #SKONTO#TAGE=N#PROZENT=N.NN# with optional #BASISBETRAG=N#. Must be uppercase with no extra whitespace.

Why this matters in Germany

Germany requires e-invoicing using XRechnung (UBL), XRechnung (CII), ZUGFeRD 2.x. An invoice with this error is rejected; it cannot be processed under Germany's rules.

Invoice will be rejected by German XRechnung validators. German e-invoicing has specific format requirements for payment details, contact information, and attachments.

What to have readyNothing. The file has to be re-exported from your invoicing software; we check it again afterwards.
What we doInvalid Skonto format. Cash discount terms in German invoices must follow the format: #SKONTO#TAGE=N#PROZENT=N.NN# with optional #BASISBETRAG=N#. Must be uppercase with no extra whitespace.

How to fix DE-R-018

01Find the missing or empty fieldCheck cbc:StreetName at //cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetName. This field is required but is either missing or empty.
02Set the required valueInvalid Skonto format. Cash discount terms in German invoices must follow the format: #SKONTO#TAGE=N#PROZENT=N.NN# with optional #BASISBETRAG=N#. Must be uppercase with no extra whitespace.
03Re-validate your invoiceUpload the corrected invoice to confirm DE-R-018 is resolved.

Germany e-invoicing requirements

PhaseStatusScope
B2GLive (Nov 2020)All federal suppliers
B2B receivingLive (Jan 2025)All German businesses
B2B sendingJan 2027>€800K annual revenue
B2B sendingJan 2028All businesses

Known causes

Skonto (cash discount) format incorrect in payment terms
BT-20 must use exact format: #SKONTO#TAGE=N#PROZENT=N.NN#
German cash discount syntax not followed
Percentage must have dot separator with 2 decimal places
Additional whitespace or invalid characters in Skonto text