Introduction
Germany requires electronic invoicing for different business scenarios, with two main standards: XRechnung and ZUGFeRD. Both are semantic data models aligned with the European NormEN 16931 and can be implemented using the same syntaxes.
XRechnung
XRechnung is Germany’s official standard for electronic invoices in public procurement (called E-Rechnungen), though it is also used for B2B transactions. It’s part of the implementation of the EU directive2014/55/EU, which requires all contracting authorities in the EU to accept electronic invoices in a structured XML format.
XRechnung can be implemented using two different syntaxes:
- UN/CEFACT CII (Cross Industry Invoice)
- OASIS UBL (Universal Business Language)
ZUGFeRD
ZUGFeRD is a German standard for electronic invoicing designed to bridge the gap between traditional invoices and digital formats. ZUGFeRD combines a standard PDF/A-3 invoice with an embedded XML file containing the structured data. This hybrid approach makes it especially popular in B2B transactions, as it allows both people and accounting software to work with the same document. ZUGFeRD is fully aligned with the European NormEN 16931 and is worth noting that ZUGFeRD and Factur-X are a joint project between Germany and France, and their content is identical.
Prerequisites
To convert invoices to XRechnung or ZUGFeRD format, ensure you have:- A valid API key and a basic understanding of the workflow engine and API.
- An invoice with:
- Supplier details (company name and required identities). Check the German regime for specifics.
- Line items with name, price, and applicable taxes.
Setup
To issue XRechnung or ZUGFeRD invoices, follow these instructions in the Invopop Console:XRechnung Setup
Connect the OASIS UBL app
- Navigate to Configuration → Apps.
- Locate OASIS UBL in the app discovery list.
- Click Connect to activate.
Configure invoice workflow
- Template
- Code
- Build from scratch
ZUGFeRD Setup
Connect the UN/CEFACT CII app
- Navigate to Configuration → Apps.
- Locate UN/CEFACT CII in the app discovery list.
- Click Connect to activate.
Configure invoice workflow
- Template
- Code
- Build from scratch
Running
Invopop uses the GOBL library to process conversions. GOBL’s implementation validates national business rules in addition to the rules defined inEN 16931-1.
Some example invoices are provided below, along with example workflows to send the invoices to. We also recommend using the GOBL Builder to create your own invoices.
XRechnung examples
Be sure to set theregime field to DE in your invoices and include the XRechnung addon. This will add extra validations to ensure the document is compliant with the standard.
XRechnung B2B Invoice
XRechnung B2B Invoice
Standard XRechnung invoice for business-to-business transactions using the UBL format.
In your invoice data, make sure to include the XRechnung addon and set the regime as
DE.ZUGFeRD examples
Be sure to set theregime field to DE in your invoices and include the ZUGFeRD addon. This will add extra validations to ensure the document is compliant with the standard.
ZUGFeRD B2C Invoice
ZUGFeRD B2C Invoice
Standard ZUGFeRD invoice for business-to-consumer transactions with embedded XML in PDF format.
ZUGFeRD B2B Invoice with Additional Fields
ZUGFeRD B2B Invoice with Additional Fields
Comprehensive ZUGFeRD invoice demonstrating additional optional fields such as ordering information, payment terms, delivery details, and discounts.
In your invoice data, make sure to include the ZUGFeRD addon and set the regime as
DE.🇩🇪 Invopop resources for Germany
🇩🇪 Invopop resources for Germany
Germany FAQ
Find answers to frequently asked questions about invoicing in Germany →
Participate in our community
Ask and answer questions about invoicing in Germany →