Odoo + Shopify Sync: Products, Orders, and Inventory

Complete guide to syncing Odoo 19 with Shopify. Covers product sync, real-time order import, bidirectional inventory, financial reconciliation, and multi-store management.

E
ECOSIRE Research and Development Team
|2026年3月19日5 分钟阅读934 字数|

Odoo + Shopify 同步:产品、订单和库存

Shopify 占美国电子商务总收入的 10% 以上。对于使用 Odoo 19 Enterprise 作为运营支柱并使用 Shopify 作为面向客户的店面的企业来说,保持两个系统同步是不容协商的 — 断开的系统意味着库存错误、订单处理延迟和会计问题。

本指南涵盖了完整的 Odoo-Shopify 集成:架构决策、产品目录同步、实时订单导入、双向库存管理、Shopify Payments 对账和多商店管理。

要点

  • Shopify 的 REST 和 GraphQL API 均受支持; Shopify Plus 首选 GraphQL
  • 产品同步是双向的:在 Odoo 中创建 → 发布到 Shopify,或从 Shopify 导入
  • 库存同步是事件驱动的:Odoo 中的每次库存变动都会触发
  • 从 Shopify 到 Odoo 的订单 Webhook 提供近乎即时的订单导入(< 30 秒)
  • Shopify Payments 对帐自动处理付款、费用和退款
  • 多地点库存同步到 Shopify 的多地点功能
  • Shopify Plus B2B(批发)目录链接到 Odoo 的价目表
  • 从 Shopify 到 Odoo RMA 的退货流程,具有自动库存调整功能

集成架构

API方法:

该集成使用 Shopify 的 REST Admin API 进行大多数操作,并使用 Webhooks 进行事件驱动的更新:

  • REST API:产品CRUD、订单读取、库存管理
  • GraphQL API:批量操作(大型目录导出)、B2B 定价 (Shopify Plus)
  • Webhooks:实时订单创建、订单更新、退款创建、库存水平更新

连接拓扑:

Odoo 19 (ERP Backend)
    ↕ Product, Inventory, Price
Shopify Admin API / Webhooks
    ↕ Real-time events
Shopify Storefront (Customer-facing)

身份验证:

Shopify 使用私有应用程序 API 密钥或自定义应用程序 OAuth:

  • 私人应用程序:更简单,推荐用于单商店集成
  • 自定义应用程序 (OAuth):Shopify 应用商店分发或多商店管理所需

对于 ECOSIRE 连接器,在 Shopify 的合作伙伴仪表板中配置自定义应用程序。


Shopify 应用程序配置

第 1 步:在 Shopify 中创建自定义应用程序

  1. 转到您的 Shopify 后台 → 设置 → 应用程序和销售渠道
  2. 单击开发应用程序 → 创建应用程序
  3. 设置应用程序名称(例如“Odoo Integration”)
  4. 配置API范围:
    read_products, write_products
    read_orders, write_orders
    read_inventory, write_inventory
    read_shipping, write_shipping
    read_customers, write_customers
    read_fulfillments, write_fulfillments
    read_locations
    read_price_rules, write_price_rules
    
  5. 设置 webhook URL:https://your-odoo.com/shopify/webhook 6.安装应用程序→复制管理API访问令牌

步骤 2:在 Odoo 中配置

导航到 销售 → Shopify库存 → Shopify 商店

领域价值
店铺名称您的店铺名称
Shopify 域名yourstore.myshopify.com
管理员 API 令牌来自定制应用程序
API版本2024-10(最新稳定)
Webhook 秘密自动生成,用于验证webhooks
默认仓库Shopify 订单的主仓库
货币储存货币
公司这家商店的 Odoo 公司
付款日记Shopify 付款日记
退款日记Shopify 退款日记
订单前缀例如,“SHO-”

第 3 步:注册 webhook

保存配置后,单击“注册 Webhooks”。连接器订阅:

  • 代码0
  • 代码0
  • 代码0
  • 代码0
  • 代码0
  • 代码0
  • 代码0
  • 代码0
  • 代码0

产品目录同步

同步方向选项:

模式描述使用案例
Odoo → ShopifyOdoo 是大师,Shopify 是展示首次在 Odoo ERP 中创建新产品
Shopify → OdooShopify 是主人,Odoo 是奴隶现有 Shopify 商店,添加 Odoo
双向任一系统中的更改都是双向同步的稀有的;冲突风险

推荐:Odoo → Shopify 用于新部署。 Odoo 的产品主数据提供了 Shopify 不需要的更丰富的数据(采购信息、成本核算、BOM)。

产品领域映射:

奥杜球场Shopify 领域
产品名称标题
销售说明正文 HTML
产品类别产品类型
标签标签
标价价格
比较价格比较价格
条形码 (EAN)条码
重量重量
产品图片图片
销售还行已发布(对/错)
产品类型(维修/可储存)需要运输

变体同步:

Shopify 最多支持 3 种产品选项(颜色、尺寸、材质),每种产品最多有 100 个变体。连接器映射 Odoo 的产品属性:

  1. Odoo product.template → Shopify 产品
  2. Odoo product.product(变体)→ Shopify 变体
  3. Odoo 属性值 → Shopify 选项值

批量目录同步:

对于大型目录(1000 多种产品)的初始设置:

  1. 导航到 Shopify → 目录 → 批量同步
  2. 选择要同步的产品类别
  3. 运行批量同步作业(后台进程)
  4. 监控同步日志中的进度
  5. 检查并解决任何映射错误

订单管理

通过 webhooks 实时订单导入:

当客户在 Shopify 上下订单时,orders/create Webhook 会在几秒钟内触发。连接器:

1.从Shopify接收webhook负载 2.验证webhook签名(HMAC-SHA256) 3. 立即在 Odoo 中创建销售订单 4.向 Shopify 返回 200 OK(防止重试)

从 Shopify 结帐到 Odoo 销售订单的端到端时间:通常为 3-15 秒。

订单数据映射:

Shopify 领域奥杜球场
订单编号参考(带前缀)
客户名称res.合作伙伴名称
客户邮箱合作伙伴邮箱
帐单地址发票地址
送货地址送货地址
行项目销售订单行
折扣码折扣线
运输方式送货承运人
运费运费行
总税额税线
财务状况付款状态
履行状态交货状态
笔记客户须知
标签内部标签

自定义订单字段:

对于具有自定义结帐属性的 Shopify Plus 商家:

  • 将 Shopify 订单备注属性映射到 Odoo 自定义字段
  • 示例:销售订单上的“采购订单号”属性 → x_purchase_order_number
  • 示例:“礼品信息”→ note 促销订单

订单处理流程:

导入后,连接器通过 Odoo 的标准工作流程管理订单: 1.销售订单确认 2. Odoo WMS 中创建的交货订单 3. 仓库挑选、包装、运输 4. 在 Odoo 中验证交付(输入跟踪) 5. 连接器将履行信息发送到 Shopify 并附上跟踪号码 6. Shopify 将订单标记为“已完成”并向客户发送电子邮件

部分履行:

Shopify 支持具有多种履行方式的订单(立即发货,稍后发货)。连接器手柄:

  • Odoo 中的部分交付 → 部分履行发送至 Shopify
  • Shopify 向客户显示部分履行状态
  • 剩余商品在有库存时创建单独的交货

库存同步

双向库存同步:

库存双向流动以保持准确性:

Odoo → Shopify(主要方向):

  • Odoo 中的每次库存变动都会触发 Shopify 的库存水平更新
  • 可用数量 = 现有 - 预留 - 安全库存
  • 通过 Shopify 的库存水平 API 进行更新

Shopify → Odoo(后备):

  • 如果手动调整 Shopify 库存(管理员或应用程序),则会触发 webhook
  • 连接器创建带有审核注释的 Odoo 库存调整

Shopify 多地点:

Shopify 的多地点功能可跟踪每个物理地点的库存。将 Odoo 仓库映射到 Shopify 位置:

奥杜仓库Shopify 位置
主要仓库主要地点
东海岸特区东海岸位置
西海岸特区西海岸位置
直接托运人供应商位置

连接器根据仓库位置映射将每个位置的数量推送到 Shopify。

库存准确性保障:

  • 安全库存缓冲区可防止 Shopify 显示所有可用库存
  • 缺货处理:当数量达到0时,Shopify库存= 0(非负数)
  • 缺货时继续销售:可按产品配置(某些卖家允许缺货)

Shopify 付款对账

Shopify Payments 费用结构:

计划在线价格亲自率
基本2.9% + 30 美分2.7%
店铺主页 个人中心 关注我们 线下门店 店铺信息2.6% + 30 美分2.5%
高级2.4% + 30 美分2.4%
0.2%(Shopify 付款)0.2%

付款对账:

Shopify Payments 每 2-3 个工作日汇入您的银行帐户。连接器导入支付数据:

  1. 下载 Shopify Payments 付款报告(或通过 API)
  2. 通过 Shopify → 财务 → 导入付款 导入
  3. 连接器创建日记帐分录:
  • 收入(每个订单的净销售额)
  • Shopify 费用支出(付款处理)
  • 退款调整
  • 应收付款净额
  1. 银行转账到达后:根据 Shopify Payments 日记帐进行核对

处理 Shopify 退款:

在 Shopify 中处理退款时:

  1. refunds/create webhook 触发
  2. 连接器在 Odoo 中根据原始发票创建贷方票据
  3. 如果库存被退回(重新进货):创建退货转移 4.过帐贷方票据→根据客户帐户清算余额

Shopify Plus B2B 集成

Shopify Plus 包括 B2B 功能(批发目录、付款条件、净付款)。该连接器将这些与 Odoo 的 B2B 定价集成:

公司和目录映射:

Shopify B2BOdoo 等效
公司res.company(或客户群)
目录价格表
付款条件销售订单的付款条件
草稿订单报价单(草稿中的销售.订单)

同步 B2B 定价:

  1. 在连接器中创建 Shopify B2B 目录
  2. Odoo 价目表链接
  3. 分配给 Shopify B2B 公司
  4. Odoo价目表中的价格变化→自动推送到Shopify B2B目录

多店管理

对于经营多个 Shopify 商店的品牌(地区、品牌、批发与零售):

多商店配置:

为每个 Shopify 商店创建单独的连接器配置:

  • 每个商店都有不同的 API 凭证
  • 特定商店的产品可见性(有些产品在所有商店,有些在特定商店)
  • 商店特定定价(区域定价、批发与零售)
  • 商店特定的库存分配

跨商店的库存分配:

Available for Store A = On-Hand - Reserve for Store B - Reserve for Store C - Safety Stock

配置分配规则,以防止多个商店从同一库存中提取商品时出现超售。


常见问题

连接器如何处理 Shopify 的自定义数据产品元字段?

Shopify 元字段存储有关产品、订单和客户的自定义数据。连接器将特定的 Odoo 字段映射到 Shopify 元字段。例如,将 Odoo 的 x_care_instructions 字段映射到 product.care_instructions 元字段。在每个资源类型的连接器高级设置中配置元字段映射。

连接器可以处理 Shopify 的订阅产品(Shopify Subscriptions 或 ReCharge)吗?

标准 Shopify 订阅订单作为 Odoo 中的常规订单导入。对于 ReCharge 订阅,定期订单会作为单独的 orders/create webhook 触发并正常导入。连接器不管理 Shopify 中的订阅生命周期 - 它会处理每个订单,无论订单是订阅生成的还是一次性的。

如果 Shopify webhook 触发时 Odoo 服务器关闭,会发生什么情况?

Shopify 在 48 小时内重试失败的 Webhook 最多 19 次。当 Odoo 恢复时,连接器会处理 Webhook,并导入订单。为了实现关键任务的可靠性,请为 Odoo 配置冗余基础设施(负载均衡器 + 多个工作人员)并监控停机警报。 48 小时重试窗口为计划维护提供了缓冲。

连接器是否支持 Shopify Markets(多币种国际销售)?

是的。 Shopify Markets 允许从单个商店以多种货币进行销售。连接器以买方结账货币导入订单,并在 Odoo 中以该货币创建销售订单。货币换算使用订单导入时的汇率。在 Odoo 中为每个 Shopify 市场配置单独的价目表,以获得准确的本地定价。

如何在 Odoo 中处理 Shopify 礼品卡?

Shopify 礼品卡显示为订单上的付款方式。连接器为每个订单的礼品卡部分创建单独的付款行。在 Odoo 中配置“Shopify 礼品卡”责任帐户。当礼品卡(通过礼品卡产品)出售时,收入会递延。当赎回订单时,负债被清除并确认收入。


后续步骤

执行良好的 Odoo-Shopify 集成变得不可见 - 它只是正常工作,无需人工干预即可保持两个系统同步。 ECOSIRE 团队构建了 Shopify-Odoo 集成,适用范围从每天处理 50 个订单的 D2C 品牌到每天处理 10,000 个订单的企业零售商。

联系 ECOSIRE 了解您的 Shopify-Odoo 集成 →

探索 ECOSIRE 的 Shopify 服务 →

分享您的商店详细信息和当前的痛点,我们的团队将进行 Shopify-Odoo 集成,消除您的 ERP 和店面之间的差距。

E

作者

ECOSIRE Research and Development Team

在 ECOSIRE 构建企业级数字产品。分享关于 Odoo 集成、电商自动化和 AI 驱动商业解决方案的洞见。

通过 WhatsApp 聊天