e-Factura validator

All error codes › DE-R-018

DE-R-018 – , the segments must be separated by # and a row shall end with a #

ErrorpeppolPeppol only

What the rule says

, 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.

How to fix it

Fill in or correct the fields named in the rule (the BT/BG codes tell you which). The test below shows exactly what is checked in the XML. Quickest: validate the invoice to get the exact location and, for amounts, the correct value.

Check your invoice for free

Paste the XML and see every error with the exact fix and the correct amounts.

Where it is checked in the XML

Context: (/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' )

Related rules