What it means
On each line, the unit price before discount (BT-148) can carry one discount (BT-147). This rule checks that this discount holds no ReasonCode, a coded reason for the discount. The discount amount itself is allowed.
Why it matters
EN 16931 gives a discount on a unit price an amount and no reason, so receiving software has no field for the code and may leave it out. The file is still accepted, because this is a warning. It is worth fixing for a clean file, or when the buyer needs the reason, since the code may never reach them.
How to fix it
Find AppliedTradeAllowanceCharge under GrossPriceProductTradePrice in the line and remove the ReasonCode element. Keep the discount amount (ActualAmount). If the buyer needs to know why the price was reduced, write the reason in a note on the line (BT-127) instead.
The rule as published
ReasonCode should not be present Where this rule applies
| Rule set | Version |
|---|---|
| EN 16931 (CII) | 1.3.17 |
| XRechnung 3.0 (CII) | 3.0.2 |
| NLCIUS (CII) | 1.0.3.13 |
| France CTC (CII) | 1.4.0-04 |
Check your file
Drop your e-invoice to see whether CII-SR-127 still fails, and which other rules do.
Related rules
- CII-SR-128 Remove the reason text from the unit price discount
- CII-SR-129 Remove the type code from the unit price discount
- CII-SR-130 Remove VAT details from the unit price discount
- CII-SR-131 Remove the exchange rate from the unit price discount
- CII-SR-132 Remove the validity period from the unit price before discount
- CII-SR-133 Remove the delivery location from the unit price before discount