E-Invoicing

Shopware 6.4 / 6.5 / 6.6 / 6.7: 1.4.0

Get your Online Shop ready for e-invoicing. Enhance your Shopware invoicing process to include the creation of e-invoices that comply with German standards XRechnung and ZUGFerD.

To the plugin in the Shopware Store

E-Invoices

The E-Invoice app integrates into the Shopware process for invoice creation and reads all the information needed to create an e-invoice from the order information and your shop settings.

ZUGFeRD PDF

The E-Invoice app creates e-invoices in the ZUGFeRD format.

The ZUGFeRD format combines PDF and XML in a hybrid format. This keeps the e-invoice human-readable while embedding machine-readable XML data that can be processed by accounting software. The app generates a ZUGFeRD 2 PDF in the XRechnung profile from the PDF invoice generated by Shopware. This means that an XML file in the XRechnung format is embedded in the PDF file.

Additionally, the PDF file is transformed by the app into a PDF/A-3 compliant structure, which meets the requirements for long-term archiving according to GoBD. Please note that the PDF/A-3 transformation can only be ensured for standard Shopware documents. If you use an extension that modifies Shopware's PDF creation, the generated ZUGFeRD PDF file may not be PDF/A-3 compliant.

XRechnung

The XRechnung is an XML format used for creating e-invoices and complies with the European standard EN 16931. It is used, among other things, for invoicing public authorities in Germany.

To use the E-Invoice app, you do not need to know the XRechnung specification in detail. However, to better understand the relationship between your shop's configuration and the content of the XRechnung, it is helpful to be familiar with some basic aspects of the specification.

The data contained in the XRechnung are called information elements or business terms (BT). Information elements are grouped into business groups (BG). All elements and groups are numbered and are called, for example, BT-1 (invoice number) or BG-6 (seller's contact information). In the app settings and the results of the shop configuration check, we regularly provide the BT or BG number along with the descriptive names.

The XRechnung defines several tax categories. The E-Invoice app supports the following:

Please note that tax exemption can occur for different reasons! It is therefore important that you configure your shop correctly so that the correct tax category can be selected for the e-invoice.

The tax categories S, Z and E can appear together in an e-invoice. For tax category K, this is not possible: For an intra-community supply, the entire invoice is tax-free (K)

Administration

Configure Your Shop

The E-Invoice app uses information from the order, shop settings, and app settings to create an e-invoice. For example, when you create an invoice document, the relevant shop information is taken from the document settings for invoices. To ensure this works smoothly, make sure your shop settings are complete and can be processed by the app.

If you make changes to the document or app settings, these will not affect already created invoices. You must recreate documents for the changed settings to take effect.

Check Shop Settings

To check your shop settings, navigate to Settings in the administration, switch to the Extensions tab, and select E-Invoice there.

When you click on Check Shop Settings (1), after a short loading time, the check results for the relevant Document Settings (2) - (5) and for other Shop Configuration (6) will be displayed.

The check results can be errors, warnings, or information. If the settings for a document are already correct, this is indicated by a green checkmark (2).

View of the function to check shop settings and check result with errors and notes
Function to check shop settings and check result with errors and notes

Errors (5), marked by a red circle with an exclamation mark, must be fixed by you to create valid e-invoices.

Warnings (3), marked by an orange triangle with an exclamation mark, serve to alert you to a potential incorrect configuration of your shop. Look at warnings carefully and fix them if necessary.

The Information (4), marked with a blue circle, may be relevant to you. They do not necessarily prevent the creation of a valid e-invoice. For example, in the XRechnung, the seller's VAT identification number is not required if no VAT is declared.

Click on the Name of a Document (2) marked as a link, like cancellation_invoice, to go directly to the document settings. You can also store some information in the app settings.

App Settings

In the app settings, you can define how e-invoices are created, configure special VAT rules, and enter information about your shop.

E-Invoice Creation

You can choose whether e-invoices should be generated automatically by enabling or disabling the option Automatically generate an e-invoice when creating an invoice (1).

Enable the switch Show Leitweg-ID in customer account (2) if you want to give a registered customer the option to set their Leitweg-ID in the customer account.

Under Rounding Error Correction Strategy for vertical tax calculation (3), you can define how the app handles rounding errors that may occur with vertical tax calculation. Additionally, you can customize the Rounding Error Correction Reason Text (4). For more details, see the Rounding Error Correction chapter.

Shows the controls for the general settings for generating e-invoices, such as automatic creation, the display for entering the Leitweg-ID in the customer account and rounding correction for vertical tax calculation.
App settings for creating e-invoices.

Special VAT Rules

The e-invoice app can correctly represent an intra-community supply in the e-invoice if this is detected based on the order and shop settings. If you are using an older Shopware version, enable the option Mark e-invoice as an intra-community supply when all requirements are met (1). Please read the detailed description, as additional settings are required for this feature to work correctly.

As of Shopware version 6.6.1.0, intra-community supply can be configured directly in the document settings. The option Mark e-invoice as an intra-community supply when all requirements are met is therefore only recommended for older Shopware versions.

For an intra-community supply, a reason for tax exemption must be specified in the X-Rechnung XML. You can customize it with the snippet Intra-community Supply Tax Exemption Reason Text (2). When the e-invoice is created, the snippet will be selected in the language of the order.

Shows the settings for representing special VAT rules in the e-invoice, such as intra-community supply, multipurpose vouchers and VAT exemption.
Settings for Special VAT Rules.

Enable the switch Multipurpose Voucher Correction (3) if you sell or accept multipurpose vouchers in your shop. The app will then automatically attempt to detect multipurpose vouchers in orders and handle them correctly for VAT purposes. With the snippet for the Multipurpose Voucher Tax Exemption Reason Text (4), you can customize the reason for the VAT exemption when purchasing multipurpose vouchers. When the e-invoice is created, the snippet will be selected in the language of the order.

To represent special VAT exemption rules such as educational services, medical services, or the small business regulation in the e-invoice, you can enable the option Mark 0% tax rate as VAT-exempt (5). All invoice items with a 0% tax rate will then automatically be marked as VAT-exempt in the e-invoice. The VAT Exemption Reason for 0% Tax Rate (6) will be stored in the VAT breakdown in the language of the order.

In the snippet Additional Legal Information (7), you can store commercial law information such as the members of the management or the place of jurisdiction, if these should be included in the e-invoice. This information is usually optional. If you want to use the small business regulation, you must fill in this snippet. When the e-invoice is created, the snippet will be selected in the language of the order.

Shop Details

Here you can enter information used for generating e-invoices. This is useful if certain details cannot be automatically retrieved from your shop or if you want to intentionally override them.

The data entered here takes precedence over the values defined in the document settings.

Enter the required data in the corresponding text fields. If you need additional information about a field, hover the mouse over the (?) symbol.

Changes to the app settings will not affect already created invoices. You must recreate documents for the changed settings to take effect.

Automatic Creation of an E-Invoice PDF and Storage in the Shop

The E-Invoice app automatically creates an e-invoice and stores it in the documents of an order as soon as Shopware has created an invoice. This function is enabled by default and can be turned on or off in the app settings.

Switch to the Documents (1) tab on the order detail page (in Shopware 6.4: scroll to the Documents card). You can Create a new document (2) here.

In this tab, all already created Invoices (4) and the corresponding E-Invoices (3) are listed.

View of the Documents tab on the order detail page
View of the "Documents" tab on the order detail page

If you want to create a new document, a dialog will open where you can select the document type. Select Invoice (2) here, even if you want to create an e-invoice. The e-invoice will be automatically created as soon as a new invoice document has been created.

If you would like to create a new E-Invoice, select the Invoice (2) format anyway.

For technical reasons, it is unfortunately not possible to hide the Electronic Invoice (1) option in the dialog. If you select this type for creation, you will receive an error message.

Dialog for creating documents, the Invoice option is selected.
The dialog for creating new documents

After creating an invoice, the e-invoice is automatically generated in the background. This process may take some time. Once the e-invoice PDF has been created, it will be uploaded to your shop. You will receive a notification as soon as the creation is complete and the e-invoice is available.

The e-invoice will now appear next to the other documents.

You may need to reload the page for the created e-invoice PDF to be visible.

Configure Automatic Creation

In the app settings, you can specify whether e-invoices should be created automatically. To do this, navigate to Extensions > My Extensions in the administration, click on "..." for E-Invoice, and select Configure. There you can enable or disable the option Automatically generate an e-invoice when creating an invoice.

Don't forget to Save your changes before leaving the settings page.

Manual Creation of E-Invoice PDFs and XRechnung XML for Download

After installing the app, an additional button "..." (1) will be displayed on the order detail page. Via this button, you can select the menu item Create E-Invoice... (2). This opens a dialog where you can manually create and download e-invoices.

The option to open the dialog for creating an e-invoice is located on the order detail page in the ... menu.
On the order detail page, in the "..." menu, you will find the "Create E-Invoice..." option

In the dialog, you can choose whether the e-invoice should be created in the ZUGFeRD format or in the XRechnung format.

Dialog with options for manually creating and downloading e-invoices
The dialog with the options for manually creating and downloading e-invoices

Starting with Shopware 6.6, an additional card E-Invoice will appear below the documents. The functionality is the same as in the dialog.

Card with options for manually creating and downloading e-invoices
Starting with Shopware 6.6, you will also find the options for manually creating and downloading e-invoices below the documents.

Select the document for which an e-invoice is to be created from the Dropdown (1). You can either Download as ZUGFeRD PDF (2) or Download as XRechnung XML (3).

An e-invoice can only be created manually if you have already created an invoice beforehand. If no invoice is available yet, a corresponding notice will be displayed.

If you create an e-invoice via the dialog or the e-invoice card, it will be downloaded after creation and not stored in your shop.

Validation

Each generated e-invoice is checked for compliance with the XRechnung standard using the KoSIT Validator.

For automatically generated e-invoices, you will see a notification indicating whether validation errors are present. To review the automatically generated and stored e-invoices and obtain a validation report, open the E-Invoice card (in Shopware 6.4 via the dialog). Then navigate to the Validate (1) tab, select the desired e-invoice (2), and click Validate (3). After a short wait, the Validation Result (4) will be displayed.

View of the Validation tab. The validation result for an automatically generated e-invoice is displayed. The invoice is valid.
The automatically generated e-invoice "Invoice 1052" is valid.

The validation result is also displayed for manually created e-invoices.

For invalid e-invoices (1), the Details (2) section lists the identified issues. If problems occur, check your shop settings and resolve the issues found.

Validation result for an automatically generated e-invoice that is not valid.
               Validation errors are displayed in a collapsible section.
Validation result for an invalid e-invoice. The identified issues are listed under "Details."

The text in the Details section comes directly from the KoSIT Validator and may appear in another language depending on the issue found.

Special VAT Rules

Special VAT rules for invoicing can be represented with varying effectiveness in Shopware. This chapter explains which settings and prerequisites must be met to ensure that a valid e-invoice can be generated in such cases.

Intra-Community Supply

For e-invoices related to intra-community supplies, tax category K is specified (VAT exemption for intra-community supplies of goods and services within the EEA). As a justification for the tax exemption, intra-community supply must be provided (at a minimum).

In order to generate an e-invoice for an intra-community supply, the following requirements must be met:

  • The customer must have a business account in which the VAT identification number of the company is stored. You can display the selection between business and customer account in the Shopware settings for Login and Registration, so that customers can also create business accounts.
  • The customer's VAT identification number must be shown on the invoice. To do this, the checkbox Show customer VAT ID must be set in the document settings.
  • In the Shopware settings for the country to which the intra-community supply is made, the option Tax-free (B2B) must be activated.

In addition, for Shopware version 6.6.1.0 and above, the following must also apply:

  • In the document settings, the checkbox Show "intra-community supply" notice must be set.

Your shop is now configured to allow the generation of e-invoices for intra-community supplies. Next, perform a check of the shop settings. Under Shop Configuration Information, you will find a list of all countries for which an intra-community supply is possible.

Intra-community supply is officially supported by Shopware starting with version 6.6.1.0. However, the e-invoice app can still generate valid e-invoices for intra-community supplies.

In Shopware versions prior to 6.6.1.0, enabling the option "Display 'intra-community supply' notice" in the document settings does not result in a valid e-invoice due to a bug. Although the "intra-community supply" notice may appear in the PDF invoice, the document configuration generated by Shopware for machine processing is incorrect. As a result, the e-invoice app will generate an invalid e-invoice.

The e-invoice app can still generate e-invoices for intra-community supplies if the above conditions are met and

  • the option Mark e-invoice as an intra-community supply when all requirements are met is enabled in the app settings.

When generating an e-invoice, the listed conditions are checked. As soon as they are met, it is assumed to be an intra-community supply, even if the document configuration does not indicate this. In that case, the generated XRechnung XML will include the note "intra-community supply" and the tax category "K", and will be embedded into the PDF invoice.

If the PDF document generated by Shopware does not include a visible note about the intra-community supply in this case, you must add this note manually, e.g., as a comment, so that it appears in the invoice PDF.

Your shop is now configured to allow the generation of e-invoices for intra-community supplies. Next, perform a check of the shop settings. Under Shop Configuration Information, you will find a list of all countries for which an intra-community supply is possible.

If an order is tax-exempt but the option intra-community supply is not checked in the document settings or the option Mark e-invoice as an intra-community supply when all requirements are met is not enabled in the app settings, the tax category E (exempt from tax) will be applied. In this case, the e-invoice is not valid because no reason for the tax exemption can be provided.

Multipurpose Vouchers

The e-invoice app supports multipurpose vouchers and ensures they are handled correctly for VAT purposes. This feature can be enabled in the app settings.

Multipurpose vouchers differ significantly from regular vouchers:

  • Regular vouchers are tied to a specific VAT rate (e.g., 19%). VAT is paid when purchasing the voucher and deducted when redeeming it.
  • Multipurpose vouchers are not tied to any specific VAT rate. No VAT is paid when purchasing the voucher. The full VAT is paid when redeeming the voucher. Multipurpose vouchers must be marked as VAT-exempt according to German law (§ 3 Abs. 15 UStG).

When the feature is enabled, the app automatically performs the following steps:

  1. Detection of multipurpose vouchers in orders:
    • Redeemed multipurpose vouchers are detected generically: Any line item with a 0% tax rate and a negative net amount is treated as a redeemed multipurpose voucher.
    • Purchased multipurpose vouchers are detected based on plugin-specific characteristics. Detection depends on the voucher plugin used.
  2. Removal of redeemed vouchers from line items and treatment as prepayment
  3. Marking purchased vouchers as VAT-exempt with a configurable exemption reason text

For cancellation invoices with multipurpose vouchers, the handling differs:

  • Purchased multipurpose vouchers: Processing is the same as for regular invoices – they are marked as VAT-exempt.
  • Redeemed multipurpose vouchers: In a cancellation invoice, redeemed multipurpose vouchers are converted into purchased multipurpose vouchers. This means that the end customer receives the redeemed amount back as a multipurpose voucher.

For invoices with multipurpose vouchers, rounding error correction is not applied. This means that rounding errors occurring with vertical tax calculation will not be automatically corrected in such invoices. In this case, you should use horizontal tax calculation to avoid rounding errors.

The e-invoice app currently supports multipurpose vouchers from the following plugins:

If you use a different plugin for multipurpose vouchers, please contact us so we can add support for it.

Please note that we do not actively check whether multipurpose voucher support continues to work correctly after updates to the supported plugins. After updating the voucher plugin, you should verify that valid e-invoices are still being generated. If that is not the case, feel free to contact us.

VAT Exemption for 0% Tax Rate

To represent special VAT exemption rules such as educational services, medical services, or the small business regulation in the e-invoice, you can enable the option Mark 0% tax rate as VAT-exempt in the app settings. All invoice items with a 0% tax rate will then be assigned to the VAT-exempt category (E) in the e-invoice instead of the zero tax rate category (O).

For the e-invoice to be valid, the legal basis for the VAT exemption must be stated in the e-invoice. Therefore, fill in the snippet VAT Exemption Reason for 0% Tax Rate.

The processing of VAT exemption occurs after the processing of intra-community supply and the processing of multipurpose vouchers. This means that items that have already been marked as tax-exempt due to an intra-community supply or because they are multipurpose vouchers will no longer be affected by this function.

This function only modifies the XRechnung embedded in the PDF. The human-readable PDF invoice is not changed. The change applies to all invoice items, discounts, credits, and surcharges with a 0% tax rate.

Small Business Regulation

To use the small business regulation in the e-invoice, the following should be configured in the app settings:

  1. The option Mark 0% tax rate as VAT-exempt should be enabled
  2. In the snippet VAT Exemption Reason for 0% Tax Rate, the value
    No VAT shown, as small business according to § 19 UStG
    should be entered
  3. In the snippet Additional Legal Information, also the value
    No VAT shown, as small business according to § 19 UStG
    should be entered
  4. In the document settings, the tax number should be entered. This will be used instead of the VAT identification number.

Rounding Error Correction

Rounding errors only occur with vertical tax calculation and gross invoices.

For tax calculation, Shopware distinguishes between horizontal and vertical tax calculation. You can configure this setting per sales channel. Since XRechnung expects horizontal tax calculation, using vertical tax calculation can lead to rounding errors in the e-invoice.

A typical example of a rounding error with vertical tax calculation:

Horizontal:

Item    Gross            Net                        19% VAT
 #1     €0.22   ÷ 1.19 = €0.1849   x 0.19 = €0.0351 ≈ €0.04
 #2     €0.22   ÷ 1.19 = €0.1849   x 0.19 = €0.0351 ≈ €0.04
===========================================================
        €0.44                                         €0.08

Vertical:

Item    Gross            Net                        19% VAT
 #1     €0.22   ÷ 1.19 = €0.1849
 #2     €0.22   ÷ 1.19 = €0.1849
===========================================================
        €0.44            €0.3698   x 0.19 = €0.0703 ≈ €0.07

Horizontal and vertical calculation therefore differ by one cent in VAT.

Problem: In an XRechnung, the net value of each line item must be specified rounded to a maximum of two decimal places. In the concrete example, both line items have a net value of €0.18 in the XRechnung. In the vertical variant, this no longer matches the total VAT, as the sum of net values and VAT no longer corresponds to the gross total amount of the invoice:

0.18 + 0.18 + 0.07 = 0.43 0.44

If an invoice contains products with different VAT categories, a rounding difference can occur in each category.

The E-Invoice app offers three strategies for handling rounding errors:

  • No correction: No correction is applied
  • Adjust line items: Rounding differences are distributed across line item net values
  • Add adjustment entry: Rounding differences are added as explicit charges/allowances at document level (BG-20, BG-21)

You can select the desired strategy in the app settings under Rounding Error Correction Strategy. Additionally, you can customize the reason text for rounding corrections that appears in the XRechnung when using the "Add adjustment entry" strategy.

Correction Strategy: "Adjust Line Items"

With this strategy, the rounding difference of €0.01 is distributed across the net amounts of the line items:

               Without Correction    With Correction
  Line Item 1:              €0.18              €0.19
  Line Item 2:              €0.18              €0.18
    Net Total:              €0.37              €0.37
      VAT 19%:              €0.07              €0.07
  Gross Total:              €0.44              €0.44
  • Advantage: All amounts visible in the PDF invoice match the corresponding amounts in the XRechnung. The net values of individual line items are not visible in a gross PDF invoice.
  • Disadvantage: Line items that have the same gross price in the PDF invoice can have different net prices in the XRechnung.

Correction Strategy: "Add Adjustment Entry"

With this strategy, all line item prices remain unchanged, and the rounding difference is added as an explicit charge/allowance:

               Without Correction    With Correction
  Line Item 1:              €0.18              €0.18
  Line Item 2:              €0.18              €0.18
    Allowance:                  -              €0.01
    Net Total:              €0.37              €0.37
      VAT 19%:              €0.07              €0.07
  Gross Total:              €0.44              €0.44
  • Advantages: Makes rounding corrections explicitly visible. Line item prices remain unchanged.
  • Disadvantages: Charges/allowances for rounding corrections are only visible in the XRechnung.

Leitweg-ID

An e-invoice to government agencies and institutions of the federal administration in Germany must contain a buyer reference called Leitweg-ID to be correctly delivered. As a shop administrator, you can set a Leitweg-ID for each customer. To do this, select the customer under Customers (1) > Overview and switch to the E-Invoice (2) tab. There you can enter the Leitweg-ID (3) and confirm the change with the save button.

Shows the E-Invoice tab in the customer detail view with the input field for the Leitweg-ID
Input field for the Leitweg-ID in the customer detail view

If you are using Shopware 6.5, the E-Invoice tab may not be displayed due to an error in Shopware. E.g., after reloading the page. In this case, you need to open Shopware in a new browser tab.

If you have enabled the option Show Leitweg-ID in customer account in the app settings, registered customers can enter their Leitweg-ID in their customer account.

Shows the input field for the Leitweg-ID in the customer account overview
Input field for the Leitweg-ID in the customer account

Please note that changing the Leitweg-ID by the shop admin or customer has no effect on already created e-invoices. For the change to take effect, a new e-invoice must be generated.

Roadmap

  • Support reverse-charge

Change Requests

The functionality does not cover your use case? Do you have comments or questions? Write to us! We are happy to develop the plugin further with you.

Version History

In a Shopware App, unlike a plugin, the business logic resides outside the shop on an external app server. Most of the app's control elements, with which you interact in the administration, are also provided by the app server. Therefore, the app itself rarely needs to be updated, but the business logic continues to develop.

App

Version Date Changes
1.4.0 2026-01-08 Support for multipurpose vouchers and VAT exemption for 0% tax rate
1.3.0 2025-09-09 A Leitweg-ID can be set for each customer
1.2.0 2025-07-30 Rounding error correction for vertical tax calculation
1.1.0 2025-07-22 Support for generating e-invoices with intra-community supply in Shopware versions < 6.6.1.0 (including 6.4, 6.5, 6.6)
1.0.0 2024-12-15 Initial Version

Server

Version Date Changes
1.6.2-85095b1 2026-01-09 Bug fixes
1.6.1-fce1dfa 2026-01-08 Support for multipurpose vouchers and VAT exemption for 0% tax rate
1.5.0-fafbe93 2025-09-09 Customer-specific Leitweg-ID is included in e-invoice
1.4.0-cbbc7a5 2025-08-05 Rounding error correction for vertical tax calculation for cancellation invoices
1.3.0-9081035 2025-07-30 Rounding error correction for vertical tax calculation for invoices
1.2.0-gab2911 2025-07-21 Intra-community supply invoice detection
1.1.0-bfa7a7e 2025-06-08 Shopware 6.7 compatibility and improved compatibility with other plugins
1.1.0-0dca9b6 2025-01-28 Display of the validation result for e-invoices
1.0.0-efb229d 2025-01-10 Support for intra-community supply
1.0.0-21a3ac4 2025-01-05 Support for cancellation invoice and credit note
1.0.0-bcbcc8d 2024-12-16 Support for net invoices and tax-exempt goods
1.0.0-58bd639 2024-12-15 Initial Version