Factur-X Guide: EN 16931 Hybrid PDF + XML

Learn how Factur-X embeds EN 16931 CII XML in PDF/A-3. Generate a compliant hybrid invoice with Eurorix and download PDF and XML from one form.

What this covers

Type
Hybrid PDF/A-3 + XML
Profiles
Minimum → EN 16931 → Extended
Validation
Schematron + PDF/A-3

Anatomy of a Factur-X file

A Factur-X invoice is two artifacts fused into one: a PDF/A-3 document that a human reads like any normal invoice, and a CII XML file embedded inside it that machines parse. The PDF layer uses the PDF/A-3 archival profile, which is what permits file attachments inside the document; the XML layer follows the UN/CEFACT Cross-Industry Invoice syntax mapped to the EN 16931 semantic model.

The profiles ladder by data completeness: Minimum (bare essentials for French tax reporting), Basic WL (without line detail), Basic, EN 16931 (the full European core — the profile most mandates expect), and Extended (superset for complex cases). When a buyer or platform says "Factur-X," they almost always mean the EN 16931 profile — verify which profile a channel requires before generating.

How EN 16931 rules show up in the XML

The business rules translate directly into XML structure: every VAT rate applied becomes a tax subtotal group (which is why mixed-rate invoices must group lines correctly — BR-CO-17 and friends), every line carries quantity, unit price, and VAT category, and document totals must reconcile with the sum of lines and tax groups to defined tolerances.

Mandatory fields that surprise PDF-first businesses: the buyer's legal identifier or VAT ID where required, seller contact, payment means with an actual account, and structured addresses (country codes at minimum). The good news is these rules are mechanical — once your data model captures them, generation is deterministic and validation is a check, not a rewrite.

Validating and sending a Factur-X invoice

Validation has two layers you should both run: the XML must pass the Factur-X Schematron rules for its declared profile, and the PDF must be a conforming PDF/A-3 with the attachment present and correctly named. Free validators (the FNFE-MPE tooling, veraPDF for the PDF/A-3 side, or the validators PDP platforms expose) catch problems before a counterparty does.

On delivery, Factur-X travels however the channel allows: email during transition periods, a French PDP for domestic French flows, or Peppol where both parties are on the network. Keep the file you sent — not a re-render — as your archive: it is simultaneously the human-readable original and the structured evidence of what was invoiced.

Last reviewed September 2026 by the Eurorix team.

Common questions

Is Factur-X a PDF or an XML file?

Both. Factur-X is a PDF/A-3 document with an EN 16931 CII XML file embedded inside it — humans read the PDF while ERP and accounting systems parse the XML from the same file.

Which Factur-X profile should I use?

EN 16931 is the common choice for EU B2B compliance because it carries the full invoice data model. Minimum and Basic profiles exist for lighter use cases but may not satisfy every mandate's field requirements.