Visual LabINTERACTIVE LEARNING
03 · ERP & SUPPLY CHAINP013 MIN

Warehouse、Inventory 与可用库存

分清实物在库、已预占与真正可销售的数量。

MENTAL MODELINVENTORY MODEL
01On Hand 100
02Reserved 30
03Blocked 5
04Available 65
库存不是 Product 上的一个数字,而是特定 SKU 在特定仓库、特定状态下的数量与流水。
01 · CONCEPTS & BOUNDARIES

先把概念与边界说清楚

定义告诉你它是什么,边界告诉你它不负责什么;企业系统最常见的误解通常发生在两者混用时。

01

Warehouse

有独立收发、库位或库存责任的仓储节点。

02

Inventory

某 SKU 在某仓库的库存聚合状态,常含 on_hand、reserved 等数量。

03

Available Stock

可承诺数量,常见简化公式为 on_hand − reserved − blocked。

04

Reserved Stock

已为订单或任务占用但尚未实际出库的数量。

02 · BLIND BOTS CASE

两个经销商同时买最后一件

问题现场

两次请求都读到 available=1,然后都确认订单。

  1. 01

    在事务内执行带 available >= 1 条件的原子预占。

  2. 02

    只有更新一行成功才确认订单。

  3. 03

    失败请求返回库存冲突并建议替代仓库。

得到什么

不会超卖,竞争由数据库原子条件裁决。

03 · PRACTICE

马上动手

  1. 根据 on_hand=50、reserved=12、blocked=3 计算 available。
  2. 说明在途库存为什么不能默认计入 available。
04 · PITFALLS

常见坑

  • 全公司只有一个 stock 字段
  • 预占直接减少 on_hand
  • 不记录仓库维度
05 · KNOWLEDGE CHECKAvailable 与 Reserved 的区别是什么?查看答案⌄
答案

Reserved 是已承诺但未出库的数量;Available 是仍可向新订单承诺的数量,通常要从在库量中扣除预占与冻结。