What it means
This rule checks a non-empty ram:CategoryCode within the tax details of a document-level discount. Its CII context selects ram:SpecifiedTradeAllowanceCharge where ram:ChargeIndicator/udt:Indicator has the value false. It does not cover line discounts or document-level charges. The category list includes S, Z, E, AE, K, G, O, L and M. This test checks list membership, not whether the category is required or appropriate.
Why it matters
The category links the discount to its tax treatment in the VAT breakdown.
How to fix it
Correct ram:CategoryTradeTax/ram:CategoryCode within the affected ram:SpecifiedTradeAllowanceCharge under ram:ApplicableHeaderTradeSettlement. Match the code to the discounted goods or services, keeping the category separate from the VAT rate. Include L or M where the relevant special tax category applies. Recheck the corrected 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: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-000518 still fails, and which other rules do.
Related rules
- FX-SCH-A-000519 Use an allowed tax type code for an invoice discount
- FX-SCH-A-000520 Use a valid reason code for an invoice discount
- FX-SCH-A-000521 Use a valid VAT category code for an invoice charge
- 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