WooCommerce Integration
WordPress PluginWordPress plugin that pulls products and inventory from BOMEO and pushes WooCommerce orders back. Runs on WP Cron.
Setup Guide
Install the plugin, configure your API key, and start syncing.
- 1
Generate your BOMEO API key
In Settings → Integrations → API Keys, click "Create API Key" and select the required scopes.
Required scopes: products:read, orders:write, inventory:read, customers:read.
- 2
Install the plugin
Download bomeo-woocommerce.zip. In WordPress Admin, go to Plugins → Add New → Upload Plugin. Upload and activate.
- 3
Configure the plugin
Go to WooCommerce → Settings → BOMEO tab. Enter your API key, base URL, and Branch ID.
Base URL format: https://api.bomeo.xyz/v1
- 4
Sync products
"Sync Products Now" pulls your BOMEO catalog into WooCommerce. Products are linked by a _bomeo_id meta field.
Existing WooCommerce products without _bomeo_id are not affected.
- 5
Enable automatic sync
Check "Sync Inventory" and "Sync Orders". Inventory refreshes every 30 minutes via WP Cron. Orders push on Processing/Completed status.
Sync Capabilities
BOMEO is the source of truth. Products and inventory are pulled; orders are pushed back.
| Data | Method | Frequency |
|---|---|---|
| Products ← BOMEO | Pull | On demand (manual click) |
| Inventory ← BOMEO | Pull | Every 30 minutes (WP Cron) |
| Orders → BOMEO | Push | Automatic on status change |
Plugin Configuration
Settings located at WooCommerce → Settings → BOMEO.
// WooCommerce → Settings → BOMEO tab
API Key: bom_xxxxxxxxxxxxxxxxxxxx
Base URL: https://api.bomeo.xyz/v1
Branch ID: br_abc123
☑ Sync Products
☑ Sync Orders
☑ Sync InventoryDeveloper Hooks
Extend the plugin with standard WordPress actions and filters.
// Available WordPress hooks for custom integrations
// After a product is synced from BOMEO
do_action('bomeo_after_product_sync', $wc_product_id, $bomeo_product);
// After an order is pushed to BOMEO
do_action('bomeo_after_order_sync', $wc_order_id, $bomeo_order_id);
// Filter product data before creating in WooCommerce
$product_data = apply_filters(
'bomeo_product_data',
$product_data,
$bomeo_product
);// Call the BOMEO API directly from your theme or plugin
$client = new Bomeo_Api_Client(
get_option('bomeo_api_key'),
get_option('bomeo_base_url')
);
// List products
$result = $client->list_products(['limit' => 50]);
// Get stock levels for a branch
$stock = $client->list_stock_levels([
'branch_id' => get_option('bomeo_branch_id'),
]);Troubleshooting
What WordPress/WooCommerce versions are supported?
WordPress 6.0+ and WooCommerce 7.0+. PHP 7.4 minimum, 8.1+ recommended.
How are products matched between systems?
By the _bomeo_id meta field stored on each WooCommerce product. SKU matching is used as a fallback.
Will the 30-min sync affect performance?
Syncs run in the background via WP Cron. Only changed stock levels are updated (delta sync).
Can I use a real cron instead of WP Cron?
Yes. Disable WP Cron and point a system cron at wp-cron.php. The plugin respects the standard WordPress cron schedule.
Does it sync product images?
Yes. Images are downloaded and attached as WooCommerce gallery images on first sync.
How do I update the plugin?
Download the latest zip from your BOMEO dashboard and upload via Plugins → Add New → Upload. WordPress will prompt to replace the existing version.