What it means
This rule checks ram:ReasonCode, the line discount reason code (BT-140), within a line discount (BG-27) marked by ram:ChargeIndicator/udt:Indicator equal to false. It compares non-empty values with the Basic profile's permitted discount reason codes for Factur-X and ZUGFeRD. An empty value passes this particular test.
Why it matters
A shared code list gives discount reasons a consistent meaning across different invoicing systems.
How to fix it
Check why you are applying the line discount. Put the appropriate permitted UNTDID 5189 code in the discount block's ram:ReasonCode. If you use a written reason instead, remove ram:ReasonCode and put the explanation in ram:Reason. Do not put charge codes or free text in ram:ReasonCode. Export and check the corrected 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 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-000545 still fails, and which other rules do.
Related rules
- FX-SCH-A-000546 Keep one indicator in each line charge
- FX-SCH-A-000547 Give each line charge one amount
- FX-SCH-A-000548 Use a permitted line charge reason code
- FX-SCH-A-000549 Give each line one amount excluding VAT
- FX-SCH-A-000550 Give each line one item name
- FX-SCH-A-000551 Add the standard item identifier's scheme