仓库导入把某 SKU 的数量改为 25,前台仍显示缺货。数据库里 quantity 没错,但 status 仍是 0。

字段含义
quantity该 Source 的物理数量
status该 Source Item 是否启用
salable quantityStock 聚合后再扣除 Reservation 的结果
SELECT source_code, sku, quantity, status
FROM inventory_source_item
WHERE sku='SKU-001';

通过 SourceItemsSaveInterface 保存时,导入程序要明确设置状态;不要直接写表。还要确认 Source 已分配到当前 Website 使用的 Stock。若 status 和映射都正确,再检查库存索引以及未补偿的 Reservation。

本次修复在导入映射中加入“数量大于零并且 ERP 可销售”才设为 in stock 的业务规则。零库存、冻结库存、恢复库存三组样本都通过后才重新跑全量导入。