跳到主内容
版本: 1.x

WCPOS ATUM 集成

ATUM Multi-InventoryWCPOS Pro 集成,实现基于位置的库存管理、定价和 SKU 功能。

ATUM Multi-Inventory 允许将产品库存分配到多个库存位置——仓库、零售店铺等。此插件将这些 ATUM 位置与 WCPOS Pro 店铺关联,使每个 POS 终端能够看到其实际位置对应的正确库存数量、价格和 SKU。

功能

按位置库存

每个店铺从其分配的 ATUM 库存位置获取库存数量,而非使用 WooCommerce 的汇总库存。

灵活定价

可选择 WooCommerce 默认价格、WCPOS Pro 按店铺价格或 ATUM 按位置价格。

位置 SKU

可选择在 POS 中将产品的主 SKU 替换为 ATUM 特定库存位置的 SKU。

可审计的库存变动

订单在正确的 ATUM 库存位置扣减和恢复库存,并在 atum_inventory_orders 中保留完整的审计记录。

产品编辑回写

在 POS 中对库存、价格和 SKU 的编辑会同步回写到该位置对应的 ATUM 库存行。

安装

1

安装 ATUM 和 Multi-Inventory

安装 ATUM Inventory ManagementATUM Multi-Inventory 附加组件。在 ATUM 中配置库存位置。

2

安装 WCPOS ATUM 集成插件

WP Admin > POS > 设置 > 扩展 安装,或从 GitHub 发布页面下载最新版本,然后通过 插件 > 新增 > 上传插件 上传安装。

3

将店铺映射到 ATUM 库存位置

前往 POS > 商店,编辑一个店铺,然后配置 ATUM 库存 侧边栏部分。选择该店铺应使用的库存位置,选择定价来源,并可选择启用 SKU 覆盖。

店铺配置

该插件在 WCPOS Pro 店铺编辑器侧边栏中添加了一个 ATUM 库存 部分,每个店铺包含三项设置:

  • 库存位置 — 该店铺从哪个 ATUM 位置提取库存。
  • 定价来源 — 产品价格的来源:
    • 默认 — 标准 WooCommerce 价格
    • WCPOS Pro — 在 WCPOS Pro 中设置的按店铺定价
    • ATUM — 来自 ATUM 库存的按位置定价
  • SKU 覆盖 — 可选择使用 ATUM 中按位置设置的 SKU,替代产品的主 SKU。

POS 行为

当店铺分配了 ATUM 位置后,提供给 POS 的产品数据会自动调整:

  • 库存数量 反映的是特定位置的库存,而非 WooCommerce 的汇总库存。
  • 库存状态 根据该位置的数量重新计算。
  • 价格来自已配置的定价来源。
  • 如果启用了 SKU 覆盖,SKU 将替换为 ATUM 库存位置的 SKU。

所有调整均通过 WCPOS REST API 透明完成,POS 应用端无需任何更改。从 POS 进行的产品编辑也会写回到映射的 ATUM 库存行;请参阅下方的产品编辑回写

库存管理

对于在映射了 ATUM 库存位置的店铺中下达的 POS 订单,插件让 ATUM 的原生库存扣减流程处理写入操作,但会将其引导至正确的位置:

  1. **REST 载荷注入。**当 POS 创建或更新订单时,插件会在每个行项目上注入一个 mi_inventories 条目,以便 ATUM 知道从哪个位置扣减库存。如果没有此注入,ATUM 将回退到主库存。
  2. **按位置筛选库存。**插件会将 ATUM 的候选库存列表筛选为仅与店铺映射位置术语关联的库存,确保在扣减和恢复时选择正确的库存行。

ATUM 本身在订单和退款时执行实际的库存变更,将行写入 atum_inventory_orders 并使用真实的 order_id——保留 ATUM 的审计跟踪记录。

产品编辑回写

当收银员或管理员从 POS 编辑产品或变体时,更改会同步回该店铺位置映射的 ATUM 库存行,而不仅仅是 WooCommerce 主产品。这使得每个位置的库存、价格和 SKU 与 ATUM 保持同步,无需在 WP Admin 中手动更新。

回写在 WCPOS 产品和变体 REST 更新(POSTPUTPATCH/wcpos/v1/products/... 的请求)包含 store_id 时触发。插件会查找该店铺映射的 ATUM 库存位置,并仅更新该位置的库存行——其他位置不受影响。

同步内容

回写操作会遵循每个店铺的配置,因此只有当店铺实际拥有该数据时,ATUM 数据才会发生变化:

字段同步条件
库存数量始终同步——每个映射了 ATUM 库存位置的店铺都会保持其位置行同步。
原价 / 促销价 / 价格仅当店铺的定价来源设置为 ATUM 时同步。
SKU仅当店铺启用了 SKU 覆盖时同步。

如果店铺使用默认WCPOS Pro 定价,ATUM 价格字段将保持不变,这样 ATUM 将继续作为参考价格而非最终数据源。SKU 在未启用覆盖时同理。

不会触发回写的情况

  • 产品创建操作(只有更新操作才会触发回写——新产品会走 WooCommerce 的正常保存流程)。
  • 不包含 store_id 的请求——POS 必须告知插件要写入哪个库存位置。
  • 未映射 ATUM 库存位置的店铺。
  • 在店铺对应库存位置下没有现有 ATUM 库存行的产品——插件不会创建新的库存行,只会更新已有的。

系统要求

WordPress: WordPress 5.9+ 且 PHP 7.4+
WooCommerce: 已安装并激活 WooCommerce
ATUM: ATUM Inventory Management 和 ATUM Multi-Inventory 附加组件
WCPOS: WCPOS Pro — 多店铺是 Pro 功能