UN/CEFACT CII D16B
The syntax inside Factur-X & XRechnungCross Industry Invoice (CII) D16B is the other EN 16931 XML syntax alongside UBL — a single-document schema that underlies both Factur-X/ZUGFeRD's hybrid PDF format and one of the two valid XRechnung syntaxes.
Part of CrateAPI's format coverage — see all formats.
This format is generated and validated by CrateAPI's E-Invoicing API.
What it is
Where UBL splits invoices and credit notes into separate root elements, CII represents both as one CrossIndustryInvoice document distinguished by a type code. CrateAPI generates and validates plain CII XML directly — you don't need to go through Factur-X to get it.
Where it's mandatory
You rarely choose CII on its own — it shows up as the syntax inside Factur-X (France), as one of two valid XRechnung syntaxes (Germany), or when a trading partner's system is CII-native and you need to convert from UBL.
What we don't do. CII and UBL cover the same EN 16931 semantic model, just in different XML shapes — that's why conversion between them is lossless-or-rejected rather than a lossy best-effort guess.
Try it
curl -X POST "https://api.crateapi.com/v1/generate/cii?profile=en16931" \ -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \ -d @invoice.json -o invoice.xml
Relevant endpoints
| Endpoint | Notes |
|---|---|
POST /v1/generate/cii?profile=en16931|xrechnung | en16931 or xrechnung profile — same engine as the UBL side. |
POST /v1/validate/cii?profile=en16931|xrechnungfree | Official schematron + XSD rules, structured findings. |
POST /v1/convert/{ubl-to-cii,cii-to-ubl} | Lossless-or-rejected — 422 with the exact unsupported features, never a silent downgrade. |
POST /v1/render/{html,pdf} | CII auto-detected alongside UBL, no separate flag needed. |
Samples & docs
Download validated CII sample files (invoice and credit note) from our sample library, or read the full API reference.
FAQ
Should I use UBL or CII?
If you're free to choose, UBL/Peppol is the more common pan-EU default. Use CII when a trading partner requires it, or when you need Factur-X/ZUGFeRD or XRechnung's CII option.
Can I convert between UBL and CII?
Yes — POST /v1/convert/{ubl-to-cii,cii-to-ubl}, lossless-or-rejected: if a feature can't survive the conversion you get a 422 with the exact list, never a silently degraded invoice.
Does CII support credit notes?
Yes, the same document type with a different type code — see the CII group in our sample library for both an invoice and a credit note.