What it means
Under ram:ApplicableHeaderTradeSettlement, this rule selects ram:SpecifiedTradeAllowanceCharge entries whose ram:ChargeIndicator/udt:Indicator text equals false. It then requires exactly one ram:TypeCode in each existing ram:CategoryTradeTax. It does not require the tax block to exist or check the code value. The VAT category (BT-95) and VAT rate (BT-96) are separate fields.
Why it matters
The tax type identifies the tax described by the block. It is distinct from the VAT category and rate assigned to the discount.
How to fix it
In each affected discount's ram:CategoryTradeTax, add a missing ram:TypeCode or remove duplicate ram:TypeCode elements. For VAT, use VAT as the value. Keep the discount's actual VAT category and applicable rate in their separate fields, then export and recheck the 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
Element 'ram:TypeCode' 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 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000473 still fails, and which other rules do.
Related rules
- FX-SCH-A-000474 Each discount tax block needs one VAT category element
- FX-SCH-A-000475 Use an allowed VAT category for the discount
- FX-SCH-A-000476 Use an allowed tax type code for the discount
- FX-SCH-A-000477 Keep one charge indicator on an invoice-level charge
- FX-SCH-A-000478 Each whole-invoice charge needs one amount
- FX-SCH-A-000479 Each whole-invoice charge needs one VAT details block