Skip to content

Error

FX-SCH-A-000474: Each discount tax block needs one VAT category element

In short

Error: fails the selected checks.

FX-SCH-A-000474 means an existing tax block for an invoice-level discount (BG-20) contains either no ram:CategoryCode element for the VAT category (BT-95) or more than one. Keep exactly one element containing the category that actually applies to the discount.

On this page

What it means

Under ram:ApplicableHeaderTradeSettlement, this rule selects ram:SpecifiedTradeAllowanceCharge entries whose ram:ChargeIndicator/udt:Indicator text equals false. It requires exactly one ram:CategoryCode in each existing ram:CategoryTradeTax. It does not require a tax block to exist or check the category value. An empty element still counts. The rule applies to Basic WL, Basic, EN 16931 and Extended.

Why it matters

The VAT category identifies the discount's VAT treatment and its corresponding category in the VAT breakdown.

How to fix it

Confirm the VAT treatment of the discount rather than choosing a default category. Add a missing ram:CategoryCode or remove duplicate elements within the affected ram:CategoryTradeTax. Use S only if standard-rate VAT applies. Export the corrected invoice and check it again.

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

Element 'ram:CategoryCode' must occur exactly 1 times.

Where this rule applies

Rule set Version
Factur-X 1.09 BASIC WL 1.0.9-2
Factur-X 1.09 BASIC 1.0.9-2
Factur-X 1.09 EN 16931 1.0.9-2
Factur-X 1.09 EXTENDED 1.0.9-2
ZUGFeRD 2.5 BASIC WL 2.5.2
ZUGFeRD 2.5 BASIC 2.5.2
ZUGFeRD 2.5 EN 16931 2.5.2
ZUGFeRD 2.5 EXTENDED 2.5.2
Rule text from phive-rules 4.6.4.

Check your file

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

Updated 6 November 2026