What it means
Each ram:AppliedTradeTax inside a header-level ram:SpecifiedLogisticsServiceCharge must contain one direct ram:TypeCode element. This rule checks the number of elements, not their values.
Why it matters
The tax type code identifies which tax the block describes. The Extended profile specifies one such element in each of these tax blocks.
How to fix it
Correct ram:TypeCode inside the affected ram:SpecifiedLogisticsServiceCharge/ram:AppliedTradeTax. Add the element if it is missing, or remove duplicates while retaining the correct tax type. For VAT, use the code VAT. Export and recheck your 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
Element 'ram:TypeCode' must occur exactly 1 times. Where this rule applies
| Rule set | Version |
|---|---|
| Factur-X 1.09 EXTENDED | 1.0.9-2 |
| ZUGFeRD 2.5 EXTENDED | 2.5.2 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000964 still fails, and which other rules do.
Related rules
- FX-SCH-A-000965 One VAT category per logistics charge tax block
- FX-SCH-A-000966 Permitted VAT category code for a logistics charge
- FX-SCH-A-000967 Permitted exemption reason code for a logistics charge
- FX-SCH-A-000968 Permitted tax type code for a logistics charge
- FX-SCH-A-000969 Unit code for an invoice discount's basis quantity
- FX-SCH-A-000970 Permitted VAT category code for an invoice discount