Skip to content

Error

FX-SCH-A-000599: Use a listed invoice-level discount VAT category

In short

Error: fails the selected checks.

FX-SCH-A-000599 means an invoice-level discount (BG-20) has an unlisted VAT category code (BT-95) in your Factur-X or ZUGFeRD EN 16931 invoice. Use the code matching the supplies that the discount reduces, chosen from S, Z, E, AE, K, G, O, L or M.

On this page

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
Rule text from phive-rules 4.6.4.

Check your file

Drop your e-invoice to see whether FX-SCH-A-000599 still fails, and which other rules do.

Updated 6 November 2026