Your Tech Club
INTEGRATIONSWOOCOMMERCE

WooCommerce integration

WooCommerce runs on your own WordPress site. You decide on the hosting, the plugins and what happens to your data. That also means an integration depends on your server. Connected properly, you process orders without retyping and your stock is right on every channel.

All integrations
4.8 from 127 reviews
ISO 9001 & 27001
WooCommerceEcommerce and payments · Automattic
  • Orders goes back and forth with Your other systems
  • Stock per product or variation goes back and forth with Your other systems
  • Products, prices and EAN goes back and forth with Your other systems
  • Customers goes back and forth with Your other systems
Your other systemsSuch as Exact Online, Moneybird, SnelStart

Built for clients including Tata Steel, M&G Investments, Digistore24, Toppers in Concert, Bar-le-Duc and Loogman

What you exchange

This is the data organisations most often let flow between systems. Which of it matters to you depends on where work is getting stuck today.

Orders

New and changed orders go to your ERP, warehouse or accounting software, with order lines, VAT, shipping method and status. When the warehouse changes the status, for example to shipped, it comes back into WooCommerce.

Stock per product or variation

WooCommerce tracks stock per product or per variation. If the real stock comes from your ERP or warehouse, the integration updates the levels in WooCommerce, so you don't sell what you don't have.

Products, prices and EAN

Items, variations, prices and product copy often come from an ERP or PIM. Since version 9.2, WooCommerce has its own field for GTIN, UPC, EAN or ISBN. Useful if you also sell on a marketplace.

Customers

Customer accounts and addresses go to your CRM or email platform, so service and marketing work with the same data as your online store.

Shipping and tracking

The integration with your shipping platform or warehouse creates the label and adds the tracking to the order. The customer gets a shipping email with a tracking link, and you can see in WooCommerce what is on its way.

Refunds and payouts

Refunds you issue in WooCommerce also need to end up in your accounts, as do your payment provider's payouts. Otherwise revenue and bank don't reconcile.

Off the shelf or custom

Not always. If an existing integration for WooCommerce does exactly what you need, we'll tell you.

What already exists

There are many plugins that provide a WooCommerce integration, in the WooCommerce Marketplace and in the WordPress.org plugin directory. Some come from the vendor of the other system. Mollie, for example, maintains the Mollie Payments for WooCommerce plugin, with full and partial refunds from within WooCommerce.

A plugin runs on your own WordPress. That's convenient, because you don't need a separate service. The downside: every plugin is code on your store's server that you have to update and test with every WordPress and WooCommerce update. One plugin per integration quickly becomes hard to keep track of.

If your process is standard, a well-maintained plugin is often enough. If it differs, an integration can also run outside WordPress and work through the REST API and webhooks. We can integrate any system with WooCommerce, even if there is no plugin for it.

When you need custom work
  • There is no plugin for your ERP, WMS or accounting package, or the plugin can't handle your set-up.
  • You use your own product fields or plugins for bundles, subscriptions or B2B pricing that a standard integration doesn't know about.
  • You don't want extra plugins on your store's server, but an integration that runs separately from WordPress.
  • You also sell on marketplaces and want one stock level across all channels.
How it works technically

REST API

WooCommerce has a REST API (version 3) built into the WordPress REST API. You work with JSON and the usual HTTP methods for products, orders, customers and coupons, and there are batch endpoints to change several objects at once. Prerequisite: pretty permalinks switched on in WordPress, because the endpoints don't work with the default permalinks. Lists come back in pages of 10 items by default.

API keys

You create keys under WooCommerce, Settings, Advanced, REST API. You link a key to a user and choose read, write or both. Over HTTPS you send the consumer key and secret with basic authentication. Over plain HTTP, OAuth 1.0a is required.

Webhooks

WooCommerce sends webhooks when orders, products, customers and coupons are created, updated and deleted. Each message has an HMAC-SHA256 signature in the X-WC-Webhook-Signature header. After five failed deliveries in a row, WooCommerce disables the webhook by default. The logs are under WooCommerce, Status, Logs.

Delivery through WP-Cron

By default, webhooks are sent in the background through WP-Cron. WP-Cron checks on every page load which tasks are due. If no visitor comes along for a while, a scheduled task waits that long.

Dedicated order tables (HPOS)

Since WooCommerce 8.2, new installations store orders in dedicated tables by default (High-Performance Order Storage), no longer in the WordPress post tables. Extensions that haven't been adapted to this can cause problems. So work through the API, not directly in the database.

AI in between

An integration moves data. In between, AI can read, sort and prepare a suggestion. Where it matters, a person decides.

Product copy

AI drafts product descriptions and SEO titles from your product data, in your store's tone of voice. An editor approves them in WordPress before they go live.

Customer questions about an order

Using the order number and email address, an assistant looks up the status and tracking through the REST API and answers straight away. Refunds and exceptions stay with your team.

Discrepancies in the accounts

AI compares orders, refunds and your payment provider's payouts and reports what doesn't add up. A person decides what happens with the discrepancy.

Where it goes wrong

A disabled webhook

If the receiving server is unreachable for a while, WooCommerce disables the webhook after five failed deliveries. Without monitoring, you only notice when orders are missing. Check the status, and fetch changes periodically through the API as well.

WP-Cron on a quiet site

Because WP-Cron waits for page visits, a webhook can take a long time at night. Have WP-Cron triggered by a fixed server task, so notifications don't depend on visitors.

Updates that break the integration

An update to WordPress, WooCommerce or another plugin can change the data your integration expects. Test updates on a copy of your site first.

Reading directly from the database

Older integrations sometimes read orders straight from the WordPress tables. With HPOS, new orders are stored elsewhere, and an integration like that breaks. Work through the REST API.

How we build an integration

  1. What goes where

    Which data moves, in which direction, and which system wins when two values differ. That is written down before anything gets built. For this integration, that means: Orders, Stock per product or variation, Products, prices and EAN, Customers, Shipping and tracking, Refunds and payouts.

  2. Fields and rules

    For every field, how it translates between the systems: statuses, VAT codes, general ledger accounts, item numbers. And what happens with a duplicate or a missing value. For this integration, that means: REST API, API keys, Webhooks, Delivery through WP-Cron, Dedicated order tables (HPOS).

  3. Testing with real cases

    In a sandbox or test administration, with the exceptions you actually run into: credit notes, partial deliveries, changed customer details.

  4. Live, with logging and monitoring

    Every sync is logged, and when something fails, someone gets an alert. If a vendor changes its API, we update the integration.

The Your Tech Club team at the office in Amsterdam
Amsterdam
Who you'll talk to

No account manager. You talk to someone who builds integrations themselves, and who will tell you when a standard integration is enough.

Joey van VlietJoey van VlietFounder
Yassine SeghrouchniYassine SeghrouchniFounder
  • Office on the Duivendrechtsekade in Amsterdam
  • ISO 9001 and ISO 27001, certified by Kiwa
  • 500 projects delivered
  • 4.8 from 127 reviews
Frequently asked questions

Does WooCommerce have an API?

Yes. WooCommerce has a REST API (version 3) built into WordPress. You create API keys under WooCommerce, Settings, Advanced, REST API, and choose read or write permissions per key. Through that API you read and change products, orders, customers and coupons.

Plugin or custom integration: which should I choose?

A plugin is enough if your process is standard and the plugin is actively maintained. Choose a custom integration if you have your own fields, bundles or several warehouses, or if you don't want extra plugins on your store's server. An integration like that can also run outside WordPress.

Why aren't my WooCommerce webhooks arriving?

First check whether the webhook is still active: after five failed deliveries, WooCommerce disables it. Then look in the logs under WooCommerce, Status, Logs. If they do arrive, but late, WP-Cron is probably waiting for visitors.

Will an integration slow down my online store?

It doesn't have to. Run heavy tasks, such as updating thousands of prices, in steps and outside busy hours, and use the API's batch endpoints. An integration that runs as a separate service puts less load on your WordPress server than a plugin.

How do I test a WooCommerce integration safely?

Test on a copy of your site (a staging environment) with test products and test orders, and put your payment provider in test mode there. Also check what happens when the receiving side is briefly unavailable. Only when everything is right do you put the integration on your live site.