What it means
A discount can carry a reason code, either on the whole invoice (BT-98) or on a line (BT-140). Peppol accepts only these UNCL 5189 codes: 41, 42, 60, 62, 63, 64, 65, 66, 67, 68, 70, 71, 88, 95, 100, 102, 103, 104 and 105. The general ones are 95 (discount) and 100 (special rebate). A charge code such as FC, free text or any number outside the list fails. Charges use a different list, checked by PEPPOL-EN16931-CL003.
Why it matters
The reason code tells the recipient why an amount was taken off.
How to fix it
In your invoicing software, set the discount reason code on the invoice or on the line to an allowed UNCL 5189 code. You can also leave the code out and write the reason as text, such as "Volume discount". If you build the XML yourself, the code is cbc:AllowanceChargeReasonCode inside the cac:AllowanceCharge whose cbc:ChargeIndicator is false. If you omit the code, remove cbc:AllowanceChargeReasonCode rather than leaving an empty element.
Once the file is corrected, check it again for free: Validate a Peppol BIS invoice
Or fix the invoice in a form and download the corrected file, for 1 credit: Fix a rejected e-invoice
The rule as published
Read the rule on the publisher's site
Where this rule applies
| Rule set | Version |
|---|---|
| Peppol BIS Billing 3.0 (invoice) | 2026.5 |
| Peppol BIS Billing 3.0 (credit note) | 2026.5 |
Check your file
Drop your e-invoice to see whether PEPPOL-EN16931-CL002 still fails, and which other rules do.
Related rules
- PEPPOL-EN16931-CL003 Charge reason code must be a valid UNCL 7161 code
- PEPPOL-EN16931-CL006 The VAT point date code must be 3, 35 or 432
- PEPPOL-EN16931-CL007 Amounts must use a valid ISO 4217 currency code
- PEPPOL-EN16931-CL008 Electronic address scheme must be on the Peppol code list
- PEPPOL-EN16931-CL001 Attachments must use an allowed file type