cvc-minLength-valid:Value is shorter than the minimum length declared in the schema
Fix: Either delete the empty element where the CIUS allows zero occurrences, or supply a non-empty value from a sibling field; for required fields with no fallback the caller must provide the missing data. Provide the required value in the free validator.
cvc-minLength-valid is an XSD facet-validation error raised when a string is shorter than the xsd:minLength facet on its simple type. The canonical message reads: "Value 'X' with length = N is not facet-valid with respect to minLength '1' for type 'T'." In EN 16931 invoices the overwhelming majority of cases are minLength=1 violations — i.e. an empty element. The XSD treats the empty string as a structural failure, even though the surrounding element is technically present.
Engine Classification
Business data required · Explicit input workflow · No assumptions made
What is cvc-minLength-valid?
cvc-minLength-valid is a fatal validation rule defined in the xsd specification.
When this rule fires, the invoice is rejected by Peppol access points and never reaches the buyer.
Why This Error Matters
XSD minLength is one of the most common reasons an EN 16931 invoice fails before Schematron even runs. ERP serialisers that always emit a configured node — even when the source field is null — produce empty elements that the parser rejects as structurally invalid.
cvc-minLength-valid is a hard failure — the invoice must be corrected and re-sent before it can reach the recipient.
Validator Behavior
- ·Causes invoice rejection
- ·Error returned: cvc-minLength-valid
- ·Specification: xsd
Before / After
<cbc:Note></cbc:Note>
<!-- element removed -->
Technical Reference
Seeing this in production? The API handles cvc-minLength-valid automatically. See the fix response →
Frequently Asked Questions
xsd:minLength counts characters. An empty string has length 0, which is below minLength=1. The element being present in the XML does not change that.
No. Whitespace-only values may pass the schema but fail downstream business rules and create noise for human readers. Either supply a real value or omit the element if the CIUS allows it.
Removing the element is auto-fixable when the parent allows zero occurrences — Invoice Navigator applies that transformation deterministically. Filling in a real value is not auto-fixable for required fields.
BT-22 Invoice note, BT-153 Item description, BT-21/BT-23 Invoice/Subject codes when the ERP exports an empty wrapper, and BT-44 Buyer name when the partner record is incomplete.
Yes. The CII binding inherits its facets from the same UN/CEFACT XSDs. ram:Content and ram:Name carry the same minLength=1 facet, so empty exports fail identically.
Related Content
Last updated: 5 May 2026
Validate your invoice
Drop your XML here to check for cvc-minLength-valid
Fix cvc-minLength-valid with guided input
Upload your invoice and we'll ask for the missing data, then apply a safe, auditable fix.