Skip to content
Rechnungskit
Shopware + Rechnungskit

Shopware 6: e‑invoicing and DATEV export without a plugin

Shopware gives you a document for each order, but you still piece together fees, payouts, refunds and the DATEV export for your tax advisor yourself. Rechnungskit pulls your orders through the Admin API, writes the e-invoice on shipment and delivers the finished DATEV booking batch with documents every month.

  • No plugin in the shop: pulled through the Admin API every 15 minutes
  • ZUGFeRD invoice on shipment, with the shipping day as the date of supply (Leistungsdatum)
  • DATEV batch each month, with Stripe, Mollie and PayPal fees booked separately
Set up in under an hour · free test mode before you go live
The gap

Shopware sells. The invoice is your job.

Shopware creates the document for the order. What your bookkeeping needs after that lives outside the shop: your payment provider's fees and payouts, cancellation invoices for refunds, an unchangeable archive and finished bookings for DATEV. Rechnungskit takes over that part.

Shopware alone
  • A document from the shop, ZUGFeRD only from Shopware 6.6.10
  • Payment provider fees and payouts are missing
  • Refunds need a credit note created by hand
  • No DATEV export in the core, only through plugins
With Rechnungskit
  • E-invoice under EN 16931 for every order, XRechnung for customers with a Leitweg-ID
  • Payment from Stripe, Mollie, PayPal, Unzer or prepayment matched to the order
  • Cancellation invoice created automatically once the transaction is "refunded"
  • DATEV batch each month with document link, fees booked separately
How it works with Shopware

Four steps from payment to booking.

  1. 01
    Connect
    Connect your Shopware store in a few minutes. No code needed.
  2. 02
    Import
    Rechnungskit imports every Shopware order and matches its payment.
  3. 03
    Erzeugen
    Every order becomes a validated e-invoice under EN 16931.
  4. 04
    Archive
    The invoice is archived to GoBD standards and is ready for the DATEV export.
Step-by-step guide Connect Shopware 6 Setup step by step, common snags and detailed questions.
Formats & standards

Every format Shopware doesn't deliver.

ZUGFeRD 2.5 Germany live
XRechnung 3.0 Germany (public sector clients) live
EN 16931 XML EU (OSS) live
DATEV EXTF Booking batch for SKR03 or SKR04 live

How a Shopware order runs through Rechnungskit

In the Shopware admin you create an integration (Settings → System → Integrations, read access is enough) and enter the shop URL, access key ID and secret in Rechnungskit. You need no plugin or extension in the shop. After a test pull, Rechnungskit loads the orders of the last 7 days and then reconciles every 15 minutes: new orders, payment status, shipping status and cancellations. The setup step by step is in the Shopware 6 help.

Rechnungskit, "Connect Shopware" dialog: the shop URL https://your-shop.com is filled in, below it the empty access key ID (SWIA…) and secret access key fields and the note that you create the credentials in the Shopware admin under Settings → System → Integrations

The payment comes from your payment provider (Stripe, Mollie, PayPal or Unzer) or as prepayment from the shop. Rechnungskit matches it to the order by order number. Order and payment together become a validated e-invoice as a ZUGFeRD hybrid, with a sequential number and, for physical goods, the shipping day as the date of supply. Customers with a Leitweg-ID (the routing ID German public bodies use), such as authorities or universities, get the same invoice as XRechnung 3.0. When a transaction in the shop is set to "refunded", the cancellation invoice follows. Every document sits unchangeable in the GoBD archive and goes into the monthly DATEV export, with revenue and payments kept apart.

Flow · one Shopware order
From Shopware 6 to the booking at your tax advisor
Comes in
Order from Shopware 6Pulled through the Admin API every 15 minutes, no plugin in the shop
Optionally right awayA Flow Builder "Call webhook" action triggers the pull
PaymentFrom Stripe, Mollie, PayPal, Unzer or as prepayment in the shop
In Rechnungskit
  1. MatchPayment to order, by order number
  2. InvoiceE-invoice in ZUGFeRD format, on shipment for goods
  3. CancellationFrom the "refunded" transaction status in the shop
Result
GoBD archiveEvery document archived unchangeable
DATEV exportMonthly, revenue and payments separate
All data comes from the authenticated pull through the Admin API. The Flow Builder action only makes the pull happen sooner.

Timing: a pull every 15 minutes

Core Shopware has no configurable webhooks, so Rechnungskit checks your shop every 15 minutes. For invoicing that is enough, because your customer only gets the invoice after shipment or payment anyway. If you want it faster, you need the Flow Builder from the paid Shopware plans (Evolve or higher, via the Commercial extension): a Flow Builder "Call webhook" action pointing at the address Rechnungskit shows you under Connections triggers an immediate pull. Rechnungskit ignores the content of that notification on purpose; all data comes from the authenticated pull through the Admin API.

Every Shopware payment method has its route

When the invoice is created depends on how your customer pays.

Three ways to pay in Shopware
When is the invoice created?
Paid online
Stripe, Mollie, PayPal or Unzer, matched by order number
Invoiceon shipment
Prepayment
You set the payment status in the shop to "Paid", the next pull picks it up
Invoiceon shipment, as paid
Purchase on account
Your customer pays by bank transfer after the goods arrive
Invoiceon shipment, with payment terms
For purchase on account, the open receivable shows under Open items until the payment is matched.

Rechnungskit matches online payments via Stripe, Mollie, PayPal or Unzer by order number, and the invoice is created on shipment. With direct PayPal, the Shopware PayPal plugin passes the order number as the PayPal invoice number (invoice_id) by default, and the Unzer module for Shopware passes it as the order ID. Leave these defaults on and matching runs automatically.

With prepayment, your customer transfers money to your account and you set the payment status in the shop to "Paid". Rechnungskit picks up this status change at the next pull as an incoming payment, and the invoice is created on shipment as paid. The flow with both status changes is on Shopware prepayment: invoice automatically after payment. With purchase on account, your customer pays by bank transfer after the goods arrive. The invoice is created on shipment with payment terms, and the open receivable shows under Open items until the payment is matched.

Rechnungskit charges shipping at the tax rate of the goods, even if the shop reports a flat 19%. Mixed baskets are split by gross goods value; the background is in the guide to shipping costs and VAT.

Refunds without manual work

When a transaction in the shop is set to "refunded", Rechnungskit creates a cancellation invoice for the full amount. The original invoice stays unchanged, as § 146 Abs. 4 AO (German Fiscal Code) requires. For partial refunds Shopware reports no refunded items; the amount comes from your payment provider. Your document rule under Connections → Document rules then decides: proportionally across all line items (default), as a single refund line item, or assigned manually. Which correction route fits when is explained in the guide to invoice correction.

The DATEV export for your tax advisor

Shopware has no DATEV export in its core. The usual route is a plugin that exports documents and bookings from the Shopware database. Rechnungskit starts one step later: besides the order, it also knows the payment at the payment provider, and it books both.

Each month two EXTF booking batches are created, one for revenue and one for payments, in SKR03 or SKR04 as you choose. The payment batch books the fees from Stripe, Mollie and PayPal separately from revenue, along with refunds and the payouts to your bank account. EU sales go into the export with destination country and tax rate, and into the OSS return. Every invoice booking carries a DATEV document link, and the documents come along as a document transfer package for DATEV Unternehmen online.

Rechnungskit, DATEV export for July 2026, payments: month overview with payments received, refunds, fees and payouts, payments per provider (Stripe, PayPal, Mollie), booking types and debit/credit; Ready to export? with one open item (a payout item without a matched payment); below it the bookings, among them payment 1460 an 1200, refund 1200 an 1460, fees 6855 an 1460 with BU 506

Your tax advisor does not have to install anything. You download the export and pass it on, or you invite them as external access. Then they collect the exports themselves, maintain the chart of accounts and account mappings and lock exports once checked. The DATEV interface page shows exactly what is in the files. How your tax advisor uses their access is in the DATEV and tax advisor help.

Why not just keep the Shopware invoice?

You can, but three gaps remain. First, Shopware only creates the e-invoice in ZUGFeRD format from version 6.6.10. Older installations deliver just a PDF, and a PDF without a structured data set is not an e-invoice (§ 14 Abs. 1 Satz 3 UStG, German VAT Act). For domestic B2B sales, that does not meet the e-invoicing mandate from 2027 or 2028 (§ 27 Abs. 38 UStG). Second, Shopware does not know your payment fees and payouts, so reconciling them for bookkeeping stays manual work. Third, there is no DATEV export with bookings already matched. The article creating Shopware invoices covers what the Shopware document feature can do.

For EU sales, Rechnungskit also watches the 10,000 euro threshold for the OSS scheme (§ 3c Abs. 4 UStG).

Who this is for

Merchants on Shopware 6 whose tax advisor works with DATEV and who no longer want to bring invoice, payment reconciliation and booking together by hand. If your shop is run as a GmbH or another company that keeps double-entry books, the date of supply and a clean audit trail matter twice as much. Rechnungskit is a German product, hosted at Hetzner in Germany. Every feature is included in every account; you pay the base fee and your documents, details on the pricing page. If you are weighing other invoicing tools for shops, the comparisons with Billbee and easybill help.

What does it cost?

What does it cost for your Shopware shop?

Usually one document per order. A cancellation invoice for a refund counts as a document of its own.

  • 300 documents €46.00 per month · €9.00 base fee + €37.00 usage
  • 1,000 documents €105.50 per month · €9.00 base fee + €96.50 usage
  • 2,000 documents €180.50 per month · €9.00 base fee + €171.50 usage

Every feature and integration included, cancel monthly. Free to test until you go live. Prices are net, plus VAT.

See full pricing →
FAQ

Shopware and e-invoicing: FAQ

Shopware 6. Shopware 5 is not supported. The connection runs through the Admin API with an integration (Settings → System → Integrations), with no plugin or extension in your shop. Read access is enough.
More integrations
The same validated pipeline for your whole stack.

Rechnungskit is not a tax advisory or law firm. This article explains general principles and does not replace advice from a tax advisor (Steuerberater, § 5 StBerG) or a lawyer (§ 3 RDG). Rechnungskit is built for businesses based in Germany and prepares documents, tax rates and bookings automatically. How your specific case is treated remains your decision, ideally together with your tax advisor or a lawyer.

Connect Shopware, e-invoicing done.

Create an account, connect your store, check everything in free test mode. Billing starts when you go live.

Try it now
de en