目录
- 背景和价值
- WMS
- 一、货主(Owner)
- 货主(Owner)业务对象的核心属性:
- 3. 库存记录:细化到「SKU+货主+库位」三维度
- 一、货主(Owner)
- 逻辑库存
- 一、逻辑层核心业务对象设计
- 1. 库存主档(LogicalInventory):核心载体
- 一、逻辑层核心业务对象设计
- 参考资料
背景和价值
WMS
一、货主(Owner)
作为独立的业务对象存在
货主是仓库中商品的「所有者」(可能是企业、品牌方、零售商等),在WMS中必须作为独立对象管理,核心原因是:
- 第三方物流仓库(3PL)通常为多个客户(货主)提供仓储服务,需严格区分不同货主的商品和库存;
- 即使是企业自建仓库,也可能存在「自有商品」和「代运营商品」(如品牌代发),需通过货主属性隔离管理。
货主(Owner)业务对象的核心属性:
属性 | 说明 |
---|---|
货主ID(Owner ID) | 唯一标识(如OW001),是关联商品、库存、单据的核心字段。 |
货主名称 | 企业/个人名称(如「苹果公司」「张三贸易商行」)。 |
货主类型 | 区分属性(如自有货主/外部客户/供应商,影响权限和结算逻辑)。 |
联系方式 | 联系人、电话、邮箱(用于业务对接和异常通知)。 |
结算信息 | 费率协议、结算周期(3PL场景中用于仓储费、操作费计算)。 |
状态 | 启用/禁用(如合作终止后标记为禁用,避免新业务产生)。 |
3. 库存记录:细化到「SKU+货主+库位」三维度
库存记录(Inventory)是核心载体,需通过“SKU+货主+库位”的组合唯一标识库存,确保同一SKU在同一库位下,不同货主的库存可区分。
核心属性 | 说明 | 设计逻辑 |
---|---|---|
库存ID | 唯一标识(如INV-001) | 唯一记录一条库存数据 |
SKU编码 | 关联共享SKU(如OPPO find n3 128G) | 绑定物理商品 |
货主ID | 关联货主(如货主A) | 明确该部分库存的归属(即使SKU相同,货主不同则库存独立) |
库位编码 | 关联库位(如A-1-01) | 记录库存的物理位置 |
数量 | 该货主在该库位的该SKU库存数量(如货主A在A-1-01有20台) | 核心数据:区分同一SKU在同一库位下不同货主的库存 |
批次号 | 关联批次(如L20230601,同一批次可被多货主共享) | 追溯时需同时关联货主(如批次L20230601中,货主A占10台,货主B占15台) |
库存状态 | 合格/待检/锁定(如货主A的库存被锁定,不影响货主B的可用库存) | 状态按货主隔离(同一SKU在同一库位,不同货主的状态独立) |
逻辑库存
一、逻辑层核心业务对象设计
逻辑层的核心目标是:基于物理库存,结合业务规则(如预占、锁定、安全库存)计算「可售库存」,并记录全链路库存变动。其业务对象需覆盖「库存主体、状态维度、变动记录、规则配置」四大类,具体设计如下:
1. 库存主档(LogicalInventory):核心载体
逻辑层的最小库存管理单元,按「SKU+仓库+货主」唯一标识(多仓多货主场景下的核心维度),记录该维度下的各类库存状态汇总值。
核心属性 | 说明 | 业务意义 |
---|---|---|
库存ID | 唯一标识(如INV-123) | 逻辑层库存记录的唯一键 |
商品SKU | 关联商品的SKU编码(如SKU001) | 明确管理的商品单元(最小可售单位) |
所属仓库ID | 关联仓库(如WH-BJ,北京仓) | 绑定物理存储位置(逻辑库存需对应具体仓库的物理库存) |
所属货主ID | 关联货主(如OW001,品牌A) | 区分库存归属(多货主场景下避免混淆) |
可用库存(availableQty) | 当前可被销售的库存数量(=物理库存-预占库存-锁定库存-安全库存) | 前端销售展示的核心依据(直接影响是否允许下单) |
预占库存(allocatedQty) | 已被订单下单但未完成支付/履约的库存数量(如用户下单未支付时锁定的库存) | 防止超卖(同一库存不会被多个订单同时占用) |
锁定库存(lockedQty) | 因异常/特殊业务被冻结的库存(如质检不合格、临期待处理、售后锁定) | 限制这类库存参与销售(避免问题商品被卖出) |
在途库存(inTransitQty) | 从其他仓库/供应商运输中,尚未入库的库存(如调拨在途、采购在途) | 用于中长期库存规划(可展示为「预售库存」) |
物理库存基数(physicBaseQty) | 同步自WMS的实际库存数量(基础数据源) | 逻辑层所有计算的基准(需与WMS物理库存保持一致) |
安全库存(safetyQty) | 为应对突发需求设置的最低库存阈值(如设置10件,低于此值触发补货提醒) | 避免库存售罄导致断货(平衡库存周转和服务体验) |
最后同步时间 | 与WMS物理库存的最近同步时间 | 用于校验库存数据新鲜度(判断是否需要重新同步) |