启用 MSI 后,订单提交时通常先产生库存预留,来源的实际 Quantity 在创建发货时扣减。因此只看 Sources 页面,很容易误判“没扣库存”。

正确的观察对象是 Salable Quantity:下单后它应下降;发货后来源数量下降,并通过补偿预留保持账面一致;取消订单则写入相反方向的补偿记录。

bin/magento inventory:reservation:list-inconsistencies

若出现不一致,先核对订单是否经历导入、取消、退款或扩展改写状态。确认业务事实后再执行补偿,不要直接删除 inventory_reservation

订单成功但可销售数量也没变化时,检查 SKU 是否分配到当前网站使用的 Stock、商品是否关闭“管理库存”,以及自定义下单代码是否绕过服务契约直接写销售表。选一笔新订单记录下单前后来源数量、可销售数量和预留,再创建发货观察变化,便能区分正常时点差异与库存链路故障。