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 中创建自定义应用程序
- 转到您的 Shopify 后台 → 设置 → 应用程序和销售渠道
- 单击开发应用程序 → 创建应用程序
- 设置应用程序名称(例如“Odoo Integration”)
- 配置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 - 设置 webhook URL:
https://your-odoo.com/shopify/webhook6.安装应用程序→复制管理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 → Shopify | Odoo 是大师,Shopify 是展示 | 首次在 Odoo ERP 中创建新产品 |
| Shopify → Odoo | Shopify 是主人,Odoo 是奴隶 | 现有 Shopify 商店,添加 Odoo |
| 双向 | 任一系统中的更改都是双向同步的 | 稀有的;冲突风险 |
推荐:Odoo → Shopify 用于新部署。 Odoo 的产品主数据提供了 Shopify 不需要的更丰富的数据(采购信息、成本核算、BOM)。
产品领域映射:
| 奥杜球场 | Shopify 领域 |
|---|---|
| 产品名称 | 标题 |
| 销售说明 | 正文 HTML |
| 产品类别 | 产品类型 |
| 标签 | 标签 |
| 标价 | 价格 |
| 比较价格 | 比较价格 |
| 条形码 (EAN) | 条码 |
| 重量 | 重量 |
| 产品图片 | 图片 |
| 销售还行 | 已发布(对/错) |
| 产品类型(维修/可储存) | 需要运输 |
变体同步:
Shopify 最多支持 3 种产品选项(颜色、尺寸、材质),每种产品最多有 100 个变体。连接器映射 Odoo 的产品属性:
- Odoo
product.template→ Shopify 产品 - Odoo
product.product(变体)→ Shopify 变体 - Odoo 属性值 → Shopify 选项值
批量目录同步:
对于大型目录(1000 多种产品)的初始设置:
- 导航到 Shopify → 目录 → 批量同步
- 选择要同步的产品类别
- 运行批量同步作业(后台进程)
- 监控同步日志中的进度
- 检查并解决任何映射错误
订单管理
通过 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 个工作日汇入您的银行帐户。连接器导入支付数据:
- 下载 Shopify Payments 付款报告(或通过 API)
- 通过 Shopify → 财务 → 导入付款 导入
- 连接器创建日记帐分录:
- 收入(每个订单的净销售额)
- Shopify 费用支出(付款处理)
- 退款调整
- 应收付款净额
- 银行转账到达后:根据 Shopify Payments 日记帐进行核对
处理 Shopify 退款:
在 Shopify 中处理退款时:
refunds/createwebhook 触发- 连接器在 Odoo 中根据原始发票创建贷方票据
- 如果库存被退回(重新进货):创建退货转移 4.过帐贷方票据→根据客户帐户清算余额
Shopify Plus B2B 集成
Shopify Plus 包括 B2B 功能(批发目录、付款条件、净付款)。该连接器将这些与 Odoo 的 B2B 定价集成:
公司和目录映射:
| Shopify B2B | Odoo 等效 |
|---|---|
| 公司 | res.company(或客户群) |
| 目录 | 价格表 |
| 付款条件 | 销售订单的付款条件 |
| 草稿订单 | 报价单(草稿中的销售.订单) |
同步 B2B 定价:
- 在连接器中创建 Shopify B2B 目录
- Odoo 价目表链接
- 分配给 Shopify B2B 公司
- 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 集成 →
分享您的商店详细信息和当前的痛点,我们的团队将进行 Shopify-Odoo 集成,消除您的 ERP 和店面之间的差距。
作者
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
相关文章
BMF Programmablaufplan Lohnsteuer 2026:实施德国官方工资税计算(XML、API、Odoo)
BMF Programmablaufplan Lohnsteuer 2026 开发人员指南:PAP 是什么、XML 伪代码格式、官方测试服务以及到 Odoo 工资单的映射。
2026 年 CRM 系统的成本是多少? 40 多个实施的实际定价
来自 40 多个实施的真实 CRM 定价:每个用户的许可成本、实施费用、隐藏成本以及 Odoo、HubSpot、Salesforce 等的 3 年 TCO。
eMAG Odoo 集成:将罗马尼亚最大的市场连接到您的 ERP(订单、库存、e-Factura)
将 eMAG Marketplace 连接到 Odoo ERP:报价和订单同步、AWB 运输、退货、库存和价格更新,以及卖家的罗马尼亚 e-Factura 合规性。