HomeError code lexicon › BR-DE-18
BR-DE-18 Field BT-20 German business rules (BR-DE)

Fix BR-DE-18: Cash discount details (BT-20) in the wrong format

Discount (SKONTO) lines must match this regular expression: . The details on granting a discount for early payment shall be provided in the element "Payment terms" (BT-20) as follows: the first segment states "SKONTO", the second "TAGE=n", the third "PROZENT=n". State percentages without a sign and with a point separating two decimal places. If the amount to be calculated is not based on BT-115, "Amount due for payment", but only on part of the amount due, state the base value for the discount as a fourth segment "BASISBETRAG=n" following the semantic data type Amount. Each entry starts with a #, the segments are separated by a #, and a line ends with a #. A complete discount statement must be followed by an XML-conformant line break. All discount details must be written in capital letters. Extra whitespace (spaces, tabs or line breaks) is not allowed. Characters or text other than those specified above are not allowed.

BR-DE-18 in your own invoice? Upload the file and find every error in seconds.

What does BR-DE-18 mean?

Cash discount lines must match this regular expression: . The information granting a cash discount must be carried in the element "Payment terms" (BT-20) as follows: the first segment states "SKONTO", the second "TAGE=n", the third "PROZENT=n". State percentages without a sign and with two decimal places separated by a dot. If the amount to be calculated is not based on BT-115, "Amount due for payment", but only on part of the invoice amount due, state the base value for the cash discount as a fourth segment "BASISBETRAG=n" following the semantic data type Amount. Every entry starts with a #, the segments are separated by a # and a line ends with a #. A complete cash discount statement must be followed by an XML-conformant line break. Write all cash discount details in capital letters. Extra whitespace (spaces, tabs or line breaks) is not allowed. Characters or text other than those named above are not allowed. This is a national KoSIT rule (XRechnung) that goes beyond EN 16931 and is mandatory for German e-invoices.

Common causes of BR-DE-18

How to fix BR-DE-18

  1. Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-20 along this XPath://ram:SpecifiedTradePaymentTerms/ram:Description
  2. Apply the fix. State the cash discount / payment terms (BT-20) in the prescribed format in 'ram:SpecifiedTradePaymentTerms/ram:Description' (#SKONTO#TAGE=..#PROZENT=..#).
  3. Validate again. Save the file and validate it again to check that BR-DE-18 is no longer reported.
Concrete fix

State the cash discount / payment terms (BT-20) in the prescribed format in 'ram:SpecifiedTradePaymentTerms/ram:Description' (#SKONTO#TAGE=..#PROZENT=..#).

XPath//ram:SpecifiedTradePaymentTerms/ram:Description

Frequent questions about BR-DE-18

How do I fix BR-DE-18?
State the cash discount / payment terms (BT-20) in the prescribed format in 'ram:SpecifiedTradePaymentTerms/ram:Description' (#SKONTO#TAGE=..#PROZENT=..#).

Related error codes

Check BR-DE-18 automatically

Instead of digging through the XML by hand you can validate your ZUGFeRD or XRechnung file online – upload the PDF or the XML and you get every error with rule ID, affected field, fix and XPath, as a readable report or as JSON through the API.

Find every error automatically instead of searching by hand

Upload your ZUGFeRD, Factur-X or XRechnung file – you get every violation back with rule ID, field, fix and XPath.

Validate online for free
Check invoice