WooCommerce e‑invoicing and DATEV export, no plugin needed
Rechnungskit pulls your WooCommerce orders through the REST API, with no plugin in WordPress. It turns them into validated e-invoices, keeps a GoBD archive and produces the DATEV export for your tax advisor.
- Invoice on shipment, with the shipping date as the date of supply (Leistungsdatum)
- Refunds become a cancellation invoice with exactly the refunded items
- DATEV export including fees and payouts from Stripe, PayPal and Mollie
WooCommerce sells. The invoice is your job.
WooCommerce sells, but out of the box it has no invoices. Invoice plugins create documents inside the shop, while payments, fees, payouts and the DATEV bookings pass them by.
- Out of the box only order confirmations, no invoices
- No field for the buyer's VAT ID (USt-IdNr.)
- Payments, fees and payouts sit with the payment provider
- No DATEV export and no archive outside WordPress
- E-invoice under EN 16931, created on shipment
- VAT ID taken over from Germanized and similar plugins and checked
- Payment, fee and payout matched to the order
- GoBD archive with checksum and a DATEV export per month
From the WooCommerce order to the DATEV booking
WooCommerce supplies the order, your payment provider the money. Rechnungskit brings the two together and hands finished bookings to your tax advisor.
- Line items, tax rates, discounts
- Shipping costs and delivery address
- Status "Completed" as the shipping signal
- Amount and fee
- Refunds
- Payout to your bank account
- ZUGFeRD, XRechnung for public bodies
- Validated before it is sent
- GoBD archive with checksum
- Booking batch per month
- Documents attached via document link
Four steps from payment to booking.
- 01ConnectConnect your WooCommerce store in a few minutes. No code needed.
- 02ImportRechnungskit imports every WooCommerce order and matches its payment.
- 03ErzeugenEvery order becomes a validated e-invoice under EN 16931.
- 04ArchiveThe invoice is archived to GoBD standards and is ready for the DATEV export.
Every format WooCommerce doesn't deliver.
How the WooCommerce integration works
Rechnungskit links two data sources: the WooCommerce order and the payment at your payment provider, meaning Stripe, PayPal, Mollie or Unzer. The order supplies line items, tax rates, discounts, shipping costs and the shipping status. The payment supplies the amount, the fee and later the payout. Together they become an e-invoice in ZUGFeRD format: a PDF with embedded XML that consumers can read and that business customers' accounting software can process. 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.
Before an invoice goes out, Rechnungskit checks the mandatory details under § 14 Abs. 4 UStG (German VAT Act), the tax rate per country, the sequential invoice number and the EN 16931 schema. The invoice is then stored unchangeable, with a checksum, in the GoBD archive. If you want, it is emailed to the customer in your name.
Setup in three steps
- In WooCommerce, create a key with Read/Write access under Settings → Advanced → REST API.
- In Rechnungskit, enter the shop URL, the consumer key and the consumer secret under Connections. Rechnungskit creates the webhooks itself.
- Connect your payment provider and run a test order in the free test mode. Billing only starts at go-live; prices are on the pricing page.
The WooCommerce help page covers shop URL, redirects and permissions.
Which WooCommerce status triggers what
Rechnungskit reads the order statuses you set in WooCommerce. You do not need an extra interface for shipping.
- ProcessingPayment recordedNo invoice yet, the goods have not shipped
- CompletedE-invoice is createdDate of supply = shipping
- Refunded or partially refundedCancellation invoiceWith exactly the refunded items; the invoice stays unchanged
New and changed orders arrive by signed webhook. On top of that, Rechnungskit reconciles the orders of the last 24 hours every four hours. If a webhook goes quiet, Rechnungskit reactivates it in the shop and pulls orders every 15 minutes in the meantime, so none go missing even on days with hundreds of orders.
Connecting WooCommerce to DATEV
WooCommerce has no DATEV export of its own, so the route goes through the invoice. Rechnungskit writes every document into the monthly DATEV export, an EXTF booking batch with revenue and payments kept separate. Fees from Stripe, PayPal and Mollie and their payouts appear as bookings of their own, and the documents are attached via document link. Your tax advisor collects the export through their own access. EU sales to consumers also land in the OSS export. The guide WooCommerce DATEV export explains the general routes from a shop to DATEV and what the booking batch has to contain.
Prepayment straight from WooCommerce
Offline payments also work without entering anything twice. With direct bank transfer, the order first sits at "On hold". Once you have checked that the money arrived and set the order to "Processing", Rechnungskit recognizes the prepayment. At "Completed", the already paid invoice is created. The full flow is on WooCommerce prepayment.
Post-purchase upsells: a second payment, a document of its own
Upsell plugins such as FunnelKit (UpStroke) add items to the same order after checkout and collect a second payment for them. The order grows after the fact, and the first invoice no longer matches the order total. Rechnungskit detects this and creates a supplementary invoice (Nachtragsrechnung) for exactly the added items. The first invoice stays unchanged in the archive, the supplement gets its own number, and each payment is matched to its document, in the DATEV export and for later refunds too. The flow with shipping costs and refunds is on upsell and supplementary invoice.
Matching direct PayPal payments
If you run PayPal directly and not through Mollie, one detail matters: the WooCommerce PayPal plugin writes the order number into the PayPal field invoice_id. That is where Rechnungskit reads the link to the order. Check in the plugin settings that the Invoice Prefix is set. Every direct PayPal payment is then matched automatically, including fees from the PayPal integration.
Why not another WooCommerce plugin?
Plugins run inside your shop and share its risks: updates, conflicts, load time. The invoice archive then also depends on your hosting. Rechnungskit runs outside WordPress and only reads data through the API, so your shop stays lean and the documents are stored apart from it. The guide creating WooCommerce invoices compares the other routes: a PDF plugin, Germanized Pro or an external service.
Using another tool for your WooCommerce invoices today? The comparisons with easybill, Billbee, FastBill and Pathway Solutions show where the differences are.
WooCommerce and e-invoicing: FAQ
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 WooCommerce, e-invoicing done.
Create an account, connect your store, check everything in free test mode. Billing starts when you go live.
Try it now