Tools › SmartFormular E-Rechnung lite › Validation rules › BR-DE-18
BR-DE-18
The early-payment discount in the payment terms (BT-20) is not in the required form
What the message means
The early-payment discount in the payment terms (BT-20) is not in the required form.
What the issuer needs to change
Give the discount in this form: #SKONTO#TAGE=14#PROZENT=2.00# followed by a line break.
Fields concerned
BT-20payment termsBT-115amount due for payment
Your invoice reports BR-DE-18? Check it with SmartFormular E-Rechnung lite, free to try until 31 December 2026: the tool shows every finding with an explanation, the invoice in readable form and a GiroCode to pay – in your browser, no upload.
Check an e-invoiceOrigin
- Rule set
- XRechnung 3.0.2 (KoSIT, Schematron 2.6.0)
- Syntax
- CII, UBL
- Level
- Error
Original rule text
Skonto Zeilen in (…) müssen diesem regulärem Ausdruck entsprechen: (…). Die Informationen zur Gewährung von Skonto müssen wie folgt im Element "Payment terms" (BT-20) übermittelt werden: Anzugeben ist im ersten Segment "SKONTO", im zweiten "TAGE=n", im dritten "PROZENT=n". Prozentzahlen sind ohne Vorzeichen sowie mit Punkt getrennt von zwei Nachkommastellen anzugeben. Liegt dem zu berechnenden Betrag nicht BT-115, "fälliger Betrag" zugrunde, sondern nur ein Teil des fälligen Betrags der Rechnung, ist der Grundwert zur Berechnung von Skonto als viertes Segment "BASISBETRAG=n" gemäß dem semantischen Datentypen Amount anzugeben. Jeder Eintrag beginnt mit einer #, die Segmente sind mit einer # getrennt und eine Zeile schließt mit einer # ab. Am Ende einer vollständigen Skontoangabe muss ein XML-konformer Zeilenumbruch folgen. Alle Angaben zur Gewährung von Skonto müssen in Großbuchstaben gemacht werden. Zusätzliches Whitespace (Leerzeichen, Tabulatoren oder Zeilenumbrüche) ist nicht zulässig. Andere Zeichen oder Texte als in den oberen Vorgaben genannt sind nicht zulässig.
Technical details for IT
UBL
Context: /ubl:Invoice | /cn:CreditNote Test: not(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' ))
CII
Context: /rsm:CrossIndustryInvoice Test: not(every $line in rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:Description[1]/tokenize(. , '(\r?\n)')[starts-with( normalize-space(.) , '#')] satisfies matches ( normalize-space ($line), $XR-SKONTO-REGEX ) and matches( rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:Description[1]/tokenize(. , '#.+#')[last()], '^\s*\n' ))
Related rules
- BR-DE-15The buyer reference (BT-10) is missing
- BR-DE-16The seller's VAT identifier (BT-31) and tax number (BT-32) are both missing
- BR-DE-17The invoice type code (BT-3) is not intended for XRechnung
- BR-DE-19The IBAN given (BT-84) is not valid
- BR-DE-20The IBAN of the debited account (BT-91) is not valid
- BR-DE-21The specification identifier (BT-24) is not the XRechnung identifier