ValidateFin

BR-DE-18 - Cash discount must follow the SKONTO format in BT-20

Any cash discount must be expressed in the Payment terms (BT-20) using a strict textual layout: the segments SKONTO, TAGE=n and PROZENT=n, plus BASISBETRAG=n when the discount does not apply to the whole Amount due for payment (BT-115). Segments are delimited by # characters, written in upper case, with no extra whitespace.

BR-DE-18 - Cash discount must follow the SKONTO format in BT-20

Any cash discount must be expressed in the Payment terms (BT-20) using a strict textual layout: the segments SKONTO, TAGE=n and PROZENT=n, plus BASISBETRAG=n when the discount does not apply to the whole Amount due for payment (BT-115). Segments are delimited by # characters, written in upper case, with no extra whitespace. This is an XRechnung rule (German KoSIT CIUS). It applies on top of EN 16931 and Peppol, and is mandatory for B2G invoicing in Germany.

PaymentXRechnungBT-20 Error
This is an XRechnung rule (German KoSIT CIUS). It applies on top of EN 16931 and Peppol, and is mandatory for B2G invoicing in Germany.

What this rule checks

Any cash discount must be expressed in the Payment terms (BT-20) using a strict textual layout: the segments SKONTO, TAGE=n and PROZENT=n, plus BASISBETRAG=n when the discount does not apply to the whole Amount due for payment (BT-115). Segments are delimited by # characters, written in upper case, with no extra whitespace.

How to fix it

Rewrite BT-20 using the #SKONTO#TAGE=n#PROZENT=n# structure, one line per discount.

Validate against this rule

This rule is part of EN 16931. Check your invoice with the validator that matches your format:

Related rules

Source: KoSIT XRechnung · Last verified: 2026-07-10

All validation rules