What it means
An item price can show a discount (BT-147) taken off a gross price (BT-148). In UBL that sits in cac:Price/cac:AllowanceCharge. Unlike a discount on a line (BG-27) or on the whole invoice (BG-20), a price discount has no reason in EN 16931: only the amount and the gross price are part of it. This rule checks that cac:Price/cac:AllowanceCharge has no cbc:AllowanceChargeReasonCode.
Why it matters
This is a warning. It is worth fixing when your export adds it on every price, or when a recipient asks for a file with no warnings.
How to fix it
In your invoicing software, look at the discount fields on the unit price and clear any reason or code chosen there. If the buyer needs to know why the price is lower, put the reason in the item description, or use a discount on the line, which can carry a reason. If you build the XML yourself, delete cbc:AllowanceChargeReasonCode from the cac:AllowanceCharge inside cac:Price.
Once the file is corrected, check it again for free: Validate an invoice against EN 16931
Or fix the invoice in a form and download the corrected file, for 1 credit: Fix a rejected e-invoice
The rule as published
A UBL invoice should not include a Price Allowance Reason Code Where this rule applies
| Rule set | Version |
|---|---|
| EN 16931 (UBL) | 1.3.17 |
| EN 16931 (UBL credit note) | 1.3.17 |
| XRechnung 3.0 (UBL) | 3.0.2 |
| XRechnung 3.0 (UBL credit note) | 3.0.2 |
| Peppol BIS Billing 3.0 (invoice) | 2026.5 |
| Peppol BIS Billing 3.0 (credit note) | 2026.5 |
| SI-UBL 2.0 / NLCIUS (invoice) | 2.0.3.13 |
| SI-UBL 2.0 / NLCIUS (credit note) | 2.0.3.13 |
| France CTC (UBL invoice) | 1.4.0-04 |
| France CTC (UBL credit note) | 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 |
Check your file
Drop your e-invoice to see whether UBL-CR-669 still fails, and which other rules do.
Related rules
- UBL-CR-670 A price discount must not carry a reason text
- UBL-CR-671 A price discount must not carry a multiplier factor
- UBL-CR-672 A credit note's type code must not carry a listID attribute
- UBL-CR-673 An invoiced object reference must not have a description
- UBL-CR-674 The payment card number must not have a scheme attribute
- UBL-CR-675 The card network identifier must not have a scheme attribute