What it means
This rule checks a non-empty ram:CategoryTradeTax/ram:CategoryCode inside a header ram:SpecifiedTradeAllowanceCharge whose ram:ChargeIndicator/udt:Indicator has the literal text false. The permitted codes are S, Z, E, AE, K, G, O, L and M. An empty code passes this test. It does not check the discount amount or VAT rate.
Why it matters
The category associates the discount with a VAT breakdown category. An invoice-level discount need not cover every line, and its VAT rate also matters when grouping amounts.
How to fix it
Correct BT-95 on the affected invoice-level discount. Match its category and applicable VAT rate to the supplies it reduces. If the discount covers supplies with different categories or rates, split it accordingly. In CII XML, correct ram:CategoryTradeTax/ram:CategoryCode inside the relevant header ram:SpecifiedTradeAllowanceCharge with ram:ChargeIndicator/udt:Indicator set to false. 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:CategoryCode' 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 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000599 still fails, and which other rules do.
Related rules
- FX-SCH-A-000600 Check the tax type for the invoice discount
- FX-SCH-A-000601 The reason code for an invoice discount must be valid
- FX-SCH-A-000602 Check the VAT category code for the invoice charge
- FX-SCH-A-000603 Check the tax type for the invoice charge
- FX-SCH-A-000604 The reason code for an invoice charge must be valid
- FX-SCH-A-000605 Use format code 102 for the due date