← All integrations
Shopware → DATEV

Shopware DATEV integration

In short

A Shopware to DATEV integration turns each Shopware order, generated invoice, credit note, and payment transaction into correctly coded bookings your Steuerberater can import as a Buchungsstapel - with the right SKR03 or SKR04 revenue accounts, the correct tax keys for domestic, EU OSS, and third-country sales across every sales channel, and payment-provider settlements reconciled through a clearing account. Done properly it is not a CSV export from the admin: it is a daily, idempotent pipeline that keeps DATEV in sync with Shopware without anyone re-keying figures at month-end.

What a Shopware to DATEV integration actually does

Shopware knows everything about a sale - the line items, the tax per position, the discount, the shipping cost, the invoice document it generated, the credit note two days later, the Stripe settlement that lands next week net of fees. DATEV, and the tax advisor working inside it, needs all of that expressed as bookings: the right revenue account, the right tax key, the right posting date, split correctly between the revenue and the money that actually reaches the bank.

The gap between those two worlds is where the work lives. A Shopware to DATEV integration closes it automatically: it reads each relevant event from Shopware through the Admin API, applies your accounting logic, and hands DATEV a clean booking batch your Kanzlei can import without touching a spreadsheet.

What data moves

Shopware object / eventBecomes in DATEVNotes
Paid order (order)Revenue booking, split by tax rateCoded to the correct SKR03 / SKR04 revenue account per tax treatment and sales channel
Invoice document (document, type invoice)Booking keyed to the BelegnummerThe sequential invoice number lands in the DATEV Belegfeld for the audit trail
Order line-item tax (calculatedTaxes)Correct tax key (Steuerschlüssel / BU-Schlüssel)Domestic 19% / 7%, EU OSS, reverse-charge, third-country export
Shipping & discountsSeparate booking linesShipping is itself taxable and needs its own account
Credit note / cancellation (document, type credit_note / storno)Reversing bookingSame accounts and tax keys as the original invoice, dated to the credit note
Payment transaction (order_transaction)Clearing-account settlementPayPal / Stripe / Klarna / Mollie each reconciled separately per method
Provider feesExpense bookingNetted settlement matched to gross sales plus fees
Customer (customer, optional)Debtor master recordOnly where you keep per-customer debtor accounts rather than a collective account

The exact account numbers, tax keys, clearing accounts, and per-channel mapping are agreed once with your tax advisor and encoded in the pipeline. After that, nobody maps them again by hand.

The details that break naive exports

A CSV export or a generic connector plugin gets you 80% of the way and leaves the expensive 20% on your desk:

How we build and run it

We treat this as a pipeline, not a batch job. Shopware order, document, and payment-transaction events are pulled from the Admin API on a schedule (or by webhook), validated, transformed into your agreed DATEV coding, and written out as a DATEV-Format booking batch (Buchungsstapel) - or delivered through the DATEV Rechnungsdatenservice into DATEV Unternehmen online where that suits your Kanzlei workflow.

The pipeline is idempotent: every Shopware document carries a stable identifier and number, so a retry or a re-run never produces a duplicate booking. It runs on cloud-native, fully EU-hosted AWS infrastructure, so order and customer data never leaves the EU - which keeps the DPA / AVV with your tax advisor and your GDPR obligations clean.

And then we keep it running. Monitoring, alerting, incident response, and - critically - watching for Shopware Admin API changes and DATEV format updates are our responsibility under contract. The month-end close stops depending on someone remembering to run an export or on a plugin surviving the next Shopware upgrade.

When this integration is worth building

If you process a handful of orders a month at a single tax rate through one sales channel, a manual export or a stock plugin is genuinely fine and we will tell you so. The integration earns its place when volume climbs, when you sell across EU borders under OSS, when credit notes and multiple payment providers make reconciliation a monthly chore, when you run several sales channels or currencies from one Shopware instance, or when your tax advisor is charging you to clean up exports that a pipeline should have delivered correctly in the first place.

Frequently asked questions

Can I not just export orders from the Shopware admin and import them into DATEV?
You can, and for a handful of orders a month it is fine. It breaks down once volume, credit notes, and mixed tax rates across sales channels appear. A raw order export has no chart-of-accounts logic, no tax keys, no split between the sale and the payment-provider settlement, and no protection against importing the same period twice. Every export becomes manual clean-up in Excel before your tax advisor will touch it. The integration moves that logic into a pipeline that runs itself.
Do you book from the Shopware order or from the generated invoice document?
Whichever is the legal document of record for you, and we agree it up front. Most B2B and mixed sellers book from the Shopware invoice document (Rechnungsbeleg), because its number is the sequential, audit-relevant Belegnummer your tax advisor expects, and credit notes reverse against it. Pure-B2C shops with instant fulfilment often book from the paid order. We map document numbers into the DATEV Belegfeld so every booking traces back to a real Shopware document.
How do you handle PayPal, Stripe, Klarna, and Mollie settlements?
The sale and the money arriving are two different events. We book the revenue at the point of the order or invoice, then route each provider settlement through a clearing account (Geldtransit / Verrechnungskonto) per payment method, matching provider fees and the netted payout so the eventual bank booking reconciles to the cent. Shopware records the payment transaction and status; the provider settles days later in a batch spanning many orders. Keeping those separate is the part manual exports almost always get wrong.
Does it handle OSS and EU cross-border VAT, and multiple sales channels?
Yes. Domestic sales, EU B2C distance sales under the One-Stop-Shop scheme, EU B2B reverse-charge, and third-country exports each get the correct tax key and account. The destination country and the customer tax status drive the coding. Shopware sales channels (and separate storefronts or B2B accounts) can post to different revenue accounts or cost centres, so a multi-channel setup stays cleanly separated in DATEV rather than collapsed into one bucket.
Who operates it after it goes live?
We do. The pipeline runs on cloud-native, fully EU-hosted infrastructure that we monitor. If Shopware releases a breaking Admin API change or DATEV adjusts its import format, that is our problem to fix, not a surprise your finance team discovers at month-end. You get a named owner, alerting, and an SLA rather than a plugin someone has to babysit through every Shopware update.

Need this integration built and permanently operated? Tell us which systems connect and what data has to move. Fixed-price scoping quote within 48 hours.

Request a scoping call