Skip to content

Error

FX-SCH-A-000604: The reason code for an invoice charge must be valid

In short

Error: fails the selected checks.

FX-SCH-A-000604 means a charge reason code (BT-105) without a listID attribute is not allowed. Choose an appropriate UNTDID 7161 code, such as FC for freight service, or omit the code and provide reason text (BT-104).

On this page

What it means

This rule checks ram:ReasonCode inside a header-level charge (BG-21), where ram:ChargeIndicator/udt:Indicator is true, only when the reason code element has no listID attribute. Non-empty values must belong to the profile's UNTDID 7161 code list. Empty values pass. An element with any listID attribute, including an empty attribute, is outside this rule's context.

Why it matters

A recognised charge reason code describes the charge in a standard form. This check does not establish whether codes carrying a listID attribute are valid.

How to fix it

Correct ram:ReasonCode in the relevant header-level ram:SpecifiedTradeAllowanceCharge. Choose a code that describes your charge. If you use text instead, remove the code and retain ram:Reason (BT-104). Do not add listID merely to avoid this check. 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[not (@listID)]' 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
Rule text from phive-rules 4.6.4.

Check your file

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

Updated 6 November 2026