errorDEUPEPPOL_BIS

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.

Severity
Fatal
Rule set
PEPPOL_BIS
Country
DEU
Fix type
CONFIRM
Confidence
80%
Category
structural

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.

Before
<!-- Missing or empty element triggers cbc:StreetName error -->
<cbc:StreetName></cbc:StreetName>
After
<!-- Provide the required value -->
<cbc:StreetName>VALID_VALUE</cbc:StreetName>

Technical Reference

XPath//cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetName
SpecPEPPOL_BIS
Operationset_default
StrategyEnsure seller street name is present for XRechnung compliance

Common 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

Share this guide:

Handle DE-R-018 Automatically in Your Pipeline

The compliance engine auto-remediates this error with controlled safety policies and evidence pack generation.