Building e-invoicing into your own software: XRechnung and ZUGFeRD

Building e-invoicing into your own software: XRechnung and ZUGFeRD

Software in the company

A PDF invoice sent by email is not an e-invoice. Since 1 January 2025, businesses in Germany have had to be able to receive genuine e-invoices. From 2027, the obligation to send them follows step by step. If you have your own invoicing software, you will need to adapt it. Here you can read what this involves.

What an e-invoice is

An e-invoice is an invoice in a structured electronic format that a program can read without retyping. The benchmark is the European standard EN 16931. A PDF, a scan or a Word document, on the other hand, counts as an “other invoice”, even if it arrives by email.

Two formats are common in Germany:

  • XRechnung is pure XML, in UBL or CII syntax. It is usually mandatory for invoices to public authorities.
  • ZUGFeRD, known as Factur-X in France, is a PDF/A-3 with an embedded XML file. People read the PDF, programs read the XML. From version 2.0.1, ZUGFeRD meets the standard, but the MINIMUM and BASIC WL profiles do not.

As a rule, the XML part of a ZUGFeRD invoice is authoritative. Anything that appears only in the PDF therefore does not count.

The deadlines

WhenWhat applies
from 1 January 2025All businesses must be able to receive e-invoices.
until 31 December 2026All businesses may still send paper invoices, and PDF invoices only with the recipient's consent.
until 31 December 2027This transition period continues for businesses with a turnover of no more than €800,000 in the previous year.
from 1 January 2028All businesses must send e-invoices to other businesses in Germany (B2B).

Exemptions include small-amount invoices up to €250 and travel tickets. The obligation does not apply to invoices to private customers.

What this means for your own invoicing software

Invoicing software that has so far printed a nice PDF now has to supply data. Complete and in the right form. A few things are usually missing:

  • Mandatory details as separate fields instead of free text, for example the unit as a code according to UN/ECE Recommendation 20 or the tax category per line item.
  • The buyer reference, for public authorities the Leitweg-ID.
  • Tax amounts cleanly totalled per tax rate, with consistent rounding.
  • A way to receive invoices: reading in e-invoices, displaying them in readable form and archiving them together with the XML.

How to do it

  1. Take stock. Compare the data in your program with the fields of EN 16931. Afterwards, you know what is missing.
  2. Choose the format. ZUGFeRD is the right choice if your customers still want to see a PDF. You need XRechnung for public authorities. Generating both from the same data is no rocket science.
  3. Generate and validate. Every generated invoice runs through a validator, for XRechnung for example the one from KoSIT. Ideally automatically in the build, with a set of test invoices.
  4. Receive and archive. The program reads in incoming e-invoices, displays them in readable form and archives them in an unalterable way.

From practice

For a long-standing customer, we maintain their in-house invoicing software. In 2024, e-invoicing was added. First, we recorded in an analysis what the new rules require and which data the program already had. Then we built in e-invoicing. More on this in the project Invoicing software with e-invoicing and analysis.

Typical mistakes

  • The PDF sent by email is taken for an e-invoice.
  • ZUGFeRD in the MINIMUM or BASIC WL profile. That is not enough.
  • Units and tax categories appear only as text on the invoice, not as codes in the data.
  • Validation only happens at the customer's end. Then the invoice comes back and the money arrives later.
  • Only the PDF is archived, not the XML.
  • Receiving is forgotten. It has been mandatory since 2025.

How we help

  • Review: We look at your invoicing software and tell you which data are missing and which format suits your customers.
  • Implementation: We build XRechnung and ZUGFeRD into your software, with validation and test invoices. Even into older programs, without rewriting them.
  • Emergency: If your invoicing software stops working after an update, we help quickly. The case study “Emergency in August” shows what this looks like.
  • Arrange an initial consultation.

Sources: Section 14 and Section 27(38) of the German VAT Act (UStG) as amended by the Growth Opportunities Act (Wachstumschancengesetz) of 27 March 2024 (BGBl. 2024 I No. 108); letter from the Federal Ministry of Finance (BMF) of 15 October 2024 on the introduction of mandatory e-invoicing; standard EN 16931. This article does not replace tax advice.

CONTACT

Select your language

First meetingarrange nowFirst meetingarrange now