What it means
The price block of each line (cac:Price) holds the unit price (BT-146) and the quantity that price applies to (BT-149). The rule checks that this block has no cbc:PriceChangeReason, free text explaining why the price changed, for example a price rise or a special offer.
Why it matters
EN 16931 has no separate price change reason field within the line price.
How to fix it
Remove cbc:PriceChangeReason from cac:Price in each affected cac:InvoiceLine or cac:CreditNoteLine. If you need to keep the explanation, write it in the line note (BT-127) or item description (BT-154). Export the corrected file and recheck it.
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 the InvoiceLine Item Price PriceChangeReason 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-625 still fails, and which other rules do.
Related rules
- UBL-CR-626 A price type code does not belong on the line price
- UBL-CR-627 Price type text does not belong on the line price
- UBL-CR-628 An orderable unit factor does not belong on the line price
- UBL-CR-629 Check the price validity period element
- UBL-CR-630 Check the price list element
- UBL-CR-632 A discount identifier does not belong inside the line price