Skip to content
Rechnungskit
Accounting · WooCommerce
Playbook

WooCommerce DATEV export: options, file format and account mapping

WooCommerce has no built-in DATEV export. Your tax advisor (Steuerkanzlei) needs a booking batch (Buchungsstapel) in DATEV format (EXTF) with revenue per VAT rate, plus receipts and the payments, fees and payouts from your payment provider. There are four ways to get there: CSV plus manual work, an export plugin in the shop, an external service with a DATEV connection, or a system that creates the invoice and the export outside the shop.

What WooCommerce provides and what is missing

WooCommerce handles orders well, but it has no accounting. Under Analytics you can download a report as CSV; for longer periods the link arrives by email (WooCommerce documentation). That is not a DATEV booking batch. It lacks the accounts, the tax keys and the file header DATEV needs for the import.

Many shop owners notice a second gap only at their first month-end close: the order knows only half of the money flow. Even a plugin built specifically for DATEV export states on its plugin page that payment fees from PayPal and Stripe are not part of the WooCommerce order and therefore are not in the file (Buchungsstapel Order Export, WordPress.org).

Quick check · one WooCommerce order
What DATEV needs and whether the order has it
Amounts per VAT rateWooCommerce calculates line items, shipping and tax for each order
In the order
Destination countryNeeded for EU sales to consumers under the OSS scheme
In the order
Invoice number and receipt imageWooCommerce assigns order numbers; invoices only come from a plugin or service
Missing by default
Payment provider feesWithheld by Stripe, PayPal or Mollie and listed only in their statements
Not in the shop
Payouts to the bank accountLump sums across many orders, minus fees and refunds
Not in the shop
Whatever the order lacks has to come from an invoicing solution and from the payment provider's data. Which mandatory details belong on the invoice itself is covered in Creating WooCommerce invoices.

What DATEV needs: the booking batch

Your tax advisor works with a booking batch in DATEV format, often called EXTF after the identifier in its first line. DATEV publishes the specification in its Developer Portal. DATEV Kanzlei-Rechnungswesen imports these files through batch processing (DATEV Help 1034038, German).

The file has two parts. The header holds the advisor number, client number, start of the fiscal year, account number length and the period. DATEV uses these details to assign the file to the right client, so they come from your tax advisor. Below the header there is one line per booking. The key fields:

Field Content for a shop order
Amount and debit/credit Gross amount of the booking, direction relative to the Account field
Account and contra account For example debtor to revenue account, or clearing account to debtor
BU key (tax key) Tax key, if the revenue account has no automatic tax
Document date Invoice date; for payments, the payment date
Document field 1 Invoice number, which DATEV uses to match open items
Booking text Short text, such as order number and buyer
Document link Reference to the receipt image in DATEV

The field descriptions are in DATEV Help 1003221 (German). On the first import, check two things: the character encoding, so that umlauts in the booking text arrive readable, and the period in the header, which has to match the document dates.

The accounts follow your tax advisor's chart of accounts. In the DATEV standard charts of accounts (German), the typical shop accounts are:

Account SKR03 SKR04
Revenue 19 % VAT 8400 4400
Revenue 7 % VAT 8300 4300
Trade receivables 1400 1200
Clearing account (Geldtransit) 1360 1460
Incidental costs of payment transactions 4970 6855

The numbers come from the DATEV charts of accounts for 2026. Many tax advisors set up their own sub-accounts below these, for example one clearing account per payment provider. Ask for the chart of accounts before the first export.

Payments, fees and payouts

A WooCommerce order for 119 euros paid with PayPal creates three money movements: the customer pays 119 euros, PayPal withholds a fee, and the rest lands in your bank account at some point, bundled with other payments. If you book only the payout, the fee disappears as an expense, because income and expenses may not be offset against each other (§ 246(2) HGB, German Commercial Code, German). On top of that, the bank transaction can no longer be matched to an order.

The usual answer is one clearing account (Geldtransitkonto) per payment provider. The payment goes to the clearing account, the fee goes from there to incidental costs of payment transactions, and the payout goes from the clearing account to the bank. At month end the clearing account is at zero; if it is not, something is missing. The guide Exporting Stripe to DATEV walks through it with numbers. PayPal and Mollie work the same way.

Example · shipped goods, paid with PayPal
From WooCommerce order to DATEV booking
  1. OrderCustomer pays 119.00 eurosPayment to the PayPal clearing account
  2. Same dayPayPal withholds the feeExpense in incidental costs of payment transactions, not deducted from revenue
  3. CompletedInvoice is createdRevenue 19 % with invoice number
  4. PayoutLump sum to the bankFrom the clearing account to the bank account
  5. Month endBooking batch and receiptsClearing account is at zero, otherwise a booking is missing
For shipped goods, the shipping day goes on the invoice as the date of supply (Leistungsdatum) (§ 14(4) sentence 1 no. 6 UStG, German), which is why the invoice is only created at "Completed". Refunds are handled as a correction with a new document, see Invoice correction.

With prepayment by bank transfer (Vorkasse) there is no payment provider and no clearing account. Your tax advisor sees the incoming payment directly on the bank statement. Booking it from the shop as well risks a double booking. The WooCommerce flow is described in WooCommerce prepayment.

Collective or individual debtor accounts

Between revenue and payment, DATEV has a personal account, the debtor (Debitor). With four-digit general ledger accounts, debtors sit in the range 10000 to 69999. Shops typically use one of two models:

  • Collective debtor (Sammeldebitor): One account for all customers. This keeps the chart of accounts lean and suits shops whose customers pay upfront by PayPal, card or Klarna. DATEV then clears open items using the invoice number in document field 1.
  • Individual debtor per customer (Einzeldebitor): Each customer gets their own number. This pays off when you sell to business customers on account and want to run dunning in DATEV. Your tax advisor then also needs master data with name, address and VAT ID (USt-IdNr.).

A mixed model is common too: consumers go through the collective debtor, business customers get their own numbers. What matters is that invoice and payment land on the same debtor. Otherwise open items stay open even though everything has been paid.

Receipts for each booking

Under GoBD, every business transaction must be backed by a receipt (BMF circular of 28.11.2019, last amended on 14.07.2025, both German). You keep accounting vouchers for eight years under § 147(3) AO (German Fiscal Code, German). For a shop, every revenue booking needs its invoice, and your tax advisor has to be able to find it.

The booking batch has a field for that link: the document link (Beleglink). If it points to a receipt image already stored in DATEV Unternehmen online, DATEV attaches the invoice to the booking on import. The order matters: upload the receipts first, then import the booking batch. The other way round, the bookings stay without receipts.

Without a document link, only the manual route is left: the invoices go to your tax advisor as a ZIP or one by one, and they match them booking by booking. With a few dozen orders a month that is manageable. With hundreds it becomes the main monthly chore. Where the invoices are stored is also a GoBD question: an archive inside the WordPress installation depends on hosting, updates and plugins.

EU sales and OSS

If you sell to consumers in other EU countries and exceed the EU-wide threshold of 10,000 euros (§ 3c(4) UStG, German VAT Act, German), you owe the destination country's VAT (§ 3c(1) UStG). You can report it in one place through the OSS procedure under § 18j UStG instead of registering in every country. For DATEV, each of these bookings needs the destination country and its VAT rate.

DATEV offers two ways (DATEV Help 1020263, German). Either your tax advisor books to separate revenue accounts per country and rate. Or they use the standard tax keys, for deliveries for example BU key 240, and enter the country in the field "EU-Land u. UStID (Bestimmung)" (EU country and VAT ID, destination) and the rate in "EU-Steuersatz (Bestimmung)" (EU tax rate, destination). DATEV builds the OSS report from either. An export that passes EU sales only at the German rate or without a country leaves your tax advisor with rework for every single booking.

Four options compared

Option What you get Suited for
CSV from WooCommerce plus manual work Order data without accounts; your tax advisor assigns them Few orders, one VAT rate, one payment provider
Export plugin in the shop Booking batch from the orders, sometimes with invoices from your invoice plugin Shops whose tax advisor reconciles payments separately
External service with a DATEV connection Orders and payments merged, as a file or via the booking data service Several payment providers, when invoices are created elsewhere
Invoicing and export outside the shop Invoice, archive and booking batch from one source Anyone who also wants e-invoicing and the archive out of WordPress

There are several export plugins. According to its maker, the WooCommerce DATEV Export Plugin by DSCHOY creates DATEV-compatible CSV files and can include invoices from Germanized, German Market or PDF Invoices & Packing Slips. The advantage is that everything stays in the shop. The limit is that a plugin in the shop usually sees only what is in the order. Fees and payouts are then not included, as the Buchungsstapel Order Export plugin page openly says.

External services fetch orders and payment data via API and reconcile them. Some transfer through the DATEV booking data service (Buchungsdatenservice, German), which lets DATEV Marketplace partners deliver booking data and receipts straight into DATEV Unternehmen online. Your tax advisor sets up the data service for your client account. Whether a service also writes the invoices or only books them differs by provider. How Pathway Solutions, for example, differs from Rechnungskit is covered in the comparison with Pathway Solutions.

Rechnungskit takes the fourth route. It fetches orders from WooCommerce via the REST API, with no plugin in WordPress, and payments from Stripe, PayPal, Mollie or Unzer. At "Completed" the ZUGFeRD invoice is created and stored in the archive with a checksum. Every month you get two EXTF batches for SKR03 or SKR04, one for revenue and one for payments, with a separate clearing account per payment provider, fees and payouts. The revenue bookings carry a document link, and the invoices come along as a document transfer package (Belegtransfer). EU sales go into the batch with BU key 240, destination country and VAT rate. Debtors can be set up as one collective debtor, per payment provider, per payment method or individually per customer. Your tax advisor picks everything up through their own access.

What Rechnungskit does not do: a direct online transfer to DATEV. The batch is a download that your tax advisor imports. What exactly the files contain is described on the DATEV interface page, and the WooCommerce flow on the WooCommerce integration page. Prices are on the pricing page.

Checklist for the talk with your tax advisor

Before the first batch goes to DATEV, settle these points. They apply to all four options.

  1. Chart of accounts and numbers: SKR03 or SKR04, advisor number, client number, account number length and start of the fiscal year.
  2. Revenue accounts: Which accounts for 19 %, 7 %, tax-exempt sales and EU sales, and whether OSS runs through tax keys or separate accounts.
  3. Clearing accounts: One clearing account per payment provider, plus the account for fees.
  4. Debtors: Collective or individual debtors, and the starting number.
  5. Receipts: Whether your tax advisor uses DATEV Unternehmen online and expects receipts via document link.
  6. Cut-over date: From which month the new route applies, so that no month is booked twice or not at all.
  7. Prepayment: Whether bank transfers are booked from the shop or only from the bank statement.

With these answers, any export can be set up so your tax advisor imports it without rework. The options for the invoice itself are in Creating WooCommerce invoices. What the finished export contains is shown in DATEV export for online shops.

FAQ

No. Under Analytics, WooCommerce can download reports as CSV, but that is not a booking batch: accounts, tax keys and the DATEV file header are missing. For DATEV you need a plugin, an external service, or a tax advisor who assigns the accounts by hand.
Sources & legal basis
  1. [1] DATEV Developer Portal: DATEV format (German)
  2. [2] DATEV Help 1034038: importing booking batches and master data in DATEV format (German)
  3. [3] DATEV Help 1003221: ASCII import, field descriptions for standard formats (German)
  4. [4] DATEV Help 1020263: the OSS procedure in DATEV accounting programs (German)
  5. [5] DATEV: setting up the booking data service (German)
  6. [6] DATEV: standard charts of accounts SKR 03 and SKR 04 (German)
  7. [7] WooCommerce: Analytics and CSV download
  8. [8] Buchungsstapel Order Export for WooCommerce (WordPress.org)
  9. [9] WooCommerce DATEV Export Plugin (DSCHOY GmbH, German)
  10. [10] GoBD: BMF circular of 28.11.2019 (German)
  11. [11] GoBD: second amendment, BMF circular of 14.07.2025 (German)
  12. [12] § 146 AO, rules on keeping books (German)
  13. [13] § 147 AO, rules on retaining records (German)
  14. [14] § 3c UStG, place of supply for distance sales, 10,000 euro threshold (German)
  15. [15] § 14 UStG, issuing invoices (German)
  16. [16] § 246 HGB, completeness and the offsetting ban (German)
  17. [17] § 18j UStG, special taxation procedure (OSS) (German)
Read more
Guide E-invoicing for B2C in Germany: does the mandate apply to online shops? Guide E-invoicing in Germany: the mandate explained for founders Guide Invoicing in a foreign currency in Germany: which exchange rate applies? (ECB, DATEV, OSS) Guide GoBD explained: principles, retention and what they mean for your invoices Guide Small-amount invoices in Germany (§ 33 UStDV): when the buyer's address can be left out Guide E-invoicing for small businesses in Germany (Kleinunternehmer): duties, exemptions, thresholds 2026 Guide The German cancellation button (§ 312k BGB): who needs it and how it works Guide The date of supply on German invoices: shipping date or payment date? Guide Leitweg-ID: what it is, how it is structured and how it gets onto the invoice Guide The OSS scheme explained: the €10,000 threshold, registration and an example Guide Deferred revenue for SaaS and online courses in Germany: when a pRAP is required Guide Proforma invoices in Germany: what they are for and why they are not invoices Guide Deferred revenue in German accounting (pRAP): definition, bookings and an example Guide Changing the billing address on a German invoice afterward: is it possible? (without a cancellation) Guide Correcting an invoice in Germany: which route for which error? Guide Server-side tracking for Meta: Conversions API with a lean consent bar Guide Shopify gift cards in Germany: gift card, discount code and store credit for VAT Guide Shopify invoices in Germany: what Shopify does, what is missing, what applies from 2027 Guide Shopware invoices: what Shopware 6 does on its own and what is missing Guide Stripe DATEV export: getting Stripe payments into DATEV as a booking batch Guide Booking Stripe fees in Germany: clearing account, reverse charge and Stripe Technology Europe Ltd Guide Stripe Invoicing in Germany: creating invoices, pricing and e-invoicing Guide Stripe invoices with payment terms as e-invoices: bank transfer to the Stripe IBAN Guide Stripe invoices in Germany: what Stripe Invoicing and Billing do, what is missing, and what applies from 2027 Guide Shipping costs and VAT in Germany: 7%, 19% or tax-exempt? Guide The German withdrawal button (§ 356a BGB): mandatory since June 19, 2026 Guide WooCommerce invoices in Germany: plugins, mandatory details, e-invoicing Guide XRechnung vs ZUGFeRD: the XRechnung format explained Guide Payment terms on invoices in Germany: rules, due date calculation and wording Guide ZUGFeRD explained

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.

Every invoice automatically as a valid e-invoice.

Connect your payment provider and we take care of format, validation and archive. Start for free in test mode.

Try it now
de en