Skip to content

Error

FX-SCH-A-000178: Each VAT breakdown row needs exactly one VAT category element

In short

Error: fails the selected checks.

FX-SCH-A-000178 means a header VAT breakdown row has no ram:CategoryCode or has more than one. Include the row's VAT category code (BT-118) in exactly one element, then export and check the file again.

On this page

What it means

Each ram:ApplicableTradeTax under ram:ApplicableHeaderTradeSettlement must contain exactly one ram:CategoryCode for the VAT breakdown row (BG-23). This rule counts the elements. It does not check whether the code is allowed or whether a VAT rate is required.

Why it matters

The VAT category identifies the row's VAT treatment, such as S for standard-rated VAT, Z for zero-rated VAT, E for exempt from VAT or AE for reverse charge. The profile provides one category element per row.

How to fix it

Check the intended VAT category for the affected VAT breakdown row. Add ram:CategoryCode if it is missing, or retain the correct code in one element if it is repeated. Do not add a VAT rate solely to satisfy this rule. Export and check the corrected file 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-000178 still fails, and which other rules do.

Updated 6 November 2026