What it means
In the Basic profiles of Factur-X and ZUGFeRD, this rule checks a non-empty ram:ReasonCode without a listID attribute on a charge on the whole invoice (BG-21). The charge is identified by ram:ChargeIndicator/udt:Indicator equal to true. The code is checked against the permitted UNTDID 7161 list. Reason codes with a listID attribute are outside this rule's scope; that does not establish that they are valid. This rule does not check whether a reason has been supplied.
Why it matters
A standard reason code identifies the kind of charge without requiring software to interpret free text. A written reason does not make an invalid accompanying code valid.
How to fix it
Check the charge's reason code (BT-105) and replace it with a permitted code that matches the actual charge. Alternatively, remove ram:ReasonCode and write the reason (BT-104) in ram:Reason. Do not add a listID attribute merely to avoid this check. Export and recheck.
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-000523 still fails, and which other rules do.
Related rules
- FX-SCH-A-000524 Use an allowed due date format code
- FX-SCH-A-000525 Use a valid currency code on the invoice VAT total
- FX-SCH-A-000526 Use a valid currency code on the accounting VAT total
- FX-SCH-A-000527 Use an allowed payment means code
- FX-SCH-A-000528 Use a valid VAT accounting currency code
- FX-SCH-A-000529 A line note needs exactly one text element