fatal UBL
A national rule of Peppol BIS Billing 3.0 for the country in the rule prefix (for example NO, DK, IT, SE, GR): it usually applies when the seller is in that country. This is an error: the invoice is rejected until it is fixed.
This error needs information only you have, so it is not repaired automatically. The free check shows every finding in the file with its location; if other errors in the same file are in the automatic set (totals, VAT breakdown, rounding, element order), the result page offers the corrected file for 9 €.
[DE-R-018]-If both supplier and customer are located in Germany, information on cash discounts for prompt payment (Skonto) shall be provided within the element "Payment terms" BT-20 in the following way: First segment "SKONTO", second segment amount of days ("TAGE=N"), third segment percentage ("PROZENT=N"). Percentage must be separated by dot with two decimal places. In case the base value of the invoiced amount is not provided in BT-115 but as a partial amount, the base value shall be provided as fourth segment "BASISBETRAG=N" as semantic data type amount. Each entry shall start with a #, 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.
| Syntax | Severity | Context (XPath) | Test (XPath) |
|---|---|---|---|
| Peppol-UBL | fatal | (/ubl-invoice:Invoice | /ubl-creditnote:CreditNote)[$supplierCountryIsDE and $customerCountryIsDE] | 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' ) |
BT-20, BT-115
BR-DE-18, BR-15, BR-CO-16, BR-DEC-18, BR-DEX-09
Source: Peppol BIS Billing 3.0 Schematron, UBL (OpenPeppol, docs.peppol.eu validation artefacts 3.0.21).