Skip to content

Error

FX-SCH-A-000520: Use a valid reason code for an invoice discount

In short

Error: fails the selected checks.

FX-SCH-A-000520 means the reason code (BT-98) for a discount on the whole invoice is not permitted. Replace ram:ReasonCode with an allowed UNTDID 5189 code that describes the discount, such as 95 for a discount, or remove the code and enter a written reason (BT-97) in ram:Reason. Export and recheck your file.

On this page

What it means

A discount on the whole invoice (BG-20) can have a written reason (BT-97), a reason code (BT-98), or both. In the Basic profiles of Factur-X and ZUGFeRD, this rule checks a non-empty ram:ReasonCode against the profile's permitted UNTDID 5189 codes. It applies where ram:ChargeIndicator/udt:Indicator equals false. It does not check whether a reason has been supplied.

Why it matters

A standard reason code identifies the kind of discount without requiring software to interpret free text. A written reason does not make an invalid accompanying code valid.

How to fix it

Check the reason code for the affected discount. Choose a permitted code that matches the actual reason, rather than entering free text in the code field. Alternatively, remove ram:ReasonCode and put the written explanation in ram:Reason. 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 BASIC 1.0.9-2
ZUGFeRD 2.5 BASIC 2.5.2
Rule text from phive-rules 4.6.4.

Check your file

Drop your e-invoice to see whether FX-SCH-A-000520 still fails, and which other rules do.

Updated 6 November 2026