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).
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.
- OrderCustomer pays 119.00 eurosPayment to the PayPal clearing account
- Same dayPayPal withholds the feeExpense in incidental costs of payment transactions, not deducted from revenue
- CompletedInvoice is createdRevenue 19 % with invoice number
- PayoutLump sum to the bankFrom the clearing account to the bank account
- Month endBooking batch and receiptsClearing account is at zero, otherwise a booking is missing
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.
- Chart of accounts and numbers: SKR03 or SKR04, advisor number, client number, account number length and start of the fiscal year.
- Revenue accounts: Which accounts for 19 %, 7 %, tax-exempt sales and EU sales, and whether OSS runs through tax keys or separate accounts.
- Clearing accounts: One clearing account per payment provider, plus the account for fees.
- Debtors: Collective or individual debtors, and the starting number.
- Receipts: Whether your tax advisor uses DATEV Unternehmen online and expects receipts via document link.
- Cut-over date: From which month the new route applies, so that no month is booked twice or not at all.
- 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
- [1] DATEV Developer Portal: DATEV format (German)
- [2] DATEV Help 1034038: importing booking batches and master data in DATEV format (German)
- [3] DATEV Help 1003221: ASCII import, field descriptions for standard formats (German)
- [4] DATEV Help 1020263: the OSS procedure in DATEV accounting programs (German)
- [5] DATEV: setting up the booking data service (German)
- [6] DATEV: standard charts of accounts SKR 03 and SKR 04 (German)
- [7] WooCommerce: Analytics and CSV download
- [8] Buchungsstapel Order Export for WooCommerce (WordPress.org)
- [9] WooCommerce DATEV Export Plugin (DSCHOY GmbH, German)
- [10] GoBD: BMF circular of 28.11.2019 (German)
- [11] GoBD: second amendment, BMF circular of 14.07.2025 (German)
- [12] § 146 AO, rules on keeping books (German)
- [13] § 147 AO, rules on retaining records (German)
- [14] § 3c UStG, place of supply for distance sales, 10,000 euro threshold (German)
- [15] § 14 UStG, issuing invoices (German)
- [16] § 246 HGB, completeness and the offsetting ban (German)
- [17] § 18j UStG, special taxation procedure (OSS) (German)
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