Description
RAU Order Sync with bol.com for WooCommerce is a free bol.com WooCommerce integration for sellers who want to run their bol sales from the same place as their own web shop.
bol is the largest online marketplace in the Netherlands and Belgium. According to bol’s own figures it has around 14 million active customers and more than 43,000 sales partners. If you sell there and also run a WooCommerce store, you know the double work: copying orders across by hand, typing tracking numbers into the Seller Dashboard, and correcting stock after something sells out on one channel but not the other.
This plugin connects your WooCommerce store to your bol seller account through the official bol Retailer API. Open bol orders arrive in WooCommerce as normal orders. You ship them the way you already ship everything else, and the plugin creates the shipment on bol with the transporter and tracking number. Stock flows the other way, from WooCommerce to your bol offers, so one stock figure drives both channels.
It is deliberately focused: orders, shipments and stock, without a middleware subscription, an order cap or a separate dashboard to log into.
Import bol orders into WooCommerce
- Automatic order import every 15 minutes — each open bol order becomes a native WooCommerce order with line items, prices, shipment and billing addresses, and a pickup-point flag.
- FBR and FBB — import orders you ship yourself (fulfilled by retailer), orders shipped by bol (fulfilled by bol), or both.
- Products matched sensibly — on your own offer reference (usually your SKU) first, then on EAN. Unmatched items are still imported as placeholder lines with a warning note, so nothing is lost silently.
- No duplicate orders — imports are keyed on the bol order ID, so a repeat sync never creates a second copy.
- Customer cancellation requests are flagged on import, so you see them before you pack the order.
Ship from WooCommerce, update bol automatically
- Create shipments on bol when the WooCommerce order reaches the status you choose, with the transporter code and tracking number.
- Transporter mapping for Dutch and Belgian carriers — PostNL, DHL, DPD, bpost, UPS, FedEx and GLS are mapped to bol’s transporter codes automatically.
- Works with shipment-tracking plugins — tracking numbers already added by popular shipment-tracking plugins are picked up, so there is nothing to type twice.
- Per-order control — set a default transporter in the settings and override it on any order.
- Cancel order items on bol with a proper reason code when you cancel the order in WooCommerce.
Sync WooCommerce stock to bol offers
- Hourly stock push from WooCommerce to your bol offers, so an item that sells out in your store stops selling on bol too.
- No heavy offer export — the plugin learns each product’s bol offer ID from the orders it imports, so products that have been ordered at least once are kept in stock sync.
- Batched safely — stock is sent in batches that stay inside PHP’s execution time and bol’s rate limits. Each run carries on where the last one stopped, so the whole catalogue is covered.
See what happened
- Sync log with raw API detail for troubleshooting.
- Status screen showing the connection, the last and next sync, and recent errors.
- Dashboard widget so problems are visible without opening the settings.
Built properly
- HPOS-native (High-Performance Order Storage) — WooCommerce CRUD throughout.
- Correct OAuth2 handling with token caching. bol issues very short-lived tokens (about 5 minutes) and warns that requesting one per API call will get your IP banned. This plugin caches the token and reuses it until just before it expires, refreshing it transparently on a 401.
- Sends the versioned media type (
application/vnd.retailer.v10+json) that bol’s API versioning requires. - Understands bol’s
violationserror format, so failures come back as readable messages instead of bare status codes. - Rate-limit aware, honouring
Retry-After; uses Action Scheduler when available and WP-Cron otherwise. - The Client Secret is stored encrypted and never written to the log.
- Translation-ready and written to the WordPress coding standards.
Who it is for
- Dutch and Belgian WooCommerce shops that also sell on bol.
- Sellers elsewhere in Europe who sell to Dutch and Belgian buyers through bol.
- Small and medium sellers who want orders, shipments and stock in one place without a multichannel subscription.
- Developers and agencies who need a clean, readable bol Retailer API integration to build on.
bol.com koppeling voor WooCommerce (Nederlands)
Gratis plugin die je WooCommerce-webshop koppelt aan je bol-verkopersaccount via de officiële bol Retailer API. Openstaande bol-bestellingen worden elke 15 minuten automatisch als gewone WooCommerce-bestellingen geïmporteerd. Zending en track & trace gaan terug naar bol zodra je de bestelling verzendt, en voorraad wordt elk uur vanuit WooCommerce naar je bol-aanbiedingen gestuurd. Ondersteunt PostNL, DHL, DPD, bpost, UPS, FedEx en GLS, FBR- en FBB-bestellingen en annuleringen met reden. De plugin is in het Engels en klaar voor vertaling.
A note on scope
This plugin is orders-first by design: it syncs orders, shipments and stock, and leaves offer creation and content to the bol Seller Dashboard. Everything described above is included and fully functional. There are no licence keys, no order or product quotas, no time limits and nothing reserved for a paid version.
Disclaimer
This is an independent plugin. It is not affiliated with, endorsed by or sponsored by bol.com or WooCommerce. “bol.com” and “WooCommerce” are used here only to describe the services this plugin works with.
External services
This plugin connects to the bol.com Retailer API to synchronise orders, shipments and stock between your WooCommerce store and your bol seller account. The connection is required for the plugin to do anything, and it is only made after you create your own API client credentials in the bol Seller Dashboard and enter them in the plugin settings.
It contacts these endpoints:
login.bol.com– to exchange your client credentials for an access token. bol issues short-lived tokens, so this is called whenever the cached token is close to expiry.api.bol.com– to read your open orders and offers, to create shipments, to cancel order items, and to update offer stock.
What is sent: your client ID and the signed token request, the bol order, order-item and offer identifiers being acted on, and – when you ship an order – the transporter code and tracking number you entered in WooCommerce. Cancellations send the order item ID and a reason code. Stock updates send the offer ID and the quantity. No buyer names, addresses or contact details are sent to bol; buyer data flows from bol into your store, not back out.
When: on the scheduled order sync, on the scheduled stock push, when an access token is refreshed, and when you ship, cancel or re-sync an order in wp-admin.
The service is operated by bol.com, and your use of it is governed by their terms:
- bol.com Developer Portal: https://developers.bol.com/en/
- Ecosystem Terms & Conditions: https://developers.bol.com/en/ecosystem/terms-conditions-EN/
- Privacy statement for professional sellers: https://partnerplatform.bol.com/en/sdp/privacy-statement-professional-partners-bol
Installation
- In your WordPress admin go to Plugins Add New, search for “RAU Order Sync with bol.com”, then install and activate it. WooCommerce must be active.
- In the bol Seller Dashboard open Instellingen Diensten API Instellingen.
- Fill in the technical contact details — bol requires this before granting API access.
- Create Client Credentials for the Retailer API.
- In WordPress go to WooCommerce bol.com Sync, paste the Client ID and Client Secret, and save.
- Press Test connection, then tick Enable syncing.
FAQ
-
How do I connect WooCommerce to bol.com?
-
Create Client Credentials for the Retailer API in the bol Seller Dashboard (Instellingen Diensten API Instellingen), paste the Client ID and Client Secret into WooCommerce bol.com Sync, press Test connection and tick Enable syncing.
-
Is it free?
-
Yes. Everything described on this page is free and fully functional, with no order limits, product limits, time limits or licence keys. You only need your own bol seller account and API credentials, which bol provides at no cost.
-
How often are bol orders imported?
-
Every 15 minutes. You can also run an order sync manually from the plugin screen at any time.
-
What is the difference between FBR and FBB?
-
FBR (fulfilled by retailer) orders are the ones you pack and ship yourself — those are what you normally want to import. FBB (fulfilled by bol) orders are shipped from bol’s warehouse. You can choose either or both.
-
How are products matched?
-
First on the offer reference you set on your bol offer (usually your SKU), then on EAN. Unmatched items are still imported as placeholder lines with a warning note, so nothing is lost silently.
-
Does it create duplicate orders?
-
No. Imports are keyed on the bol order ID.
-
Can I choose the transporter?
-
Yes. Set a default transporter in the settings, and override it per order on the order edit screen. Codes for PostNL, DHL, DPD, bpost, UPS, FedEx and GLS are included.
-
Do I have to type tracking numbers twice?
-
No. If a shipment-tracking plugin has already stored the tracking number on the order, it is read automatically. Otherwise enter it once on the order screen.
-
Can it cancel orders on bol?
-
Yes. When you cancel an order in WooCommerce, the order items are cancelled on bol with a reason code.
-
What happens when a customer asks bol to cancel?
-
The cancellation request is flagged on the WooCommerce order when it is imported, so you see it before you ship.
-
Why does stock sync say no offers are known?
-
bol addresses stock by offer ID, and mapping every SKU to an offer ID requires an asynchronous offer export. This plugin learns offer IDs from the orders it imports instead of running that export, so run an order sync first — products that have been ordered at least once will then be kept in stock sync.
-
I got an IP ban warning from bol. Why?
-
bol bans IPs that request an access token on every API call. This plugin caches the token and reuses it, which is the behaviour bol asks for. If you also run other bol integrations from the same server, make sure they cache too.
-
Is my bol Client Secret safe?
-
The Client Secret is stored encrypted in your database and is never written to the sync log.
-
Does it work with HPOS?
-
Yes. The plugin uses the WooCommerce CRUD API throughout and declares compatibility with High-Performance Order Storage.
-
Does it create offers or listings on bol?
-
No. The plugin is orders-first: it imports orders, creates shipments and cancellations, and pushes stock to offers you already have. Offer creation and content stay in the bol Seller Dashboard.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“RAU Order Sync with bol.com for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “RAU Order Sync with bol.com for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release: OAuth2 with token caching, order import with reference/EAN matching, shipment creation with transporter and tracking, order item cancellation with reason codes, stock push, sync log, status screen, dashboard widget, HPOS support.
