Skip to content

Hybrid PDF: PDF/A-3 with embedded XML

A hybrid PDF carries both things in one file: a visual layer a person can read, and an embedded invoice XML a machine evaluates. Technically it is a PDF/A-3 with attached CII XML. The two widespread variants are called ZUGFeRD (Germany) and Factur-X (France) — the same format under two brand names.

The recipient does not need to know whether they are a machine or a person. An accounting system reads the XML and posts automatically; whoever opens the file sees an ordinary invoice. A bare XML, by contrast, is unreadable for people, and a bare PDF unreliable for machines.

Tool Direction
Create build a hybrid PDF from a form (selectable as an output type only with ZUGFeRD)
Extract retrieve the embedded XML from an existing hybrid PDF
Combine join your own invoice PDF and your own XML into a hybrid PDF

When extracting, the usual attachment names are found: factur-x.xml, zugferd-invoice.xml, xrechnung.xml and order-x.xml.

The assurance is established in three stages: if the visual layer is already PDF/A-3 it stays so; otherwise it is lifted additively; otherwise the PDF engine steps in.

Such a file is then a PDF with an attachment, not a PDF/A-3. For the machine recipient that makes no difference; for audit-proof long-term storage it does.

Two notices appear if something had to be adjusted:

  • “The {format} XML was converted to ZUGFeRD/CII before embedding.” — an XRechnung is UBL, but a hybrid PDF needs CII.
  • “The uploaded PDF was not a PDF/A-3 and was converted to PDF/A-3 automatically before embedding.”

Only the natively drawn layouts of the in-house invoice renderer can be tagged — and thus made accessible to screen readers. The route via your own Word template fundamentally cannot deliver this: the DOCX-to-PDF conversion writes an empty structure tree and not a single tagged content element (measured on 20 August 2026). Anyone who needs an accessible PDF does not choose their own template.

More on this under Your own Word templates.

The difference from “PDF to e-invoice”

Section titled “The difference from “PDF to e-invoice””

Extract retrieves data that is already structured inside the PDF. PDF to e-invoice derives it from the layout of an ordinary PDF — it infers where Extract reads off. An empty Extract result does not mean the PDF is unusable, only that it is an ordinary one. See PDF to e-invoice.