EU Accounting Standards: E-Invoice Processing in Germany

There are many different invoice formats around the world that cannot all be processed automatically by the ERP systems in use. This article describes the basics of e-invoicing in Germany and presents a technical approach to the automated processing of various e-invoice formats.

E-Invoice Processing in Germany

What is an E-Invoice?

As of January 1, 2025, electronic invoices (e-invoices) must regularly be used for transactions between domestic businesses in Europe. An e-invoice is defined as an invoice issued, transmitted, and received in a structured electronic format that enables electronic processing. This electronic format is described in the European standard EN 16931. In Germany, two standards based on this specification have become particularly established: XRechnung and ZUGFeRD.

XRechnung

According to the EU directive, XRechnung is a structured dataset. A visual representation of the invoice is not required. Two different syntaxes are used for XRechnung: CII and UBL. 

  • Cross Industry Invoice (CII) is a UN/CEFACT standard and serves as the basis for various invoice formats. 
  • Universal Business Language (UBL) is an internationally recognized XML format for electronic invoices and other business documents.

ZUGFeRD

The ZUGFeRD format is usually used in its hybrid form. The structured invoice data is embedded in a PDF/A-3 file, which provides the visual component of the invoice. The structured XML invoice data can be read and processed by the recipient. Currently, there are six profiles for invoice data: 

  • EXTENDED
  • EN 16931 (COMFORT)
  • BASIC
  • BASIC WL
  • MINIMUM
  • XRECHNUNG (only with the XML syntax Cross Industry Invoice CII)

The BASIC and MINIMUM profiles are not considered compliant with the German VAT Act (UStG).

Technical Approach to Processing

How can an approach look that brings all these formats received, for example, via email into the respective ERP or invoicing system? The following diagram illustrates a high-level approach to the proposed concept. The implementation could be carried out using a middleware platform such as Boomi or Oracle Integration Cloud.

E-Invoice Processing in Germany

Step 1: Format Check and XML Extraction 

First, check the email attachment to see if it is a PDF or XML file. If it is a PDF, the XML must be extracted first. This can be done using the Mustang Project, an open-source Java library. 

Step 2: Validation 

After extracting the XML, it should be validated to ensure it meets e-invoice requirements. This step is identical for XRechnung and the structured part of ZUGFeRD. Various tools are available for validation, and the Mustang Project also offers this functionality. 

Step 3: Mapping to an Intermediate Format

Once the e-invoice is validated, the next step is to map the different formats to an intermediate format for further processing. Since all formats are XML, they can be converted to the intermediate format using an XSD. The intermediate format can theoretically be chosen freely, and the XSD created accordingly. However, KoSIT also provides an XSD, and the corresponding format contains all necessary information. 

Step 4: Integration into the Target System 

Finally, the intermediate e-invoice format must be mapped to the respective ERP interface or invoicing tool.

Advantages of This Approach

The advantages of this approach are: 

  • The entry point where the potential e-invoice is received can be freely adjusted 
  • All the above-mentioned e-invoice formats can be processed to ensure validity 
  • The only mapping that needs to be created is from the intermediate format to the target system

Conclusion

By using an integration tool with an intermediate format and standardized validation tools, a flexible and maintainable e-invoice processing workflow can be built that supports all common formats and can be extended as needed.

References