errorstructurecii-d16b

CII-DT-018:TypeCode should not be present on this element

Fix: Delete every ram:TypeCode that is not on ram:AdditionalReferencedDocument; where allowed, keep only the values 50, 130, or 916. Upload your invoice to fix this automatically.

CII-DT-018 is an EN 16931 datatype assertion on the CII binding. It forbids a ram:TypeCode child on any element except ram:AdditionalReferencedDocument, and even there restricts the value to UNTDID 1001 codes 50 (price/sales catalogue), 130 (invoicing data sheet), or 916 (related document).

Severity
Fatal
Rule set
cii-d16b
Country
All EU
Fix type
AUTO-FIX
Confidence
92%

Engine Classification

Structural normalization · No financial impact · Safe deterministic remediation

Confidence: 92% · Applied automatically in pipeline

What is CII-DT-018?

CII-DT-018 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 narrows the UN/CEFACT CII dictionary so every receiver across Europe interprets the same invoice identically. Forbidden TypeCode children carry no meaning the standard recognises and can be safely removed.

CII-DT-018 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-018
  • ·Specification: cii-d16b

Before / After

Failing XML
<ram:AdditionalReferencedDocument><ram:IssuerAssignedID>PO-2026-0041</ram:IssuerAssignedID><ram:TypeCode>999</ram:TypeCode><ram:ReferenceTypeCode>PO</ram:ReferenceTypeCode></ram:AdditionalReferencedDocument>
Corrected XML
<ram:AdditionalReferencedDocument><ram:IssuerAssignedID>PO-2026-0041</ram:IssuerAssignedID><ram:ReferenceTypeCode>PO</ram:ReferenceTypeCode></ram:AdditionalReferencedDocument>

Technical Reference

Speccii-d16b

Seeing this in production? The API handles CII-DT-018 automatically. See the fix response →

Frequently Asked Questions

EN 16931 is an interoperability profile that removes optional children from the wider UN/CEFACT CII dictionary to prevent ambiguity between senders and receivers.

Only UNTDID 1001 codes 50 (price or sales catalogue), 130 (invoicing data sheet), and 916 (related document). Any other value fails CII-DT-018.

Yes in most cases. Deleting a forbidden TypeCode is deterministic because EN 16931 ignores it anyway. Invoice Navigator applies the deletion automatically.

No. EN 16931 receivers ignore TypeCode children that are not on AdditionalReferencedDocument, so removing them preserves all business meaning.

No. MINIMUM and BASIC WL do not run EN 16931 Schematron. CII-DT-018 fires for every ZUGFeRD profile from BASIC upwards and for all Factur-X profiles.

Related Content

Last updated: 22 April 2026

Share this guide:

Validate your invoice

Drop your XML here to check for CII-DT-018

Auto-fix CII-DT-018 in seconds

Upload your invoice and we fix this error automatically. Financial fields are never touched.