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 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000521 still fails, and which other rules do.
Related rules
- FX-SCH-A-000522 Use an allowed tax type code for an invoice charge
- FX-SCH-A-000523 Use a valid reason code for an invoice charge
- FX-SCH-A-000524 Use an allowed due date format code
- FX-SCH-A-000525 Use a valid currency code on the invoice VAT total
- FX-SCH-A-000526 Use a valid currency code on the accounting VAT total
- FX-SCH-A-000527 Use an allowed payment means code