What it means
This rule checks ram:ReasonCode inside a header-level ram:SpecifiedTradeAllowanceCharge whose ram:ChargeIndicator/udt:Indicator is false. A non-empty discount reason code (BT-98) must belong to the profile's UNTDID 5189 code list. An empty value passes this check. The rule does not check whether reason text (BT-97) is present for the discount (BG-20).
Why it matters
A recognised code identifies the reason for the discount in a standard form. Reason text provides a description that you can read.
How to fix it
Correct the discount reason code in your invoice data. If you generate XML, update ram:ReasonCode in the relevant header-level ram:SpecifiedTradeAllowanceCharge. If you omit the code, retain the explanation in ram:Reason (BT-97). Generate the file again 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' 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-000601 still fails, and which other rules do.
Related rules
- FX-SCH-A-000602 Check the VAT category code for the invoice charge
- FX-SCH-A-000603 Check the tax type for the invoice charge
- FX-SCH-A-000604 The reason code for an invoice charge must be valid
- FX-SCH-A-000605 Use format code 102 for the due date
- FX-SCH-A-000606 Check the currency code on the VAT total
- FX-SCH-A-000607 Check the VAT accounting currency on the VAT total