Integrations · Webshops
Connect WooCommerce to your accounting, stock and shipping
I connect WooCommerce with the built-in WooCommerce node and trigger in n8n, supplemented with the WooCommerce REST API where needed. This integration runs in production: for web agency Mercabilis, a WooCommerce webshop keeps Exact Online up to date, with customer group prices and a failure email for every deviation.
In productionBuilt-in n8n integration
What you connect with WooCommerce
- Orders to your accounting: Exact Online, Moneybird, AFAS or Zoho Books
- Items, prices and customer group prices from your accounting back to the webshop
- Keep stock in line with your ERP or marketplaces
- Shipping labels through Sendcloud or MyParcel as soon as an order is ready
- Customers to your CRM or mailing list, with consent
How the integration works
New and changed orders come in through a webhook; a check at fixed times catches what a webhook misses. The integration records per order what has been processed, so a repeat does nothing twice. Everything runs in n8n on a dedicated server, with an integration database, logging and a failure email in plain language.
Facts about the WooCommerce API
Checked on 2 November 2026 against the official documentation. Limits, prices and versions change; the source is listed per row.
| Fact | What the documentation says | Source |
|---|---|---|
| Authentication | REST API with a consumer key and secret (Basic Auth over HTTPS), with read, write or read-write permissions tied to a WordPress user. | WooCommerce REST API docs |
| Key lifetime | Keys do not expire. They stop working when the linked WordPress user is deleted. | WooCommerce REST API docs |
| Rate limits | None in the official documentation. The limit is your hosting. | WooCommerce Developer Docs |
| Webhooks | Yes, for orders, products, customers and coupons (created, updated, deleted), signed with HMAC-SHA256. After more than five consecutive failed deliveries WooCommerce disables the webhook. | WooCommerce webhooks |
| Test environment | No WooCommerce sandbox; you test on your own staging install. | WooCommerce Developer Docs |
| Version | Current version wc/v3. Since WooCommerce 9.0 (June 2024) the Legacy REST API is a separate extension that will not be maintained indefinitely. | WooCommerce: Goodbye Legacy REST API |
| API cost | None. WooCommerce is open source; you only pay for hosting. | WooCommerce Developer Docs |
| n8n | Built-in WooCommerce node (customers, orders, products) and WooCommerce trigger with twelve events. | n8n documentation |
What you need on your side
- A WordPress administrator who can create an API key under WooCommerce, Settings, Advanced, REST API
- HTTPS on the webshop and pretty permalinks enabled; the API does not work with default permalinks
- Access to the accounting package or CRM the orders should go to
- A list of the plugins that add fields to an order, so the integration knows those fields
Where it often goes wrong, and how I prevent it
- Plugins with their own fields: many plugins add fields to an order. I record in advance which fields the integration uses.
- Webhooks that stop: WooCommerce can disable a webhook after repeated failures. An additional check and a heartbeat alert make sure you notice.
- Variations and item codes: without an unambiguous item code, an order does not land in the accounts. The integration reports which code is missing.
- VAT settings: the VAT in the webshop must match the VAT codes in the accounts. I agree that in advance.
In practice
For Mercabilis I connected a WooCommerce webshop to Exact Online on a dedicated server with Cloudflare in front: 14 workflows including error handling, an integration database of 12 tables and customer group prices for logged-in customers. Read the case →
What it costs
I build a WooCommerce integration as one scoped process for a fixed price, from €750. Maintenance and monitoring are a monthly fee: n8n management from €250 per month, server management €145 per server. In the free assessment we work out your process, including what the webshop itself costs in hosting. All prices and what is included →
What I do not do
- I do not build WooCommerce plugins or change your theme; the integration runs in n8n next to the webshop.
- I do not host the webshop unless we agree on server management.
- I do not change the VAT settings of your webshop myself; I align those with you and your accountant.
Frequently asked questions about connecting WooCommerce
Why not a ready-made WooCommerce plugin for the integration?
A plugin often runs on someone else's server and you cannot see what it does. An integration in n8n is yours, is readable and sends an alert when something goes wrong.
Does this also work with customer group prices?
Yes. At Mercabilis the integration fetches the prices per customer group from Exact Online, so a logged-in customer sees their own price. Exact remains the only place where a price changes.
What if an order does not come through?
Then you get a failure email with the order number, what went wrong and what you can do. Temporary errors are retried automatically.
What happens when WooCommerce disables the webhook?
WooCommerce disables a webhook after more than five consecutive failed deliveries. That is why a scheduled check runs next to the webhook and picks up missed orders, and you get a notification as soon as a webhook has been disabled.
Does WooCommerce limit API calls?
Not in the official documentation. The limit is your hosting. The integration therefore works in batches with pauses, so your webshop does not slow down when many orders arrive at once.
Related integrations
Often connected together
Exact Online
In productionSync orders, items and prices with your webshop, including customer group prices.
More about the Exact Online integration →Moneybird
CustomUpdate invoices, contacts and payments through the API.
More about the Moneybird integration →Sendcloud
CustomCreate shipping labels and send tracking to the customer.
More about the Sendcloud integration →Mollie
CustomMatch payments and refunds to your invoices.
More about the Mollie integration →