Skip to content

Error

FX-SCH-A-000589: Use a listed VAT exemption reason code

In short

Error: fails the selected checks.

FX-SCH-A-000589 means a VAT exemption reason code (BT-121) in your Factur-X or ZUGFeRD invoice is not on the profile's VATEX list. Correct the code to match the reason you need to report; do not put free text in the code field.

On this page

What it means

This rule checks a non-empty ram:ExemptionReasonCode in a header VAT breakdown row (BG-23) against the EN 16931 profile's VATEX list. Examples include VATEX-EU-IC and VATEX-EU-AE. An empty value passes this test, but the test does not decide whether a reason is required, permitted or adequately supplied as text (BT-120).

Why it matters

The code gives a standard identifier for the stated VAT exemption reason. A listed code still needs to be appropriate for the VAT category and the transaction.

How to fix it

Correct ram:ExemptionReasonCode under ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax to the appropriate listed VATEX code. Put explanatory wording in ram:ExemptionReason (BT-120), not in the code element. If you intend to use text without a code, check the applicable category and profile requirements before removing BT-121. Export and recheck your invoice.

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:ExemptionReasonCode' 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-000589 still fails, and which other rules do.

Updated 6 November 2026