What it means
For Basic WL, this rule checks ram:ReasonCode in header discount blocks whose ram:ChargeIndicator/udt:Indicator contains the text false. A non-empty code must belong to the profile's permitted UNTDID 5189 list. An empty value passes this test; requirements for giving a reason are separate.
Why it matters
Reason codes describe discounts in a standardised form. This rule checks the permitted list, not whether the selected reason matches the discount or whether its amount is correct.
How to fix it
Check the reason code (BT-98) in the affected discount block (BG-20). Replace an unlisted code with the appropriate value from the Basic WL list. If you give the reason as text (BT-97) instead and no code is required, omit ram:ReasonCode. Export the corrected file and check it again.
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' 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-000186 still fails, and which other rules do.
Related rules
- FX-SCH-A-000187 Use at most one description per payment terms block
- FX-SCH-A-000188 Use at most one mandate reference per payment terms block
- FX-SCH-A-000189 Include exactly one total for the invoice lines
- FX-SCH-A-000190 The total of charges on the whole invoice may appear only once
- FX-SCH-A-000191 Use at most one total for discounts on the whole invoice
- FX-SCH-A-000192 Use at most one VAT total matching the VAT accounting currency