What it means
For a whole-invoice discount (BG-20), this rule checks non-empty ram:ReasonCode values against the profile's discount reason code list. It applies where ram:ChargeIndicator/udt:Indicator is false. This test allows an empty value and does not check the written reason (BT-97).
Why it matters
The reason code identifies why the discount was given. The written reason is a separate field.
How to fix it
Correct ram:ReasonCode (BT-98) in the header-level ram:SpecifiedTradeAllowanceCharge whose ram:ChargeIndicator/udt:Indicator is false. Use a permitted code matching your reason, such as 95 for a discount. Put a written explanation in ram:Reason (BT-97), not in the code field. If you omit the code, check that the written reason meets the other applicable rules. Export and recheck your 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' is not allowed. Where this rule applies
| Rule set | Version |
|---|---|
| Factur-X 1.09 EXTENDED | 1.0.9-2 |
| ZUGFeRD 2.5 EXTENDED | 2.5.2 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000973 still fails, and which other rules do.
Related rules
- FX-SCH-A-000974 Unit code for an invoice charge's basis quantity
- FX-SCH-A-000975 Permitted VAT category code for an invoice charge
- FX-SCH-A-000976 Permitted exemption reason code for an invoice charge
- FX-SCH-A-000977 Permitted tax type code for an invoice charge
- FX-SCH-A-000978 Charge reason code without listID
- FX-SCH-A-000979 Format attribute for an early payment discount date