InvoiceIn
Language: EN

BR-DE-18

XRechnung (KoSIT) · validation rule

XRechnung (KoSIT)Error
Cash discount (Skonto) terms in the payment terms (BT-20) do not follow the XRechnung pattern. Each Skonto entry must be its own line in the form '#SKONTO#TAGE=14#PROZENT=2.00#' (optionally '#BASISBETRAG=1234.56' before the closing #), upper case, no extra spaces, two decimals with a dot, followed by a line break; put free text in a separate line.
Field
document.payment_terms (BT-20)
Rule set
XRechnung (KoSIT)
Rule-set version
XRechnung 3.0.2 Schematron 2.6.0 · in force since · Rule-set changelog
Who has to fix it
The sender

This is a property of the file you received, so it cannot be corrected on your side without changing the document — ask the supplier to reissue it.

Worked example · UBL

A Skonto line is #SKONTO#TAGE=n#PROZENT=n.nn# — the percentage with exactly two decimals, and a line break after the closing #.

Fails this rule
<cac:PaymentTerms>
  <cbc:Note>#SKONTO#TAGE=14#PROZENT=2#</cbc:Note>
</cac:PaymentTerms>
Passes
<cac:PaymentTerms>
  <cbc:Note>#SKONTO#TAGE=14#PROZENT=2.00#
</cbc:Note>
</cac:PaymentTerms>

Worked example · CII

Fails this rule
<ram:SpecifiedTradePaymentTerms>
  <ram:Description>#SKONTO#TAGE=14#PROZENT=2#</ram:Description>
</ram:SpecifiedTradePaymentTerms>
Passes
<ram:SpecifiedTradePaymentTerms>
  <ram:Description>#SKONTO#TAGE=14#PROZENT=2.00#
</ram:Description>
</ram:SpecifiedTradePaymentTerms>

Check your own invoice

Drop the file that failed. We parse it, run the official rule sets against it and list every finding with a fix — 20 invoices per day, no key, nothing stored.

Open the live demo

Same explanation over the API: GET /v1/rules/BR-DE-18?lang=en