Peppol BIS Billing 3.0.19 · UBL

DE-R-018: Information on cash discounts for prompt payment (Skonto) shall be provided within the…

Peppol BIS Billing 3.0.19 · UBL

fatalcountry

Original rule text

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.

Stored validation assertion
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' )

DE-R-018 is a fatal rule in the country layer of Peppol BIS Billing 3.0.19 · UBL. An invoice that breaks it is rejected. It refers to BT-20, BT-115.

Where to go next

DE-R-018 changed in 2 published Peppol BIS Billing UBL release comparisons:

Validate an invoice against these rules · All release changes