| name | odoo-woocommerce-bridge |
| description | Sync Odoo with WooCommerce: products, inventory, orders, and customers via WooCommerce REST API and Odoo external API. |
| type | skill |
| created | 2026-02-27T00:00:00.000Z |
| domain | business-marketing |
| category | ecommerce |
| risk | unknown |
| source | community |
| tags | ["skill","business-marketing","ecommerce","odoo","woocommerce","bridge"] |
Odoo ↔ WooCommerce Bridge
Overview
This skill guides you through building a reliable sync bridge between Odoo (the back-office ERP) and WooCommerce (the WordPress online store). It covers product catalog sync, real-time inventory updates, order import, and customer record management.
When to Use This Skill
- Running a WooCommerce store with Odoo for inventory and fulfillment.
- Automatically pulling WooCommerce orders into Odoo as sale orders.
- Keeping WooCommerce product stock in sync with Odoo's warehouse.
- Mapping WooCommerce order statuses to Odoo delivery states.
How It Works
- Activate: Mention
@odoo-woocommerce-bridge and describe your sync requirements.
- Design: Get the field mapping table between WooCommerce and Odoo objects.
- Build: Receive Python integration scripts using the WooCommerce REST API.
Field Mapping: WooCommerce → Odoo
| WooCommerce | Odoo |
|---|
products | product.template + product.product |
orders | sale.order + sale.order.line |
customers | res.partner |
stock_quantity | stock.quant |
sku | product.product.default_code |
order status: processing | Sale Order: sale (confirmed) |
order status: completed | Delivery: done |
Examples
Example 1: Pull WooCommerce Orders into Odoo (Python)
from woocommerce import API
import xmlrpc.client
import os
wcapi = API(
url=os.getenv("WC_URL", "https://mystore.com"),
consumer_key=os.getenv(),
consumer_secret=os.getenv(),
version=
)
odoo_url = os.getenv(, )
db = os.getenv(, )
uid = (os.getenv(, ))
pwd = os.getenv()
models = xmlrpc.client.ServerProxy()
():
orders = wcapi.get(, params={: , : }).json()
wc_order orders:
email = wc_order[][]
partner = models.execute_kw(db, uid, pwd, , ,
[[[, , email]]])
partner:
partner_id = models.execute_kw(db, uid, pwd, , , [{
: ,
: email,
: wc_order[][],
: wc_order[][],
: wc_order[][],
}])
:
partner_id = partner[]
order_lines = []
item wc_order[]:
product = models.execute_kw(db, uid, pwd, , ,
[[[, , item[]]]])
product:
order_lines.append((, , {
: product[],
: item[],
: (item[]),
}))
models.execute_kw(db, uid, pwd, , , [{
: partner_id,
: ,
: order_lines,
}])
wcapi.put(, {: })