Skip to content

ZUGFeRD or XRechnung: which format when

In Germany, businesses have had to be able to receive e-invoices since January 2025. From 2027 they also have to issue them, smaller businesses by 2028 at the latest. The details are set out in the Federal Ministry of Finance circular on e-invoicing (in German). Two names come up straight away: XRechnung and Factur-X / ZUGFeRD. The short answer: invoices to German public authorities go out as XRechnung, invoices to businesses usually as Factur-X / ZUGFeRD. Both are based on the same European standard, so they're closer than the two names suggest.

One standard, two formats

Both formats implement the European standard EN 16931. It defines which details an electronic invoice contains and what they're called, from the invoice number to the VAT breakdown. Each detail has a code, such as BT-1 for the invoice number. BT stands for Business Term, and you'll see these codes in every error message from a validation portal.

Technically, an e-invoice is an XML file. The standard allows two syntaxes for it: UBL and Cross Industry Invoice (CII). XRechnung exists in both, Factur-X / ZUGFeRD uses CII.

XRechnung for public authorities

XRechnung is the German version of the standard for the public sector. It consists of the XML file only and becomes readable in the recipient's software. Compared to the standard, it makes several details mandatory, including the Leitweg-ID, which routes an invoice to the right recipient within the administration. The invoicing portals check every invoice against these rules and reject anything that doesn't fit.

Factur-X / ZUGFeRD for businesses

A Factur-X / ZUGFeRD invoice is a PDF with the XML file embedded in it. Your customer sees a familiar invoice, their accounting software reads the data. That's practical day to day: the invoice can be checked, filed and forwarded without any extra software. Factur-X is the name used in France and internationally, ZUGFeRD the name used in Germany.

Which format for whom

RecipientFormat
German public authority or contracting bodyXRechnung with Leitweg-ID
Business without a requirementFactur-X / ZUGFeRD, EN 16931 profile
Business with a requirementthe format they specify

Between businesses, any format that complies with EN 16931 is permitted, XRechnung included. Factur-X / ZUGFeRD has the advantage of a readable document in the same file.

What XRechnung adds

If you've only produced Factur-X / ZUGFeRD so far, XRechnung needs a few details that the standard leaves optional:

  • a seller contact with name, phone and email (BT-41 to BT-43)
  • the electronic addresses of seller and buyer (BT-34, BT-49)
  • the buyer reference (BT-10), which is the Leitweg-ID for public authorities
  • payment details, for bank transfers the IBAN

You enter your company's contact, address and IBAN once. The Leitweg-ID comes from the recipient.

No Leitweg-ID, no delivery

Public authority portals reject an XRechnung without a valid Leitweg-ID. The recipient assigns the ID, not the invoice issuer. Ask for it before your first invoice.

Profiles

Within Factur-X / ZUGFeRD, the profile determines how much detail the invoice carries. For invoices to businesses, the EN 16931 profile, also called COMFORT, is the standard choice. It covers the full standard, with line items, discounts and VAT breakdown. BASIC covers only part of it and gets tight as soon as shipping costs, discounts or several VAT rates appear on one invoice. For public authorities there's the XRechnung profile; which version a portal expects is stated in its requirements.

MINIMUM and BASIC WL

The two smallest Factur-X / ZUGFeRD profiles contain no invoice lines and don't count as an invoice under German VAT law. For sending invoices, only BASIC and larger profiles are an option.

Implementation in Magento

In Magento, the e-invoice is built from the invoice for an order. Our extension Electronic Invoicing for Magento 2 produces Factur-X / ZUGFeRD or XRechnung from it, attaches the XML to the invoice email and embeds it in the PDF on request.

You enter your company details once in the configuration. The extension takes the buyer's electronic address from the order's email address. It reads the Leitweg-ID from a customer attribute or from a field your customer fills in at checkout. Which detail goes where is described in the XRechnung documentation.

How does Factur-X / ZUGFeRD differ from a PDF invoice?

The embedded XML. Alongside the visible document, a Factur-X / ZUGFeRD PDF carries a structured data set under EN 16931 that software reads directly. An ordinary PDF invoice only contains the visual layout and is therefore not an e-invoice.

Can I send an XRechnung to a business?

Yes, XRechnung complies with EN 16931. Factur-X / ZUGFeRD has the advantage that the document stays readable without extra software.

What's the difference between Factur-X and ZUGFeRD?

The name. Both refer to the same specification: a PDF with embedded CII XML under EN 16931. Factur-X is the name used in France and internationally, ZUGFeRD the German one.

Which profile should I choose?

For invoices to businesses, the EN 16931 profile, also called COMFORT. It covers the full standard and is the default in our extension. For German public authorities, choose an XRechnung profile.

Which XRechnung version do I need?

The one the recipient's invoicing portal specifies. The versions the extension produces are listed in the XRechnung documentation.

Which XML syntax does the extension produce?

Cross Industry Invoice (CII). Factur-X / ZUGFeRD uses this syntax, and XRechnung permits it as well.

Does my customer need special software to open a Factur-X / ZUGFeRD invoice?

No. Any PDF viewer opens the PDF. Their accounting software reads the embedded XML.

Where do I get the Leitweg-ID?

From the recipient. German public authorities state it in the purchase order or during the procurement procedure.

How is a Leitweg-ID structured?

It has three parts separated by hyphens: a coarse address, a fine address and a two-digit check number, for example 991-12345-67. The length of the first two parts isn't fixed.

What applies if the PDF and the XML of a Factur-X / ZUGFeRD invoice differ?

According to the German Federal Ministry of Finance, the data in the XML is authoritative. The PDF is for display and must not differ from it in content.

How do I check whether an XRechnung will be accepted?

With a validation service that covers the German business rules, such as the KoSIT validator. Our extension checks the XML against the schema; that check doesn't catch violations of the business rules.

This article explains technical formats for electronic invoicing. It is not tax or legal advice; whether and from when you're required to issue electronic invoices is a question for your tax advisor.

Post Comments

Be the first to share your thoughts on this post.

Submit Comment

This is a question to prove that you are a human.

Your comment appears publicly under the name you enter, once we have reviewed it. More in our privacy policy

Required Fields