What it means
Line discounts (BG-27) and charges (BG-28) use ram:SpecifiedTradeAllowanceCharge. This rule selects line blocks containing ram:ChargeIndicator/udt:Indicator with the value true, then requires one ram:ChargeIndicator in each selected block. A block with no indicator is outside this rule's context.
Why it matters
The indicator distinguishes a charge from a discount. Repeating it creates an invalid structure and can introduce conflicting classifications within the same block.
How to fix it
In the affected ram:SpecifiedTradeAllowanceCharge under ram:SpecifiedLineTradeSettlement, remove the repeated ram:ChargeIndicator elements. Leave one containing udt:Indicator set to true. Do not remove separate, genuine charges merely because there is more than one charge on the line. Correct the XML output and check the new file.
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 'ram:ChargeIndicator' must occur exactly 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 |
| Factur-X 1.09 EXTENDED | 1.0.9-2 |
| ZUGFeRD 2.5 BASIC | 2.5.2 |
| ZUGFeRD 2.5 EN 16931 | 2.5.2 |
| ZUGFeRD 2.5 EXTENDED | 2.5.2 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000546 still fails, and which other rules do.
Related rules
- FX-SCH-A-000547 Give each line charge one amount
- FX-SCH-A-000548 Use a permitted line charge reason code
- FX-SCH-A-000549 Give each line one amount excluding VAT
- FX-SCH-A-000550 Give each line one item name
- FX-SCH-A-000551 Add the standard item identifier's scheme
- FX-SCH-A-000552 Use a permitted standard item identifier scheme