Skip to content

Fatal: fails the selected checks

BR-CO-21: Each invoice discount needs a reason

In short

BR-CO-21 means a discount on the whole invoice has no reason. Fix it by adding a short reason in words, a UNTDID 5189 reason code, or both.

On this page

What it means

A discount on the whole invoice (BG-20) has neither a reason in words (BT-97) nor a reason code (BT-98).

Why it matters

The recipient needs to know why the price was reduced before booking it, for example as an early payment discount or a volume rebate.

How to fix it

Add a short reason such as "Volume discount", a reason code from the UNTDID 5189 list (95 means discount), or both.

The rule as published

Each Document level allowance (BG-20) shall contain a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98), or both.

Business terms: BG-20, BT-97, BT-98

Where this rule applies

Rule set Version
EN 16931 (UBL) 1.3.17
EN 16931 (UBL credit note) 1.3.17
EN 16931 (CII) 1.3.17
XRechnung 3.0 (UBL) 3.0.2
XRechnung 3.0 (UBL credit note) 3.0.2
XRechnung 3.0 (CII) 3.0.2
Peppol BIS Billing 3.0 (invoice) 2026.5
Peppol BIS Billing 3.0 (credit note) 2026.5
Factur-X 1.09 BASIC WL 1.0.9-2
Factur-X 1.09 BASIC 1.0.9-2
Factur-X 1.09 EN 16931 1.0.9-2
Factur-X 1.09 EXTENDED 1.0.9-2
ZUGFeRD 2.5 BASIC WL 2.5.2
ZUGFeRD 2.5 BASIC 2.5.2
ZUGFeRD 2.5 EN 16931 2.5.2
ZUGFeRD 2.5 EXTENDED 2.5.2
SI-UBL 2.0 / NLCIUS (invoice) 2.0.3.13
SI-UBL 2.0 / NLCIUS (credit note) 2.0.3.13
NLCIUS (CII) 1.0.3.13
France CTC (UBL invoice) 1.4.0-04
France CTC (UBL credit note) 1.4.0-04
France CTC (CII) 1.4.0-04
CIUS-RO UBL Invoice 1.0.9 1.0.9
CIUS-RO UBL Credit Note 1.0.9 1.0.9
Rule text from phive-rules 4.6.4.

Check your file

Drop your e-invoice to see whether BR-CO-21 still fails, and which other rules do.