Early-payment discount (Skonto) in XRechnung

XRechnung has no separate discount field: Skonto is a precisely formatted line in the payment terms (BT-20). If the format is wrong, the whole XRechnung is invalid (rule BR-DE-18).

The format

A Skonto line consists of segments separated by #, in capitals:

#SKONTO#TAGE=14#PROZENT=2.00#

TAGE = days, PROZENT = percent. If the discount applies only to part of the amount due (BT-115), add the base amount as a fourth segment: #BASISBETRAG=500.00#. Percentages and amounts use a dot and exactly two decimals. Each line ends with #, and a line break must follow the Skonto information. Several discount steps go on several lines.

Typical mistakes

  • PROZENT=2,00 or PROZENT=2 instead of PROZENT=2.00
  • the closing # is missing
  • the final line break is missing
  • lower case (#skonto#)

All of them fail rule BR-DE-18.

Get it right automatically

In our free form you only enter days and percentage; the line is written in the right format and the XRechnung is validated before download. You can also enter an amount already paid (down payments, BT-113). In the API the fields are skonto_days, skonto_percent and paid_amount.

Invoiceer for Stripe: XRechnung, ZUGFeRD and Peppol from every Stripe invoice, validated with the official rules. Free for 5 e-invoices a month.

See the Stripe app Read the setup guide

Questions

How do I add an early-payment discount to an XRechnung?

As a line in the payment terms (BT-20): #SKONTO#TAGE=14#PROZENT=2.00# followed by a line break, with a dot and two decimals for the percentage.

More: XRechnung + Stripe · ZUGFeRD + Stripe · Peppol + Stripe · Peppol registration · XRechnung 4.0 · ZUGFeRD: PDF vs XML · Statuts et codes motifs (FR) · Billit after 2027 · BMF-Schreiben 15.10.2026 · PDF → e-invoice · Peppol BIS 3.0.21 changes