订单已Canceled,可售数量却没回来。MSI不会修改原reservation,而是追加相反记录使累计值归零。
排查路径
- 按订单号在metadata中定位原预留与补偿,按stock_id和SKU求和,不能只看最后一条。
- 确认订单经标准Order Management cancel执行;ERP直接改state/status不会触发完整补偿。
落地修复
- 运行list-inconsistencies,确认订单确已取消且未发货后,再将审核过的输出交给create-compensations。
- 修复ERP/API取消流程并做幂等;历史订单逐单补偿,避免部分发货单被错误加库存。
SELECT reservation_id,stock_id,sku,quantity,metadata FROM inventory_reservation WHERE metadata LIKE '%000000123%' ORDER BY reservation_id;
bin/magento inventory:reservation:list-inconsistencies -r完成标准
新订单预留为负,取消后累计归零且salable恢复;重复取消不会再增加补偿。

