Docento.app
Modern boardroom with empty chairs
All Posts

Factur-X and ZUGFeRD Explained: The PDF Invoice With XML Inside

By The Docento.app TeamPublished 3 min read
Try Docento's free PDF editor — No sign-up, 100% private — sign, annotate, and stamp PDFs in your browser.Open the editor

Factur-X (France) and ZUGFeRD (Germany) are the same idea under two names: a normal-looking PDF invoice that carries a structured XML copy of its own data inside the file. People read the page. Accounting software reads the XML. Since version 2.1, ZUGFeRD and Factur-X are technically aligned, so one file can satisfy both.

With France's mandate live since September 2026 and Germany's issuing obligation starting in 2027, this hybrid format is suddenly everywhere.

How the two layers fit together

A Factur-X invoice has three parts:

  1. A PDF/A-3 document. PDF/A-3 is the archival version of PDF that allows embedded files. The archival rules (embedded fonts, no external dependencies) mean the invoice will still render in twenty years.
  2. An XML attachment, usually named factur-x.xml or zugferd-invoice.xml, using the UN/CEFACT Cross Industry Invoice (CII) syntax.
  3. XMP metadata in the PDF that declares the file is Factur-X and names the profile used.

Because the XML sits inside the PDF as an associated file, you can email or upload one file and the receiver gets both versions. See PDF attachments and embedded files for how embedding works in general.

The profiles

Factur-X defines several profiles, from least to most detailed:

  • MINIMUM and BASIC WL: header-level data only, no line items. Useful for reporting but not accepted as a full e-invoice in most mandates.
  • BASIC: adds line items.
  • EN 16931 (COMFORT): complete data matching the European e-invoicing standard. This is the profile to aim for.
  • EXTENDED: extra fields for complex industries.
  • XRECHNUNG: a German profile matching the public-sector XRechnung rules.

If your software asks which profile to generate, EN 16931 is the safe default for B2B.

Which layer is authoritative?

The XML is. The visual PDF is a human-readable representation, and if the two disagree, the structured data is what the receiving system books and what tax platforms report. That has a practical consequence: never edit the visible part of a hybrid invoice. If you change an amount in a PDF editor, the XML still says the old number, and you now have an inconsistent document.

How to tell if a PDF invoice is hybrid

Open the attachments panel in a desktop PDF reader. A hybrid invoice lists an XML file there. You can also check the document properties for PDF/A-3 conformance. Our step-by-step guide on checking a PDF invoice for embedded XML covers each reader.

Things that break a Factur-X file

  • Printing to PDF. "Print to PDF" re-renders the pages and drops the attachment.
  • Compressing with aggressive tools. Some compressors strip embedded files and XMP metadata.
  • Merging into a bundle. Combining an invoice with other documents produces a new file that is no longer a valid Factur-X invoice.
  • Signing with tools that are not PDF/A aware, which can break the archival conformance.

For internal workflows (approval stamps, merged approval packs), work on a copy and archive the original untouched. Tools like Docento.app are fine for annotating that copy in the browser.

Takeaway

Factur-X is a clever compromise: it keeps the PDF people trust and adds the structured data that regulators require. Treat the file as two documents glued together, keep the original intact, and let your accounting software read the XML. For the regulatory side, see France's e-invoicing mandate and PDF/A explained.

Try Docento's free PDF editor

No sign-up, 100% private — sign, annotate, and stamp PDFs in your browser.

Open the editor

Related Posts