Odoo ↔ WooCommerce Bridge 是一个用于在 Odoo(后台 ERP)与 WooCommerce(WordPress 在线商店)之间构建可靠同步桥接的技能。它覆盖产品目录同步、实时库存更新、订单导入和客户记录管理。
用途
该技能适用于以下场景:运行 WooCommerce 商店并使用 Odoo 进行库存和履约管理;自动将 WooCommerce 订单作为销售订单拉取到 Odoo;保持 WooCommerce 产品库存与 Odoo 仓库同步;将 WooCommerce 订单状态映射到 Odoo 交付状态。
主要能力
技能提供 WooCommerce 与 Odoo 对象之间的字段映射表:WooCommerce 的 products 对应 Odoo 的 product.template + product.product;orders 对应 sale.order + sale.order.line;customers 对应 res.partner;stock_quantity 对应 stock.quant;sku 对应 product.product.default_code。订单状态方面,WooCommerce 的 processing 对应 Odoo 的 Sale Order: sale(confirmed),completed 对应 Delivery: done。
使用方式
激活方式为提及 @odoo-woocommerce-bridge 并描述同步需求。随后可获得 WooCommerce 与 Odoo 对象之间的字段映射表,以及使用 WooCommerce REST API 的 Python 集成脚本。
示例一:将 WooCommerce 订单拉取到 Odoo(Python)。脚本使用 woocommerce 库的 API 客户端和 xmlrpc.client 连接 Odoo,通过环境变量读取 WC_URL、WC_KEY、WC_SECRET、ODOO_URL、ODOO_DB、ODOO_UID、ODOO_PASSWORD。sync_orders 函数获取状态为 processing 的 WooCommerce 订单,按邮箱查找或创建 res.partner,按 SKU(default_code)查找 product.product 并构建订单行,创建 sale.order 并设置 client_order_ref 为 WC-订单号,最后将 WooCommerce 订单状态更新为 on-hold。
示例二:将 Odoo 库存推送到 WooCommerce。sync_inventory_to_woocommerce 函数从 Odoo 读取所有有 SKU(default_code 不为 False)且 type 为 product 的产品,获取 default_code 和 qty_available,然后按 SKU 查询 WooCommerce 产品并更新 stock_quantity 和 manage_stock。
最佳实践
建议使用 SKU 作为连接 WooCommerce 产品与 Odoo 产品的唯一标识;按计划运行库存同步(每 15-30 分钟)而非实时,以避免速率限制;将所有 API 调用和错误记录到数据库表以便调试。不要重复处理同一 WooCommerce 订单,导入后应立即标记为已处理;不要将草稿或已取消的 WooCommerce 订单同步到 Odoo,应过滤 status = processing 或 completed。
适用场景
适用于使用 Odoo 管理库存和履约的 WooCommerce 商店,需要自动导入订单、同步库存、映射订单状态到交付状态的集成场景。
限制
仅当任务明确匹配上述范围时使用此技能。不要将输出视为环境特定验证、测试或专家审查的替代品。如果缺少必需的输入、权限、安全边界或成功标准,应停止并请求澄清。