← All integrations
WooCommerce → DATEV

WooCommerce DATEV integration

In short

A WooCommerce to DATEV integration turns each WooCommerce order, refund, and gateway payout into correctly coded bookings your Steuerberater can import as a Buchungsstapel - with the right SKR03 or SKR04 accounts, the correct tax keys for domestic, EU OSS, and third-country sales, and Stripe or PayPal payouts reconciled against a clearing account. Because WooCommerce is a WordPress store you also control, its data can be messy: draft orders, plugin-added fees, and status changes all need handling. Done properly it is a daily, idempotent pipeline, not a one-off export re-keyed at month-end.

What a WooCommerce to DATEV integration actually does

WooCommerce knows everything about a sale - the line items, the tax collected, the coupon, the shipping, the refund three days later, the Stripe payout that lands next Tuesday net of fees. DATEV, and the tax advisor working inside it, needs all of that expressed as bookings: the right account, the right tax key, the right posting date, split correctly between the revenue and the money that actually reached the bank.

The gap between those two worlds is where the work lives. A WooCommerce to DATEV integration closes it automatically: it reads each relevant order and refund event from WooCommerce, pulls payout and fee detail from your payment gateways, applies your accounting logic, and hands DATEV a clean booking batch your Kanzlei can import without touching a spreadsheet.

Because WooCommerce is a WordPress store you host and extend yourself, its data is richer and messier than a locked-down platform. That is a feature for your shop and a hazard for your books - which is exactly what a proper pipeline is built to absorb.

What data moves

WooCommerce object / eventBecomes in DATEVNotes
Paid order (processing / completed)Revenue booking, split by VAT rateCoded to the correct SKR03 / SKR04 revenue account per tax treatment
Order tax linesCorrect tax key (Steuerschlüssel / BU-Schlüssel)Domestic 19% / 7%, EU OSS, reverse-charge, third-country export
Coupons & shipping linesSeparate booking linesShipping is itself taxable and needs its own account
Refund / partial refundReversing bookingSame accounts and tax keys as the original, dated to the refund
Plugin fee lines (e.g. surcharges)Explicit fee / income bookingMapped case by case, never lumped into revenue
Gateway payout (Stripe / PayPal / Mollie)Clearing-account settlementPulled from the gateway API, reconciled per provider
Gateway transaction feesExpense bookingNetted payout matched to gross sales plus fees

The exact account numbers, tax keys, and clearing accounts 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 WooCommerce-to-DATEV 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. WooCommerce order and refund events are pulled through the REST API (or by webhook), gateway payouts and fees are read from Stripe, PayPal, or Mollie, everything is validated, transformed into your agreed DATEV coding, and written out as a DATEV-Format booking batch - or delivered through the DATEV Rechnungsdatenservice into DATEV Unternehmen online where that suits your Kanzlei’s workflow.

The pipeline is idempotent: every WooCommerce order carries a stable identifier, 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 changes in the WooCommerce REST API, your payment plugins, and DATEV are our responsibility under contract. WooCommerce and its plugins update on their own release cadence; when a schema shifts, we catch it before your books do. You get a named owner and an SLA, and the month-end close stops depending on someone remembering to run an export.

When this integration is worth building

If you process a handful of orders a month at a single VAT rate through one gateway, a manual export 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 refunds and multiple payment gateways make reconciliation a monthly chore, when subscription or marketplace plugins complicate every order, 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 a CSV from WooCommerce and import it into DATEV?
You can, and for a few orders a month it is fine. It breaks down once volume, refunds, and mixed VAT rates appear. WooCommerce order exports have no chart-of-accounts logic, no DATEV tax keys, no split between the sale and the gateway payout, and no guard against importing the same month twice. Each 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.
Which DATEV format do you deliver into?
Whichever your tax advisor works with. Most commonly we produce a DATEV-Format booking batch (Buchungsstapel, the EXTF/DTVF structure DATEV Kanzlei-Rechnungswesen imports) and, where the workflow calls for it, deliver documents and booking proposals via the DATEV Rechnungsdatenservice into DATEV Unternehmen online. We agree the target with your Kanzlei up front so the import is clean on their side.
We use Stripe and PayPal through WooCommerce. How do payouts get handled?
The sale and the money arriving are two different events. We book the revenue when the order is paid and route each gateway payout (Stripe, PayPal, Mollie) through its own clearing account (Geldtransit / Verrechnungskonto), then match gateway fees and the netted payout so the bank booking reconciles to the cent. WooCommerce only stores the transaction reference, so we pull the payout and fee detail from the gateway itself.
Does it cope with our WooCommerce plugins and custom order statuses?
Yes, and this is where WooCommerce differs from a closed platform. Subscription renewals, plugin-added fees, custom order statuses, and draft or failed orders all show up in the data. We agree which statuses count as a booking event (typically processing and completed, plus refunded) and map plugin fee lines explicitly, so only real, paid transactions become bookings.
Who operates it after it goes live?
We do. The pipeline runs on cloud-native, fully EU-hosted infrastructure that we monitor. If WooCommerce, a payment plugin, or DATEV changes an API, 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 WordPress cron job somebody has to remember to check.

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