UN/CEFACT Cross Industry Invoice D16B
The CII syntax of EN 16931: the XML inside Factur-X and ZUGFeRD PDFs and the CII flavour of XRechnung.
About
This is the D16B subset with uncoupled code lists that the European Commission publishes with the EN 16931 validation artefacts. Code values are checked by the Schematron rules there, not by the schema.
To check a Factur-X or ZUGFeRD invoice, extract the embedded factur-x.xml or zugferd-invoice.xml from the PDF first.
Good to know
- This entry checks the schema only. For the business rules, choose the EN 16931 (CII), XRechnung (CII), Factur-X or French CII entry.
- The example is from the EN 16931 validation artefacts by the European Commission (EUPL 1.2).
Files
4 files · 140.6 KB-
uncefact/data/standard/CrossIndustryInvoice_100pD16B.xsd main
-
uncefact/data/standard/CrossIndustryInvoice_QualifiedDataType_100pD16B.xsd
-
uncefact/data/standard/CrossIndustryInvoice_ReusableAggregateBusinessInformationEntity_100pD16B.xsd
-
uncefact/data/standard/CrossIndustryInvoice_UnqualifiedDataType_100pD16B.xsd
The validator loads all of these with their folder structure, so includes and imports resolve as published.
Example document
CII_example1.xml · 33.7 KB · valid against this schema
In CI and from code
The same schema by its name, cii-d16b, through the API.
npx @xmlvalid/cli validate "**/*.xml" --schema cii-d16b
- uses: xmlvalid/validate-action@v1
with:
files: "**/*.xml"
schema: cii-d16b
api-key: ${{ secrets.XMLVALID_API_KEY }}
curl https://xmlvalid.com/api/v1/validations \
-H "Authorization: Bearer $XMLVALID_API_KEY" \
-F document={{ $schema->example ?? 'document.xml' }} -F schema=cii-d16b
Free accounts get 100 API validations a month. On Pro, a URL monitor can check a published document against this schema every hour and email you when it breaks. More CI setups