What it means
Within each ram:GrossPriceProductTradePrice, the rule counts ram:AppliedTradeAllowanceCharge elements whose ram:ChargeIndicator/udt:Indicator has the text false. It permits at most one. This is the price discount (BT-147), not a line-level discount. The rule applies to the Basic and EN 16931 profiles of Factur-X and ZUGFeRD.
Why it matters
These profiles provide one optional price discount element for relating the price before discount to the price after discount. Repeating that element exceeds the permitted limit.
How to fix it
Work out the total reduction between the price before discount and the price after discount, using the same price base quantity. Record that reduction as one price discount; do not simply add percentage rates when discounts apply successively. In XML, keep at most one matching ram:AppliedTradeAllowanceCharge inside ram:GrossPriceProductTradePrice. Export again and recheck the price and line calculations.
Once the file is corrected, check it again for free: Validate a ZUGFeRD invoice
Or fix the invoice in a form and download the corrected file, for 1 credit: Fix a rejected e-invoice Beta
The rule as published
Element variant 'ram:AppliedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator="false"]' may occur at maximum 1 times. Where this rule applies
| Rule set | Version |
|---|---|
| Factur-X 1.09 BASIC | 1.0.9-2 |
| Factur-X 1.09 EN 16931 | 1.0.9-2 |
| ZUGFeRD 2.5 BASIC | 2.5.2 |
| ZUGFeRD 2.5 EN 16931 | 2.5.2 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000274 still fails, and which other rules do.
Related rules
- FX-SCH-A-000275 Use an allowed unit code for the price base quantity
- FX-SCH-A-000276 Each line must have exactly one invoiced quantity
- FX-SCH-A-000277 A late payment penalty period needs a unit code
- FX-SCH-A-000278 Each line must have exactly one set of VAT details
- FX-SCH-A-000279 Each line must have exactly one line total block
- FX-SCH-A-000282 The invoiced object scheme must be an accepted code