What it means
A charge, such as a delivery fee or a surcharge, can carry a reason code, either on the whole invoice (BT-105) or on a line (BT-145). The code must come from the UNCL 7161 list used by Peppol. These are short alphanumeric codes, for example FC (freight service), ABL (additional packaging), SAA (shipping and handling) or PC (packing). Free text such as "Shipping" and a discount code such as 95 fail. Discounts use a different list, checked by PEPPOL-EN16931-CL002.
Why it matters
Peppol BIS Billing 3.0 requires each charge reason code you provide to come from UNCL 7161.
How to fix it
In your invoicing software, set the charge reason code on the invoice or on the line to a valid UNCL 7161 code. You can also leave the code out and write the reason as text, such as "Delivery costs". If you build the XML yourself, the code is cbc:AllowanceChargeReasonCode inside the cac:AllowanceCharge whose cbc:ChargeIndicator is true. 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-CL003 still fails, and which other rules do.
Related rules
- 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-CL002 Discount reason code must be on the allowed list
- PEPPOL-EN16931-CL001 Attachments must use an allowed file type