Skip to content

Error

FX-SCH-A-000521: Use a valid VAT category code for an invoice charge

In short

Error: fails the selected checks.

FX-SCH-A-000521 means the VAT category code (BT-102) for a charge on the whole invoice is not permitted. Correct ram:CategoryTradeTax/ram:CategoryCode within the charge using a code that matches its VAT treatment, then export and recheck your file.

On this page

What it means

In the Basic profiles of Factur-X and ZUGFeRD, this rule checks a non-empty VAT category code for a charge on the whole invoice (BG-21) against the permitted list. It applies where ram:ChargeIndicator/udt:Indicator equals true. Categories include S for standard-rated, Z for zero-rated, E for exempt from VAT, AE for reverse charge, K for intra-community supply, G for export outside the EU and O for outside the scope of VAT. The rule checks the code, not whether the chosen VAT treatment is correct.

Why it matters

The VAT category identifies how the charge belongs in the VAT breakdown. It is distinct from the numerical VAT rate.

How to fix it

Check the VAT treatment of the affected charge and choose the corresponding category. Do not choose S simply because it is an allowed code, or assume the charge always has the same treatment as the goods. In XML, correct ram:CategoryCode inside the charge's ram:CategoryTradeTax. Export and recheck.

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

Updated 6 November 2026