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
| Phase | Status | Scope |
|---|---|---|
| B2G | Live (Nov 2020) | All federal suppliers |
| B2B receiving | Live (Jan 2025) | All German businesses |
| B2B sending | Jan 2027 | >€800K annual revenue |
| B2B sending | Jan 2028 | All 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