Documentation Index
Fetch the complete documentation index at: https://invopop-mintlify-email-recipients-1778506708.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
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.
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.
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
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
ZUGFeRD B2B Invoice with Additional Fields
ZUGFeRD B2B Invoice with Additional Fields
DE.๐ฉ๐ช Invopop resources for Germany
๐ฉ๐ช Invopop resources for Germany
FAQ
How do I configure my workspace for German invoicing?
How do I configure my workspace for German invoicing?
What's the workflow for issuing Peppol invoices in Germany?
What's the workflow for issuing Peppol invoices in Germany?
de-xrechnung-v3 addon, then run the Peppol Send workflow. Invopop emits XRechnung (UBL or CII per recipient preference), looks up the recipientโs Access Point, and delivers via Peppol.Which XRechnung syntax should I choose, UBL or CII?
Which XRechnung syntax should I choose, UBL or CII?
How can I view an XML attached to a PDF?
How can I view an XML attached to a PDF?
Attachments section in Adobe Acrobat Reader.Alternatively, you can use specialized tools like the SysTools PDF Extractor to extract the XML file.Where do I find Germany-specific GOBL documentation?
Where do I find Germany-specific GOBL documentation?
de-xrechnung-v3; ZUGFeRD/Factur-X share the EN 16931 CII profile.What should we do if the customer doesn't belong to the Peppol network?
What should we do if the customer doesn't belong to the Peppol network?
- Set up a separate workflow that generates the XML without the send-Peppol-document step
- Or reuse your existing workflow without the customer Peppol ID โ the send step is automatically skipped
- Fetch the generated XML and deliver it through the agreed channel, typically email
How do I handle B2C invoices in Peppol?
How do I handle B2C invoices in Peppol?
- Add an If/Else step that checks for a customer inbox using
count(customer.inboxes, true) > 0. - On the
falsebranch, generate a PDF and email it to the customer, then stop the flow.
How do I handle 'Receiver Not Found' errors?
How do I handle 'Receiver Not Found' errors?
KO and receiver not found in the peppol network, treat it like an invalid email address โ the recipient simply isnโt reachable on Peppol. Add the Lookup Participant ID step (ideally in a separate validation workflow run against customer data) so you catch missing IDs before generating the invoice.Should I set the `$regime` field when using Peppol?
Should I set the `$regime` field when using Peppol?
Where do I find Peppol GOBL documentation?
Where do I find Peppol GOBL documentation?
oasis-ubl-v2 addon and the Peppol app reference for required fields, supported document types, and Participant ID schemes.