E-Invoice Format Conversion API
Move invoices between UBL, CII, XRechnung, ZUGFeRD, and Factur-X with deterministic, Schematron-validated syntax conversion. One endpoint per direction, every EN 16931 Business Term preserved.
Convert
Deterministic syntax conversion between all EN 16931 formats, Schematron-validated on the way out.
Convert UBL to CII
Transform UBL 2.1 invoices into UN/CEFACT CII D16B XML, ready for ZUGFeRD and Factur-X embedding.
Convert CII to UBL
Transform UN/CEFACT CII XML into Peppol-ready UBL 2.1 invoices.
Convert UBL to XRechnung
Promote EN 16931 UBL to the German B2G CIUS, KoSIT-validated for ZRE and OZG-RE.
Convert XRechnung to ZUGFeRD
Turn machine-only XRechnung XML into a human-readable ZUGFeRD hybrid PDF/A-3.
Convert XRechnung to Factur-X
Turn XRechnung XML into a Factur-X hybrid PDF/A-3 with French XMP branding.
All 16 conversion directions
UBL, CII, XRechnung, ZUGFeRD, and Factur-X in every supported combination, including hybrid PDFs both ways.
Deterministic conversion, not AI extraction
InvoiceXML has two families of format endpoints, and picking the right one matters. The /v1/convert endpoints on this page perform a rule-based syntax mapping between structured EN 16931 documents: the same input always yields the same output, byte for byte, with no model in the loop. The /v1/transform endpoints are the opposite tool: AI reads an ordinary PDF that has no structured data at all and builds an e-invoice from what it sees. If your source is already XML (or a hybrid PDF with XML inside), convert is the correct, auditable choice.
Full semantic mapping
Every EN 16931 Business Term is relocated to its correct position in the target syntax, including the grouping differences between UBL components and the CII trade model that break naive XSLT approaches.
Validated before delivery
Every output passes the applicable Schematron rule set before you receive it. Failures come back as HTTP 400 with rule IDs and field paths, never as a silently broken download.
Hybrid PDFs both ways
Convert XML into complete ZUGFeRD or Factur-X hybrids with a freshly rendered visual layer, or feed a hybrid PDF in and get standalone UBL or CII XML out.
Standards maintained for you
When CEN or KoSIT publishes new artefacts, the mapping and validation rules switch on the official effective date, server-side. Your integration keeps calling the same URLs.
Every conversion direction
All pairs follow the same pattern: POST /v1/convert/{source}/to/{target} with the file as multipart/form-data. XML targets return application/xml, hybrid targets (facturx, zugferd) return the finished PDF/A-3.
| Source | Target | Output | Reference |
|---|---|---|---|
| UBL 2.1 | CII D16B | XML | Landing + demo · Docs |
| CII D16B | UBL 2.1 | XML | Landing + demo · Docs |
| UBL 2.1 | XRechnung | XML | Landing + demo · Docs |
| CII D16B | XRechnung | XML | Docs |
| XRechnung | UBL 2.1 | XML | Docs |
| XRechnung | CII D16B | XML | Docs |
| XRechnung | ZUGFeRD | PDF/A-3 | Landing + demo · Docs |
| XRechnung | Factur-X | PDF/A-3 | Docs |
| UBL 2.1 | ZUGFeRD | PDF/A-3 | Docs |
| UBL 2.1 | Factur-X | PDF/A-3 | Docs |
| CII D16B | ZUGFeRD | PDF/A-3 | Docs |
| CII D16B | Factur-X | PDF/A-3 | Docs |
| Factur-X PDF | UBL 2.1 | XML | Docs |
| Factur-X PDF | CII D16B | XML | Docs |
| ZUGFeRD PDF | UBL 2.1 | XML | Docs |
| ZUGFeRD PDF | CII D16B | XML | Docs |
Frequently asked questions
What is the difference between the convert and transform endpoints?
The /v1/convert family is a deterministic syntax mapping between structured EN 16931 formats: the same input always produces the same output, and no AI is involved. The /v1/transform family uses AI to extract invoice data from ordinary PDFs that have no structured data at all. If your source is already UBL, CII, XRechnung, ZUGFeRD, or Factur-X, always use convert.
Is invoice data lost when converting between UBL and CII?
No. UBL and CII are two syntax bindings of the same EN 16931 semantic model. The conversion maps every Business Term present in the source document to its location in the target syntax; only the XML shape changes.
Are the converted documents validated?
Yes. Every output is validated against the applicable Schematron rule set (EN 16931, and additionally KoSIT for XRechnung targets) before delivery. Instead of a broken file you receive an HTTP 400 with structured findings: rule ID, human-readable message, and field path.
Can I convert a ZUGFeRD or Factur-X PDF directly?
Yes. The facturx and zugferd source endpoints accept the hybrid PDF directly, extract the embedded CII, and convert it to UBL or standalone CII in one call. In the other direction, the facturx and zugferd target endpoints render a visual layer from your XML and return a complete hybrid PDF/A-3.
Can I use the conversion API for free?
Yes. A free tier is available with no credit card required. It covers a generous number of monthly conversions, suitable for development and low-volume production use.
Start converting in minutes.
Free trial available, no credit card required. Upgrade when you need more volume.