/xXSDHub

EN 16931 invoice validation: UBL and CII

Understand the difference between XML syntax, invoice schemas and EN 16931 business rules.

Three checks, different questions

XML syntax establishes that a document can be parsed. UBL 2.1 or CII D16B schemas describe allowed structure and types. EN 16931 business rules add constraints such as required business terms, code values and arithmetic consistency. A schema pass alone does not establish an EN 16931 rule pass.

Use the syntax and schema required by your receiving contract. Do not remove a field or change a tax total simply to silence a validator. Trace the reported business term back to your source accounting data, correct the export and check the complete invoice again.

Rules, scope and source

Checks against the official EN 16931 rules version 1.3.16 (UBL 2.1 and CII D16B), with XRechnung 3.0.2 national rules version 2.6.0 when selected. XSD structure is checked first. A pass covers these fixed technical rules; it is not certification or acceptance by a tax authority or recipient. Peppol has additional rules; these are linked only and are not checked here.

Rule sources, licences, notices and service source: EN artefacts EUPL 1.2, KoSIT rules Apache 2.0, SaxonC-HE MPL 2.0. Rules are pinned; this page does not claim they are the latest required release for your recipient.

Maximum 10 MB per invoice, two concurrent workers, 20-second deadline, 15 CPU seconds per worker, 64 GiB virtual address ceiling, 1,200 MiB total service memory and at most 100 report entries. The larger supplied schema files are allowed only in the fixed official package; user schema upload limits remain 1 MB.

Check an invoice with explicit server consent →

Official versioned rules and source · XRechnung adds national requirements.