← Back to all articles

Factur-X and ZUGFeRD invoices in Belgium: what they are and how to read or import them

Factur-X and ZUGFeRD invoices in Belgium: what they are and how to read or import them

Since 1 January 2026, Belgian companies exchange invoices with each other as Peppol e-invoices in the UBL format. But many invoices from France and Germany arrive in a different form: a normal-looking PDF with an XML file hidden inside it. These are Factur-X and ZUGFeRD invoices. What are they, why do you receive them, and how do you get them into software that only reads UBL?

A PDF for people, an XML for software

Factur-X (France) and ZUGFeRD (Germany) are the same idea, and since ZUGFeRD 2 technically the same standard: a hybrid invoice. It is a PDF/A-3 file that you can open and print like any PDF, with a structured XML file attached inside it (usually factur-x.xml, or zugferd-invoice.xml in older files). That XML follows the European standard EN 16931 in the CII syntax (UN/CEFACT Cross Industry Invoice).

So one file carries two versions of the same invoice: the picture for the human reader and the data for the accounting software. UBL, used by Peppol in Belgium, carries only the data (sometimes with a PDF attached as a courtesy).

Why Belgian companies receive them

  • Belgium: since 1 January 2026, invoices between Belgian VAT-registered companies must be structured e-invoices, in practice Peppol BIS Billing 3.0 (UBL). Suppliers abroad without a Belgian establishment are not bound by this rule.
  • France is introducing its own e-invoicing obligation, with Factur-X as one of the accepted formats next to UBL and CII.
  • Germany has required companies to be able to receive e-invoices since 2025; ZUGFeRD (from version 2.0.1) and XRechnung are the common formats there.

A French or German supplier that already produces Factur-X or ZUGFeRD will often simply send you that file. For your bookkeeping software, which expects UBL, the PDF is just a picture: the data inside it is not used.

How to recognise one

Opened in a PDF reader, a Factur-X invoice looks like any other PDF. The difference is the attachment: most PDF readers show it under "Attachments" (a paperclip icon). If you find a factur-x.xml or zugferd-invoice.xml there, the invoice data is inside.

Not every profile is a complete invoice. Factur-X and ZUGFeRD know several levels of detail: MINIMUM, BASIC WL, BASIC, EN 16931 and EXTENDED. The two lowest levels do not contain the invoice lines and are not complete e-invoices under the European standard.

Which document is the legal one?

The hybrid invoice as you received it, PDF and XML together, is the invoice. If you convert its data to UBL to import it, that UBL file is a copy for import, not a new invoice from your supplier. Keep the original file, and do not send the copy to others as if it were the original.

Reading and importing them with UBLKIT

  • Open: the UBLKIT desktop app opens a Factur-X or ZUGFeRD PDF like an e-invoice and shows its data next to the PDF.
  • Check: UBLKIT compares the visible PDF with the XML inside it (amount to pay, total, invoice number, IBAN) and warns when they do not match.
  • Extract: save the XML from the PDF, for one file or a whole folder.
  • Convert for import: make a UBL copy of the invoice, with the original PDF embedded, for software that only reads UBL. In the app, for whole folders, or from the command line.
  • Online: for an occasional file, UBLKIT Online makes the UBL copy of a Factur-X PDF in your browser, free.

Everything in the desktop app happens on your own computer: your invoices never leave it.