Factur-X: understanding the hybrid electronic invoice

Factur-X combines a human-readable PDF and a structured, machine-readable XML file. Here's how this hybrid Franco-German format works, what the EN 16931 standard changes, and how to both issue and receive it.

What is Factur-X?

Factur-X is the French hybrid electronic invoice format. Its principle is simple but clever: a single file serves both human and machine. In concrete terms, a Factur-X invoice is a PDF document that is perfectly readable on screen or in print, and into which an XML file is embedded containing the same information in structured form.

This duality solves the old dilemma of dematerialization. For years, businesses exchanged PDFs that the recipient had to re-key or "scan" via OCR, with its share of errors. Conversely, purely structured EDI flows were unreadable without a dedicated tool. Factur-X reconciles the two worlds: the accountant sees a normal invoice, while their software reads the data directly to integrate it without manual entry.

The format was designed jointly by the French National Forum for Electronic Invoicing (FNFE-MPE) and its German counterpart, which makes it an interoperable Franco-German standard.

The hybrid architecture: PDF/A-3 + XML CII

PDF/A-3, the readable layer

The Factur-X container is not an ordinary PDF but a PDF/A-3 (ISO 19005-3 standard). This variant of PDF is dedicated to long-term archiving and has a decisive feature: it officially allows attachments to be embedded inside the document. This is what makes it possible to lodge the XML file directly in the PDF, under a standardized file name (factur-x.xml).

PDF/A-3 also guarantees that the visual rendering will remain faithful in ten or fifteen years, fonts and layout included — an asset for probative retention.

XML CII, the structured layer

The structured data is expressed in XML in CII format (Cross Industry Invoice), a syntax standardized by UN/CEFACT. There you'll find, tagged one by one, all the invoice information: the identity of the seller and buyer, number, dates, line items, VAT bases and rates, totals, payment terms.

In the event of a discrepancy, it is the XML that prevails for automated processing: the accounting software relies on it, not on the visual. The PDF remains the reference representation for the human eye.

The EN 16931 standard, the European foundation

Above the syntax lies the semantics, defined by the European standard EN 16931. Stemming from Directive 2014/55/EU, it establishes a common semantic model: the list of information an electronic invoice must or may contain, and its meaning, independently of the technical language used.

Factur-X is one of the implementations of this standard. An invoice compliant with the EN 16931 core will be understood the same way throughout the European Union, whether expressed in CII or in the alternative UBL syntax. It is this semantic convergence that makes interoperability possible between vendors, countries and platforms.

The Factur-X profiles

Not all invoices need the same richness of data. Factur-X therefore defines several profiles, from the lightest to the most complete:

  • MINIMUM: essential header data, mainly useful for accounting pre-fill.
  • BASIC WL (without lines): totals and VAT, without the line detail.
  • BASIC: adds the detail of the invoice lines.
  • EN 16931: the reference profile, which covers the entire European semantic core.
  • EXTENDED: enriched for complex business cases (multi-delivery, specific sectors).

The higher the profile, the more complete the automation on the recipient's side — with no manual entry or reconciliation.

Factur-X and ZUGFeRD: close cousins

The confusion is common, and for good reason. ZUGFeRD is the German name for the same standard. Since ZUGFeRD 2.x and Factur-X 1.0, the two formats are technically identical: an invoice issued in Factur-X is read without difficulty by a system expecting ZUGFeRD, and vice versa.

The differences mainly concern governance and the naming of the profiles. On the German side, ZUGFeRD notably adds an XRECHNUNG profile dedicated to the public sector. For a French vendor, remembering the essentials is enough: producing compliant Factur-X means producing a document compatible with the German ecosystem.

Issuing and receiving a Factur-X invoice

Issuing

Generating a Factur-X invoice means producing simultaneously the visual representation and the structured data, then merging them into a valid PDF/A-3. The typical steps:

  1. Build the invoice's semantic model (seller, buyer, lines, VAT, totals).
  2. Serialize this data into XML CII according to the chosen profile.
  3. Lay out the readable PDF/A-3.
  4. Embed the XML as a standardized attachment in the PDF.

An integrated invoicing software performs these steps transparently: the user clicks "issue invoice" and gets a compliant hybrid file, ready to be sent. This also applies to upstream documents in the cycle, such as a quote that is later turned into an invoice.

Receiving

On reception, the processing is reversed: the software extracts the XML from the PDF, validates it against the profile and the EN 16931 standard, then automatically integrates the entries and the reconciliation (order, goods receipt, payment). The PDF, for its part, can be filed in the DMS for retention. The benefit is immediate: an end to re-keying, fewer errors and a faster validation cycle.

Factur-X in the French reform

Factur-X holds a central place in the generalization of electronic invoicing between businesses. The reform retains three base formats: CII, UBL and Factur-X (the hybrid). Flows transit through Partner Dematerialization Platforms, or PDPs, tasked with issuing, transmitting and receiving invoices.

The announced timeline provides for a reception obligation for all businesses, then a staggered issuance obligation based on company size. Anticipating this change means ensuring your tools already know how to produce and read Factur-X — and that accounting data flows cleanly into the finance module, all the way to obligations such as the FEC. (Since the regulatory timeline may evolve, always check the official deadlines in force.)

Going further with eyeot

eyeot is a French ERP that covers the full quote → order → invoice cycle, with an invoicing module and a finance module linked to document management. If the hybrid electronic invoice is one of your projects, the free individual account lets you test the tool with no credit card and no time limit. A good opportunity to calmly prepare the transition to Factur-X.

On the same topic

All articles

Try eyeot for free

eyeot is a French all-in-one ERP for small and mid-sized businesses, hosted in France and GDPR-compliant. Free for individuals (1 user, every module); simple team packs for companies.