Introduction

X-Invoice covers the German and French electronic invoice standards. The integration is the same for both countries. The supported standards are:

  • X-Rechnung: one of the two standards used in Germany. It consists on an XML file. It can be implemented using two different syntaxes, CII and UBL. They both contain the same information, but include different field names.
  • ZUGFeRD: the other standard used in Germany. It a hybrid format that consists on a PDF document with an embedded X-Rechnung file. The only supported syntax for this case is CII.
  • Factur-X: the standard used in France. It consists on a PDF document with an embedded XML file. It is worth noting that ZUGFeRD and Factur-X are a joint project between Germany and France, and their content is identical.

When referring to syntaxes, it is important to note that X-Rechnung, ZUGFeRD and Factur-X are all semantic data models. What this means is that they define the data that must be present in the invoice, but not the actual format of the data or the explicit name of the fields.

To implement the semantic models, there are two syntaxes approved by the EU: UN/CEFACT Cross Industry Invoice (CII) and OpenOasis Universal Business Language (UBL).

Prerequisites

To convert invoices to X-Invoice 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 and French regimes for specifics.
    • Line items with name, price, and applicable taxes.

Setup

To issue invoices, follow these instructions in the Invopop Console:

1

Connect the XInvoice app

  1. Navigate to Configuration > Apps.
  2. Locate XInvoice France/Germany in the app discovery list.
  3. Click Connect to activate.

No additional configuration is needed.

2

Configure invoice workflow

First, review our workflows guide to understand the basics.

Create an Invoices workflow with these essential steps:

  • Sign Envelope: The envelope must be signed before processing. This can also be done in the Add Sequential Code step, which handles the invoice number.
  • Convert to X-Invoice: Generates the X-Invoice XML document.
  • Generate PDF: For ZUGFeRD and Factur-X formats, this step creates the PDF with the embedded XML.

Running

Invopop uses the GOBL library to process conversions. Some example invoices are provided below, along with an example workflow to send the invoices to. We also recommend using the GOBL Builder to create your own invoices.

Be sure to set the regime field to DE or FR in your invoices. This will add some extra validations to ensure the document is compliant. If you plan to issue X-Rechnung invoices, we also recommend using the X-Rechnung addon in the invoice file (see example below), to add further validation.

Sample Invoices

You can now generate invoices in the X-Invoice format via the API or console. For more details, visit the GOBL docs and X-Invoice repo, or contact Invopop Support.

FAQ