What it means
For a whole-invoice charge (BG-21) with ram:ChargeIndicator/udt:Indicator set to true, this rule checks non-empty ram:ReasonCode values against the profile's standard charge reason list, UNTDID 7161. It applies only when listID is absent, not when that attribute is present but empty. This test allows an empty code.
Why it matters
The reason code identifies what the charge is for. When no listID is supplied, this check uses the standard charge reason list.
How to fix it
Correct ram:ReasonCode without listID in the affected header-level ram:SpecifiedTradeAllowanceCharge whose ram:ChargeIndicator/udt:Indicator is true. Examples include FC for freight service and ABL for additional packaging. Put a written explanation in ram:Reason (BT-104). Do not add listID simply to bypass this check. Export and recheck your 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
Value of 'ram:ReasonCode[not (@listID)]' is not allowed. Where this rule applies
| Rule set | Version |
|---|---|
| Factur-X 1.09 EXTENDED | 1.0.9-2 |
| ZUGFeRD 2.5 EXTENDED | 2.5.2 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000978 still fails, and which other rules do.
Related rules
- FX-SCH-A-000979 Format attribute for an early payment discount date
- FX-SCH-A-000980 Permitted format code for an early payment discount date
- FX-SCH-A-000981 Format attribute for a late payment penalty date
- FX-SCH-A-000982 Permitted format code for a late payment penalty date
- FX-SCH-A-000983 Use an allowed due date format code
- FX-SCH-A-000984 Payee identifier in payment terms is repeated