CII-DT-037:Tax category TypeCode must be 'VAT'
Fix: Set every ram:TypeCode under a CII tax block to the literal VAT; route non-VAT taxes through a different invoice channel. Upload your invoice to fix this automatically.
CII-DT-037 is a fatal EN 16931 datatype assertion on the CII binding. It restricts ram:TypeCode inside ram:ApplicableTradeTax and ram:CategoryTradeTax to the literal value 'VAT'. EN 16931 is a VAT-centric standard and rejects every other UN/EDIFACT 5153 tax type.
Engine Classification
Structural normalization · No financial impact · Safe deterministic remediation
Confidence: 95% · Applied automatically in pipeline
What is CII-DT-037?
CII-DT-037 is a fatal validation rule defined in the cii-d16b specification.
When this rule fires, the invoice is rejected by Peppol access points and never reaches the buyer.
Why This Error Matters
EN 16931 is deliberately narrow to keep pan-European invoicing unambiguous. A single accepted tax type code prevents receivers from having to implement multi-tax-regime logic.
CII-DT-037 is a hard failure — the invoice must be corrected and re-sent before it can reach the recipient.
Invoice Navigator can automatically correct this error in your pipeline. The fix is applied with full audit evidence, so your compliance trail remains intact.
Validator Behavior
- ·Causes invoice rejection
- ·Fails CII schema validation
- ·Error returned: CII-DT-037
- ·Specification: cii-d16b
Before / After
<ram:ApplicableTradeTax><ram:CalculatedAmount>19.00</ram:CalculatedAmount><ram:TypeCode>GST</ram:TypeCode><ram:BasisAmount>100.00</ram:BasisAmount><ram:CategoryCode>S</ram:CategoryCode><ram:RateApplicablePercent>19.00</ram:RateApplicablePercent></ram:ApplicableTradeTax>
<ram:ApplicableTradeTax><ram:CalculatedAmount>19.00</ram:CalculatedAmount><ram:TypeCode>VAT</ram:TypeCode><ram:BasisAmount>100.00</ram:BasisAmount><ram:CategoryCode>S</ram:CategoryCode><ram:RateApplicablePercent>19.00</ram:RateApplicablePercent></ram:ApplicableTradeTax>
Technical Reference
Seeing this in production? The API handles CII-DT-037 automatically. See the fix response →
Frequently Asked Questions
EN 16931 is the European VAT invoicing standard. Supporting other tax types would require different semantic fields and code lists, so the standard restricts itself to VAT.
Yes when the underlying tax is a VAT. Invoice Navigator substitutes the TypeCode string automatically. When the underlying tax is not a VAT, the invoice is out of EN 16931 scope and the fix is blocked.
Yes. CII-DT-037 fires on any ram:TypeCode descendant of either block.
Exemption uses TypeCode=VAT combined with ram:CategoryCode=E and an ExemptionReason. The TypeCode stays VAT even when no VAT amount is charged.
Every EN 16931 CII validator: KoSIT XRechnung, the EN 16931 reference Schematron, Peppol Access Points that run the EN 16931 layer, and Factur-X and ZUGFeRD 2.x from BASIC upwards.
Related Content
Last updated: 22 April 2026
Validate your invoice
Drop your XML here to check for CII-DT-037
Auto-fix CII-DT-037 in seconds
Upload your invoice and we fix this error automatically. Financial fields are never touched.