DE-R-018:Invalid Skonto format. Cash discount terms in German invoices must follow the format: #SKONTO#TAGE=N#PROZENT=N.NN# with
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.
Engine Classification
Requires user confirmation before application
What is DE-R-018?
DE-R-018 is a fatal validation rule defined in the PEPPOL_BIS specification (DEU national rules). It validates the StreetName element under Party > PostalAddress in the UBL invoice XML.
When this rule fires, the invoice is non-compliant and will be rejected by Peppol access points and national validation services. The sending system receives a rejection response and the invoice does not reach the buyer.
Target path: //cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetName
Why This Error Matters
Invoice will be rejected by German XRechnung validators. German e-invoicing has specific format requirements for payment details, contact information, and attachments.
DE-R-018 is a hard failure. Invoices that trigger this rule are rejected at the access point and never reach the recipient. In Peppol networks, this means your sending system receives an MLR (Message Level Response) with a rejection status. The invoice must be corrected and re-sent, adding delay to your payment cycle.
Validator Behavior
- ·Causes invoice rejection
- ·Rejected by PEPPOL Access Points
- ·Rejected by XRechnung endpoints
- ·Error returned: DE-R-018
- ·Specification: PEPPOL_BIS
XML Example
Generic example based on the rule's target XPath. Your actual XML structure may differ.
<!-- Missing or empty element triggers cbc:StreetName error --> <cbc:StreetName></cbc:StreetName>
<!-- Provide the required value --> <cbc:StreetName>VALID_VALUE</cbc:StreetName>
Technical Reference
//cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetNameCommon 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
Seeing this in production? The API handles DE-R-018 automatically. See the fix response →
Last updated: 27 February 2026
Handle DE-R-018 Automatically in Your Pipeline
The compliance engine auto-remediates this error with controlled safety policies and evidence pack generation.