3. WMS核心功能与数据模型

WMS 的工程本质,是把仓库里“货、位、单、人、时”五类事实,用一套可追溯的数据结构固定下来。理解 WMS,不能只记功能菜单,而要看它背后有哪些主数据、哪些事务表、哪些状态字段在支撑每一次库存变化。本节围绕入库、上架、波次、拣选、盘点、库存事务与库位管理,梳理一套可落地的数据模型。

一、主数据:库位、物料与库存的三层结构

库位(Location)是 WMS 的空间主数据,通常用“仓库-库区-巷道-货架-层-位”编码,例如 WH01-A-R02-S03-L04-B05。库位需要携带几个关键属性:库位类型(存储位、拣选位、暂存位、收货位、发货位、退货位)、混放策略(是否允许同库位多 SKU)、容量约束(最大托盘数、最大重量、最大体积)、拣选优先级(靠近发货口优先)以及状态(可用、锁定、冻结、维修)。

物料主数据(Item/SKU)除编码、名称、规格外,必须包含批次管理标识、效期管理标识、序列号管理标识和基本计量单位与换算关系。库存(Inventory)不是单一数字,而是“物料+库位+批次+库存状态”的四维组合,常见库存状态包括:可用(Available)、锁定(Allocated)、质检中(QI)、冻结(Hold)、在途(In-Transit)。同一 SKU 在同一库位,若批次或状态不同,应视为不同库存记录。

WMS 核心数据模型:主数据 → 事务 → 库存状态 主数据层(Master Data) 库位 Location 编码/类型/容量/混放/状态 物料 Item 批次/效期/序列号/单位换算 库存 Inventory 物料+库位+批次+状态 库存状态 可用/锁定/质检/冻结 事务层(Inventory Transaction)— 每一次库存变化都留痕 入库 收货→质检→上架 事务类型: RECEIPT PUTAWAY 上架 推荐库位→确认 源:收货位 目标:存储位 波次 订单池→分组 波次号/策略 WAVE 拣选 任务→拣货→复核 PICK 源:拣选位 盘点 冻结→清点→差异 ADJUST 盘盈/盘亏 库存事务 流水账 不可篡改 可追溯 事务驱动库存更新 库存结果层(Inventory Balance) 库存余额表 SKU+库位+批次+状态 → 数量 库存事务流水表 事务ID+类型+源/目标+数量+时间 库位占用表 库位+SKU+批次 → 占用数量/容量

二、入库与上架:从收货到库位绑定

入库流程通常由 ASN(预到货通知)驱动。WMS 收到 ASN 后生成收货任务,操作员在收货位扫描物料与批次,系统记录实收数量并与预期数量比对,产生差异记录。收货完成后,库存先进入“收货位/待检位”,状态为质检中或可用,取决于是否免检。

上架(Putaway)的核心是“源库位→目标库位”的库存转移事务。WMS 根据上架策略推荐目标库位,常见策略包括:固定库位(SKU 与库位绑定)、随机库位(按容量和混放规则动态分配)、就近上架(靠近收货口优先)、ABC 分区(A 类高频 SKU 放拣选位附近)。上架确认时,系统写入一条 PUTAWAY 事务,源库位数量减少,目标库位数量增加,同时更新库位占用。

三、波次与拣选:订单如何变成拣货任务

波次(Wave)是订单的分组容器。WMS 从订单池中按规则筛选订单,生成波次号,常见分组维度有:承运商、时效、区域、SKU 重合度、订单优先级。波次的作用是把大量零散订单合并成一批可批量拣选的任务,减少行走路径。

拣选(Pick)由波次释放后生成拣货任务,任务字段通常包括:任务号、波次号、SKU、源库位、目标容器、需求数量、已拣数量、状态(待拣、拣选中、已完成、异常)。拣选确认时写入 PICK 事务,源拣选位库存减少,订单行进入“已拣”状态。若拣选位不足,系统可触发补货任务,从存储位补货到拣选位,这同样是一条库存转移事务。

四、盘点:冻结、清点与差异调整

盘点的数据模型关键是“冻结—清点—差异—调整”四步。盘点单生成时,系统冻结目标库位或 SKU 的库存,防止盘点期间发生出入库。清点后录入实盘数量,系统计算差异:差异 = 实盘数量 - 账面数量。差异确认后生成 ADJUST 事务,账面库存被修正,同时保留调整原因、操作人、时间戳。盘盈为正差异,盘亏为负差异,两者都必须留痕,不能直接改余额。

五、库存事务:WMS 的“流水账”原则

库存事务(Inventory Transaction)是 WMS 数据模型的核心。任何库存变化都必须先写事务,再更新余额,事务表不可篡改、不可删除。一条事务通常包含:事务 ID、事务类型(RECEIPT、PUTAWAY、PICK、ADJUST、TRANSFER、RETURN)、源库位、目标库位、SKU、批次、数量、库存状态、关联单据号、操作人、时间戳。这样,任何时点的库存都可以通过事务流水回放出来,满足审计与追溯要求。

工程建议:库存余额表是“结果”,事务流水表是“过程”。对账时若两者不一致,优先检查是否有事务写入成功但余额更新失败,或余额被直接修改而未留事务。

六、库位管理:容量、混放与状态

库位管理要解决三个问题:能不能放(容量与承重)、能不能混(同库位多 SKU 规则)、能不能用(状态是否可用)。库位状态一般包括:可用、锁定(有任务占用)、冻结(盘点或维修)、满位。上架推荐时,WMS 会过滤掉不可用、已满、混放冲突的库位,再按策略排序。库位占用表记录每个库位当前存放的 SKU、批次和数量,是上架推荐和拣选路径优化的基础数据。

把上述对象串起来看:主数据定义“有什么”,事务记录“发生了什么”,余额表回答“现在有多少”,库位占用表回答“放在哪里”。四者一致,WMS 才具备可运营、可审计、可扩展的基础。