Factur-X
France · mandate 1 Sept 2026Factur-X is France's hybrid e-invoice format: an ordinary, human-readable PDF with a compliant CII XML file embedded inside it as a PDF/A-3 attachment. One file works for both a person opening it and a system parsing it.
What it is
The visible PDF and the embedded factur-x.xml (CII, EN 16931 profile) describe the same invoice — that's the whole idea of the format. It's also the XML syntax German ZUGFeRD 2.x uses, so a well-formed Factur-X document is broadly interoperable across both markets.
Where it's mandatory
France's B2B e-invoicing mandate starts 1 September 2026: every French B2B invoice must travel through a registered Plateforme Agréée, most commonly as Factur-X. See our dedicated pre-flight page for the full BR-FR rule set (61 codes) and PA-specific guidance — this page covers the Factur-X document format itself.
What we don't do. CrateAPI is not a Plateforme Agréée and doesn't transmit invoices through one. We produce and validate the document; submitting it through a registered PA stays a separate step.
Try it
curl -X POST "$BASE/v1/generate/facturx/embed" \ -H "X-API-Key: $KEY" \ -F "invoice=<invoice.json" -F "pdf=@branded.pdf" -o facturx.pdf
Relevant endpoints
| Endpoint | Notes |
|---|---|
POST /v1/generate/facturx | From a JSON invoice model — our own visual layout, EN 16931 CII embedded. |
POST /v1/generate/facturx/embed | The flagship: keeps YOUR branded PDF, embeds the compliant XML. Multipart, PDF up to 10 MB. |
POST /v1/pdfa/validate?flavour=3bfree | veraPDF structural check of the PDF/A-3 container — passed/failed rules and clauses. |
POST /v1/pdfa/consistency | Compares the embedded XML against the PDF's visible text, catches drift between the two. |
Samples & docs
Download a validated Factur-X sample from our sample library, read the French pre-flight guide, or see the full API reference.
FAQ
Does Factur-X replace my existing invoice design?
Not if you don't want it to — POST /v1/generate/facturx/embed takes your existing branded PDF and embeds the compliant XML into it, keeping your layout.
Is this the same as ZUGFeRD?
Same CII core and same hybrid-PDF idea, different national ecosystems — a Factur-X file is generally readable by ZUGFeRD 2.x tooling. See our XRechnung page for Germany's XML-only option.
Does CrateAPI submit my invoice to a Plateforme Agréée?
No — transmission through a PA is a separate step. See /plateforme-agreee/ for the pre-flight checklist.