What it means
In the BASIC WL profiles of Factur-X and ZUGFeRD, the rule checks ram:ReasonCode without a listID attribute inside a header ram:SpecifiedTradeAllowanceCharge (BG-21) where ram:ChargeIndicator/udt:Indicator is "true". A non-empty value must match the profile's corresponding charge reason list. An empty value passes this check. A present but empty listID attribute is not the same as an absent attribute. The text reason (BT-104) is not checked here.
Why it matters
A shared reason code list gives software a consistent meaning for the charge code.
How to fix it
Check the affected charge's reason code (BT-105). For a ram:ReasonCode without listID, use an allowed BASIC WL code that accurately describes the charge. Do not add an empty listID merely to avoid this check. If your software writes an unsupported code, ask its supplier to correct the export. Export and recheck the 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 BASIC WL | 1.0.9-2 |
| ZUGFeRD 2.5 BASIC WL | 2.5.2 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000391 still fails, and which other rules do.
Related rules
- FX-SCH-A-000406 The business process must have exactly one identifier
- FX-SCH-A-000407 The specification must have exactly one identifier
- FX-SCH-A-000408 A buyer registration block needs exactly one number
- FX-SCH-A-000409 The seller must have exactly one name
- FX-SCH-A-000410 The seller registration scheme must use an allowed code
- FX-SCH-A-000411 A seller tax number entry must hold exactly one ID