errorformatxsd

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.

Severity
Fatal
Rule set
xsd
Country
All EU
Fix type
INPUT REQUIRED
Confidence
80%

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

Failing XML
<cbc:Note></cbc:Note>
Corrected XML
<!-- element removed -->

Technical Reference

Specxsd

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

Share this guide:

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.