E-invoicing

Factur-X: the hybrid e-invoice format explained

The Factur-X format explained: a hybrid PDF and XML e-invoice, its profiles, how it maps to EN 16931, and why Belgium invoices over Peppol BIS.

By YouInv Team7 min read
A workspace with a laptop and paper accounting documents, illustrating e-invoicing in the Factur-X format

Key takeaways

  • Factur-X is a hybrid invoice: a human-readable PDF/A-3 with a structured XML file embedded inside it.
  • Its XML uses the UN/CEFACT CII syntax and follows the European EN 16931 standard from the EN 16931 profile upward.
  • Factur-X and Germany's ZUGFeRD have been technically the same format since ZUGFeRD 2.1.
  • In Belgium, the B2B mandate runs over the Peppol network, which exchanges UBL 2.1: Factur-X is not the reference format there.

Can an invoice be both a PDF you read on screen and a file your accounting software processes without re-keying? That is exactly the bet behind the Factur-X format. As structured e-invoicing becomes the rule across Europe, and as Belgium mandates the structured invoice for B2B from 1 January 2026, understanding this hybrid format helps place the technical choices behind the obligation. This article sets out what a Factur-X file actually contains, its profiles, how it maps to the EN 16931 standard, and why Belgium took a different route.

Factur-X, readable and structured at once

The idea is simple: bring the two faces of an invoice together in a single file. On one side, a PDF your customer opens, reads and archives like any invoice. On the other, an XML file hidden inside that PDF, carrying the same information in a form software reads automatically. One document, two readings.

The format is developed jointly by FNFE-MPE in France and the FeRD organisation in Germany. On the German side it goes by the name ZUGFeRD: since ZUGFeRD version 2.1, the two are technically the same format, built on the same syntax and the same standard. Saying Factur-X or ZUGFeRD 2.x refers to the same file.

What a Factur-X file contains

A Factur-X file stacks three elements in one document. Understanding these layers is understanding why the format can serve both the human and the machine.

The three layers of a Factur-X file

  • The PDF/A-3

    The visual rendering of the invoice, readable and printable, in a long-term archival format that allows an embedded file.

  • The embedded XML

    A file named factur-x.xml, in UN/CEFACT CII syntax, carrying the invoice data: parties, lines, VAT breakdown, totals.

  • The metadata

    Information that declares the presence and profile of the XML to the software, so it knows to extract and read it.

The practical promise lies in that layering. A recipient with no suitable tool sees a normal PDF invoice. One whose software recognises Factur-X extracts the XML and books the invoice without re-keying it. The same file works for both.

The profiles: from minimum to complete

Factur-X does not offer a single level of data. The format defines a series of profiles, from the lightest to the richest, by how much information the XML carries. They are not all equal for automation.

Light profiles suit partial capture; only the EN 16931 profile carries the whole European invoice.
Light profilesEN 16931 profile and above
Header data and totals
Line-by-line invoice detailPartialComplete
Full EN 16931 semantic model
Fully automatable processing

The simplest profiles are limited to high-level data, useful for a quick check but not enough for full processing. The EN 16931 profile carries all the information the European standard provides for: it is the level to aim for as soon as you want an invoice that is genuinely usable end to end. Above it, an extended profile adds supplementary fields for sector-specific needs.

Factur-X and EN 16931: the same standard, a different syntax

This is the point that ties Factur-X to the rest of the European ecosystem. The EN 16931 standard defines the semantic model of the invoice, that is, the list of information it must contain, independently of how you write it. The standard admits two XML syntaxes: UBL 2.1 and UN/CEFACT CII.

Factur-X uses the CII syntax for its embedded XML. A Peppol invoice uses the other admitted syntax: UBL 2.1. Both express the same standard, but in two different grammars and two different containers, a PDF on one side, a standalone XML file on the other.

1

document

a PDF/A-3 that also carries the XML

CII

Factur-X XML syntax

one of the two admitted by EN 16931

UBL 2.1

syntax exchanged on Peppol

the other syntax of the same standard

EN 16931-compliant invoices, sent over Peppol

YouInv generates your structured invoices in the Peppol BIS Billing 3.0 profile, validates them and sends them over the Peppol network without you touching the XML.

Factur-X in Belgium: why Peppol BIS stays the reference

That leaves the concrete question: does Factur-X meet the Belgian obligation? The B2B mandate from 1 January 2026 requires a structured invoice compliant with EN 16931, exchanged by default over the Peppol network. The Peppol network carries documents in the Peppol BIS Billing 3.0 profile, in UBL 2.1 syntax. The reference format chosen in Belgium is therefore not Factur-X.

That takes nothing away from the format's value: its XML rests on the same European standard, and a Factur-X file received from a French or German partner remains a usable structured invoice. But to issue your invoices in line with the Belgian obligation, what counts is the ability to produce and send UBL 2.1 over Peppol, not the production of a hybrid PDF. A PDF, even one carrying XML, is not what the network exchanges.

The lesson is the same as for other formats: you do not handle the XML yourself. What changes is the criterion for choosing a tool. In Belgium, check first that it generates, validates and sends Peppol BIS invoices, not merely that it "does e-invoicing".

Further reading

The reference source prevails: the Factur-X specification published by FNFE-MPE.

What is the Factur-X format?

Factur-X is a hybrid invoice format: a human-readable PDF/A-3 file with a structured XML file embedded inside it, readable by software. The PDF and the data describe the same invoice, carried in a single document.

What is the difference between Factur-X and a UBL invoice on Peppol?

Factur-X embeds XML in UN/CEFACT CII syntax inside a PDF; a Peppol invoice is a standalone UBL 2.1 file with no PDF. Both follow EN 16931, but the Peppol network exchanges UBL 2.1, not Factur-X.

Is Factur-X compliant with the EN 16931 standard?

Yes, from its EN 16931 profile upward. The format defines several profiles of increasing data richness; only the EN 16931 profile and above carry the full semantic model of the European invoice.

Can Factur-X be used for the mandatory B2B invoicing in Belgium?

The Belgian mandate from 1 January 2026 requires a structured invoice compliant with EN 16931, exchanged by default over the Peppol network, which uses UBL 2.1. Factur-X is not the reference format chosen in Belgium, even though its XML rests on the same standard.

Are Factur-X and ZUGFeRD the same format?

Technically, yes. Factur-X (France) and ZUGFeRD (Germany) have shared the same UN/CEFACT CII syntax and the same EN 16931 basis since ZUGFeRD 2.1. Both refer to the same hybrid PDF/A-3 file with embedded XML.

Back to blog

Related articles