What it means
This checks ram:ReasonCode in a line charge (BG-28) where ram:ChargeIndicator/udt:Indicator has the value true and the code element has no listID attribute. An existing listID attribute excludes the code from this rule even if that attribute is empty. An empty code passes; a non-empty code must be listed. The reason text is BT-144 and the reason code is BT-145.
Why it matters
A reason code identifies the type of charge using an agreed list. It is not a field for a written description of the charge.
How to fix it
Correct ram:ReasonCode in the affected line's ram:SpecifiedTradeAllowanceCharge to a matching UNTDID 7161 code. Alternatively, remove that code element and put the reason in ram:Reason (BT-144), such as "Delivery costs". Do not add listID merely to avoid this check. Export the corrected file and recheck it.
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 EN 16931 | 1.0.9-2 |
| ZUGFeRD 2.5 EN 16931 | 2.5.2 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000624 still fails, and which other rules do.
Related rules
- FX-SCH-A-000625 Keep at most one item description
- FX-SCH-A-000626 Check the item identifier scheme
- FX-SCH-A-000627 Give each country of origin block one identifier
- FX-SCH-A-000628 Check the country of origin code
- FX-SCH-A-000630 Keep at most one document name
- FX-SCH-A-000631 Add the effective period date format