What it means
This rule checks ram:ReasonCode, the line charge reason code (BT-145), within a line charge (BG-28) marked by ram:ChargeIndicator/udt:Indicator equal to true. It applies only when ram:ReasonCode has no listID attribute and compares non-empty values with the Basic profile's permitted charge reason codes. Empty values pass this test. Elements with a listID attribute, even an empty one, are outside its context.
Why it matters
A shared code list gives charge reasons a consistent meaning across different invoicing systems. This rule covers only the variant without listID.
How to fix it
Check why you are applying the line charge. For the variant without listID, put an appropriate permitted UNTDID 7161 code in ram:ReasonCode. Alternatively, remove ram:ReasonCode and put a written explanation in ram:Reason. Do not add listID merely to avoid this check. Export and check the corrected 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 | 1.0.9-2 |
| ZUGFeRD 2.5 BASIC | 2.5.2 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000548 still fails, and which other rules do.
Related rules
- 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
- FX-SCH-A-000553 Use a permitted invoice note subject code
- FX-SCH-A-000554 Use a permitted invoice date format code