Connect WooCommerce to bol
WooCommerce gives you your own store in WordPress; adding bol lets you reach customers who search there. An integration keeps stock and prices in line and pulls in bol orders, so you retype nothing and sell nothing twice.
- Offers and price goes to bol
- Stock goes to bol
- Orders and cancellation requests comes from bol
- Shipping and tracking goes to bol
- Returns and LVB orders comes from bol
Built for clients including Tata Steel, M&G Investments, Digistore24, Toppers in Concert, Bar-le-Duc and Loogman
WooCommerce stores are often set up entirely their own way, with custom fields, plugins for bundles or B2B pricing, and their own hosting. That makes the integration with bol more individual than with a hosted platform. What is a standard field in one store sits in a plugin in another.
Without an integration, a bol sale only shows up in WooCommerce when someone adjusts the stock. Orders get retyped, tracking goes to your bol account by hand, and when it's busy you fall behind on your delivery promise.
For each item: which direction it goes, when, and why. This is the starting point; in the first conversation we fit it to your situation.
- 01Offers and priceWooCommerce → bolwhen a product is added or changed
Products and variations with an EAN go to bol as offers. Since WooCommerce 9.2, the EAN has its own field. In older stores it often sits in a plugin or custom field, and the integration has to read it from there.
- 02StockWooCommerce → bolon every stock change
A WooCommerce product webhook reports the change, the integration reads the new level and passes it on to bol. A periodic check catches changes that didn't trigger a webhook.
- 03Orders and cancellation requestsbol → WooCommercewhen a new bol order comes in
The order arrives in WooCommerce through the REST API, with order lines, delivery address and a recognisable source. Your shipping plugin or warehouse processes it like any other order. If the customer asks on bol to cancel, that is added to the order as a note or status.
- 04Shipping and trackingWooCommerce → bolas soon as the order is shipped
The tracking from your shipping plugin or warehouse goes to bol with the carrier as a shipment. Where that data sits in WooCommerce differs per shipping plugin. The integration needs to know where to look.
- 05Returns and LVB ordersbol → WooCommercewhen a return comes in or bol ships an order
Returns from bol come back to the order in WooCommerce, so stock and refunds are right. Fulfilment by bol (LVB) orders are added as completed, without lowering your own stock.
Not always. If an existing integration for WooCommerce and bol does exactly what you need, we'll tell you.
In the WordPress.org plugin directory and from other parties you'll find plugins that connect WooCommerce to bol for offers, stock, orders and tracking. The bol Partner Platform also refers to apps and service providers. If your store fits their set-up, that's a quick start.
A plugin runs inside your WordPress, on the same server and with the same WP-Cron as your store. With a small range that's fine. With a lot of items, several warehouses or an ERP in between, an integration outside WordPress fits better: it talks to the WooCommerce REST API and bol's Retailer API and doesn't put load on your online store.
- Your EANs, bundles or B2B prices are in plugin or custom fields that a standard plugin doesn't read.
- You don't want the sync to run on your store's server.
- You combine your own shipping with LVB and want both stock levels in one overview.
- Your shipping plugin stores the tracking in its own field that the standard integration doesn't know.
AI reads, sorts and prepares a suggestion. Where it matters, a person decides.
From WordPress copy to bol content
Product copy in WooCommerce often contains HTML, shortcodes or references to your own store. AI turns it into clean product content for bol and suggests missing attributes. A team member approves before the integration submits it.
Tracking down EAN problems
AI checks your catalogue for variations without an EAN, duplicate EANs and EANs that don't seem to belong to the product. Your team decides what gets changed.
Which system leads
WooCommerce usually leads for products, prices and stock, and bol for orders, cancellation requests and returns that originate there. If there is an ERP behind WooCommerce, that is the source of stock, and WooCommerce itself is just another channel.
Double sales through delays
WooCommerce sends webhooks through WP-Cron, which waits for visitors. At a quiet moment, a stock change reaches bol later. On top of that, WooCommerce disables a webhook after five failed deliveries. Have WP-Cron triggered by a server task and monitor the webhook status.
EAN and stock per variation
bol works per EAN; WooCommerce can track stock per product or per variation. If you manage stock at product level, the integration can't pass it on per size or colour. For everything you sell on bol, record stock and EAN per variation.
Stock on imported orders
Check that stock in WooCommerce goes down for a bol order, and precisely not for an LVB order, because those products are already at bol. You set that up deliberately in the integration, for example through the order status you create the order with.
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: Offers and price, Stock, Orders and cancellation requests, Shipping and tracking, Returns and LVB orders.
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: Which system leads, Double sales through delays, EAN and stock per variation, Stock on imported orders.
Testing with real cases
In a sandbox or test administration, with the exceptions you actually run into: credit notes, partial deliveries, changed customer details.
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.

No account manager. You talk to someone who builds integrations themselves, and who will tell you when a standard integration is enough.
- Office on the Duivendrechtsekade in Amsterdam
- ISO 9001 and ISO 27001, certified by Kiwa
- 500 projects delivered
- 4.8 from 127 reviews
Which plugin do I need to connect WooCommerce to bol?
There are plugins from other parties that exchange offers, stock, orders and tracking between WooCommerce and bol. Choose one that is actively maintained and supports your EAN field and shipping plugin. If your set-up doesn't fit, you build an integration on the WooCommerce REST API and bol's Retailer API.
Where do I put the EAN in WooCommerce?
Since version 9.2, WooCommerce has its own field for GTIN, UPC, EAN or ISBN on the Inventory tab, for products and variations. Older stores often use a plugin or a custom field. Choose one place and have the integration read from there.
Does the bol integration have to run as a WordPress plugin?
No. An integration can also run as a separate service that talks to WooCommerce through the REST API. That keeps sync work off your store's server and makes the integration less dependent on WP-Cron and other plugins.
Why is my stock on bol lagging behind WooCommerce?
Usually a webhook is waiting for WP-Cron, the webhook has been disabled after failed deliveries, or stock is managed at product level while bol works per variation. Check the webhook status and the logs under WooCommerce, Status, Logs.
Can I use Fulfilment by bol with WooCommerce?
Yes. bol ships LVB products itself. The integration adds LVB orders to WooCommerce as completed, for your revenue and reporting, without lowering your own stock. Through the Retailer API you see the LVB stock, so you can replenish in time.
Related services
- Connect Exact Online to WooCommerceConnect Exact Online to WooCommerce: post orders and refunds, align VAT settings, process payment provider payouts and keep stock levels up to date.
- Connect Moneybird to WooCommerceConnect Moneybird to WooCommerce: which order status creates an invoice, how to avoid duplicate invoice numbers, and what plugins do to your VAT along the way.
- Connect SnelStart to WooCommerceConnect SnelStart to WooCommerce: how business orders on account, stock and customer-specific prices flow between your online store and your accounting.
- Connect Exact Online to bolConnect Exact Online to bol.com: post orders, process bol's invoice with commission and fees, upload business invoices and track Fulfilment by bol stock.
- Connect SnelStart to bolConnect SnelStart to bol: how to post bol orders, process the bol invoice with its commission, and upload invoices for business buyers per shipment.
- Connect Shopify to bolConnect Shopify to bol: stock to bol, orders back into Shopify, shipping yourself or with Fulfilment by bol. Which system leads and how to avoid selling twice.
Sources
The technical facts on this page come from the vendors' official documentation, checked on 19 September 2026. Vendors change their APIs and limits; when we build an integration, we always check the current state.
- WooCommerce REST API documentation (v3)
- WooCommerce developer docs: webhooks
- WooCommerce developer docs: webhooks (delivery and headers)
- WordPress: WP-Cron
- WooCommerce 9.2: field for GTIN, UPC, EAN or ISBN
- WooCommerce: variable products
- bol Retailer API: offers (v11)
- bol Retailer API: orders and shipments
- bol Retailer API: LVB stock and replenishment
- bol Partner Platform: EAN or ISBN (Dutch)
- bol Partner Platform: apps and service providers (Dutch)




