WMS上架策略的产品设计与背后的执行逻辑拆解
写在前面
周日晚上我在“供应链项目实战课•第十期”中安排了一节直播课,课程的主题内容是“WMS的波次策略和上架策略拆解”。课程上完了之后,里面关于上架策略的一些知识点,我觉得自己解释的不够精准,也不够通透,怕一些学员朋友可能吸收的不太好。

于是我这两天就抽了一点时间,将富勒WMS的上架规则丢给了Cursor,然后与它进行了几个小时的对话沟通,累计对话内容达到了几十万字。最后我让它基于富勒WMS的上架规则并结合互联网的一些知识,对WMS的上架规则做一个拆解和分析,最后输出了一个WMS的上架策略的原型Demo给到我。

可以访问这个地址查看相关的原型,已经自带了部分的交互设计。
https://axshare.online/demo/wms_putaway_strategy/index.html
如果只是单纯的看这个Demo,那么可能不太理解这里面的一些字段设计,功能逻辑,还有系统的判断逻辑等,于是我又让它给我生成了一个配套的产品逻辑说明文档。
大家可以体验原型Demo的时候,再结合这个文档来理解吸收,相信应该很容易看得懂这个上架策略的配置逻辑了。
最后,我会在下一篇文章中,给大家分享一下这一轮几十万字的对话内容,为大家拆解一下如果想要深入研究富勒WMS的话,那么应该怎么样去提问,提出哪些问题,怎么让AI给你输出原型Demo,输出对应的产品逻辑说明文档等。

目录
概述 上架策略配置指南 系统执行逻辑 预设上架规则详解 筛选条件与限制条件深度解析 典型业务场景配置示例
概述
WMS上架策略是仓储管理系统的核心功能之一,它决定了货物在入库后应该被存放到哪个具体的库位。一个设计良好的上架策略能够:
提高作业效率:将高频商品放在易取位置,减少拣货行走距离 优化空间利用:合理分配库位资源,避免浪费 保证库存准确性:通过严格的混放规则,降低库存差异 支持业务流程:区分处理不同类型的订单(采购、退货、调拨等)
上架策略由策略包头信息和策略包明细行两部分组成,前者定义策略的基本信息和适用范围,后者包含具体的执行规则和约束条件。
上架策略配置指南
2.1 策略包头信息配置
基础字段说明
配置要点
策略代码的唯一性:确保在整个系统中不重复 货主绑定策略: 留空:作为该仓库的默认策略,适用于所有货主 指定货主:仅对选定的货主生效 多货主:可同时选择多个货主 仓库级隔离:不同仓库的策略完全独立,可以有相同的策略代码
2.2 策略包明细行配置
策略包明细行是上架策略的核心,定义了具体的执行逻辑。系统按优先级从高到低依次评估每一行,直到找到合适的库位或所有规则都无法匹配。
2.2.1 核心字段说明
2.2.2 字段间的联动关系
不同的上架规则对"推荐库区"和"固定库位"字段有不同的要求:
2.3 筛选条件配置
筛选条件采用单选模式,确保每个上架单能精准匹配到对应的处理规则。
可配置的筛选维度
筛选逻辑示例
示例规则行配置:
- 订单类型:销售退货
- 批次属性:良品
- 产品循环级别:A类
- 包装级别:不限
此规则仅对"销售退货单中的良品A类商品"生效,
无论其包装级别如何都会匹配此规则。
2.4 限制条件配置
限制条件用于对候选库位进行校验,确保选中的库位满足业务要求。可同时配置多个限制条件。
2.4.1 库位混放限制
2.4.2 库位属性限制
2.4.3 空间限制
系统执行逻辑
3.1 上架策略执行流程

3.2 策略匹配逻辑
3.2.1 策略包匹配优先级
系统会按以下优先级选择策略包:
精确匹配:货主+仓库完全匹配的策略 仓库默认:该仓库的默认策略(货主字段为空) 系统默认:系统级默认策略
3.2.2 多策略包匹配处理机制
当同一优先级存在多个匹配的策略包时,系统按以下规则选择:
容错机制: 如果所有匹配逻辑都失败,系统将记录错误日志并将上架任务标记为"待人工处理"。
3.2.3 规则行筛选逻辑
对于策略包中的每一行规则,系统会验证以下条件:
筛选条件匹配逻辑:
IF (规则.订单类型 == "不限" OR 规则.订单类型 == 上架单.订单类型)
AND (规则.批次属性 == "不限" OR 规则.批次属性 == 上架单.批次属性)
AND (规则.产品ABC == "不限" OR 规则.产品ABC == 商品.循环级别)
AND (规则.包装级别 == "不限" OR 规则.包装级别 == 上架单.包装级别)
THEN 此规则匹配成功
3.3 限制条件校验顺序
为了提高系统性能,限制条件按以下顺序进行校验:
快速校验(需要查询数据库)
库位状态校验(是否可用) 基础属性匹配 空间校验(需要计算)
体积限制 重量限制 长宽高限制 库存校验(需要查询库存数据)
混放产品限制 混放批次限制 SKU库位数量限制 复杂业务校验(需要复杂查询)
产品周转级别匹配 相同产品要求
预设上架规则详解
4.1 规则分类概述
系统提供了6种预设的上架规则,用户仅允许从这6种预设的规则中选择一条或者多条,大致可分为三大类:
4.1.1 库区导向型规则
规则1:推荐指定库区中,合适的库位 规则2:推荐空库位
这类规则基于库区进行库位分配,适合有明确存储区域规划的场景。
4.1.2 固定分配型规则
规则3:推荐固定的库位
适合异常处理、特殊商品或临时存储场景。
4.1.3 智能寻址型规则
规则4:推荐最近一次上架的库位 规则5:同品集中存放(已占货位优先) 规则6:同品集中存放(空货位优先)
这类规则基于历史数据和库存状态进行智能决策,能够优化存储效率。
4.2 各规则详细解析
4.2.1 规则1:推荐指定库区中,合适的库位
适用场景:
有明确的库区功能划分(如拣货区、存储区、退货区) 需要将特定类型的商品存储在指定区域 按商品属性进行区域化管理
执行逻辑:
获取指定库区内所有可用库位 按优化策略排序(通常是距离最近、剩余容量最大) 逐一校验限制条件 返回第一个通过校验的库位
配置要点:
必须指定"推荐库区" "固定库位"字段被禁用 建议配合空间限制条件使用
典型配置示例:
筛选条件:批次属性=良品,产品ABC=A类
上架规则:推荐指定库区中,合适的库位
推荐库区:PK-01-拣货区
限制条件:校验体积 + 匹配产品周转级别
4.2.2 规则2:推荐空库位
适用场景:
新品入库,需要开辟新的存储位置 避免与现有库存混放 隔离存储要求
执行逻辑:
查询系统中所有空闲库位 如果指定了库区,优先在该库区内查找 按距离、便利性等因素排序 校验限制条件后返回
配置要点:
"推荐库区"可选,留空表示全仓搜索 "固定库位"字段被禁用 通常配合"必须是空的库位"限制条件使用
4.2.3 规则3:推荐固定的库位
适用场景:
异常商品的临时存储 特殊商品的指定存储 作为兜底规则使用
执行逻辑:
直接返回配置的固定库位 校验该库位是否满足限制条件 如果校验失败,则此规则失效
配置要点:
必须指定"固定库位" "推荐库区"字段可选(主要用于备注) 建议设置为较低优先级的兜底规则
4.2.4 规则4:推荐最近一次上架的库位
适用场景:
连续入库的相同商品 希望保持存储连续性 减少库位分散
执行逻辑:
查询该SKU的上架历史记录 获取最近一次上架的库位 检查该库位是否仍有剩余容量 校验限制条件
业务价值:
减少同一SKU的库位分散 提高拣货效率 便于库存管理
4.2.5 规则5:同品集中存放(已占货位优先)
适用场景:
追求存储密度最大化 先填满现有库位再开新位 适合高频周转商品
执行逻辑:
查询仓库内所有存储该SKU的库位 按剩余容量从小到大排序(优先填满快满的库位) 逐一校验限制条件 如果所有已占用库位都不可用,则查找空闲库位
业务价值:
最大化库位利用率 减少零散库存 便于库存盘点
4.2.6 规则6:同品集中存放(空货位优先)
适用场景:
预留缓冲空间 便于后续批量拣货 适合波动较大的商品
执行逻辑:
查询仓库内所有存储该SKU的库位 按剩余容量从大到小排序(优先使用有充足空间的库位) 校验限制条件 如果已占用库位都不满足,再查找空闲库位
与规则5的区别:
规则5:填满现有 → 开新位(密度优先) 规则6:有余量的现有 → 开新位(灵活性优先)
筛选条件与限制条件深度解析
5.1 筛选条件设计原理
5.1.1 为什么采用单选模式?
在设计初期,筛选条件曾考虑支持多选模式,但实际业务中发现多选会带来以下问题:
匹配歧义:当上架单同时满足多个条件时,难以确定使用哪个规则 逻辑复杂:多选条件的组合爆炸,难以预测所有可能的匹配情况 维护困难:规则间可能存在冲突或重叠,问题排查复杂
因此,采用单选模式确保每个上架单都能精准匹配到唯一的处理规则。
5.1.2 各筛选维度的业务含义
订单类型维度:
采购入库:新品入库,通常需要检验和质检流程 销售退货:退回商品,需要区分良品和次品处理 调拨入库:仓库间调拨,商品状态明确,流程相对简单
批次属性维度:
良品:质量合格,可正常销售的商品 次品:存在瑕疵,需要特殊处理或报废 待检:需要进一步质检确认状态的商品
产品循环级别(ABC):
A类(高频):销售频次高,应存储在便于拣货的位置 B类(中频):销售频次中等,存储在次优位置 C类(低频):销售频次低,可存储在较远或较高的位置
包装级别:
托盘:整托盘存储,需要承重较强的库位 原箱:以箱为单位,适合箱拣货库位 单件:散装商品,适合件拣货库位
5.2 限制条件组合策略
5.2.1 常见限制条件组合
严格隔离组合:
? 不许混放产品
? 不许混放批次
? 必须是空的库位
? 校验体积
? 校验重量
适用于:贵重商品、危险品、易污染商品
集中存储组合:
? 库位内必需有相同产品
? SKU最多可占用的库位数:3
? 校验体积
? 匹配产品周转级别
适用于:高频商品、批量拣货商品
质量管控组合:
? 不许混放批次
? 校验体积
? 校验重量
适用于:有保质期的商品、需要批次追溯的商品
5.2.2 限制条件与系统基础数据的联动机制
限制条件的校验需要结合多个系统模块的基础数据,以下详细解析各限制条件的判断逻辑:
混放限制条件的判断逻辑:
空间限制条件的计算逻辑:
业务属性匹配的逻辑:
典型业务场景配置示例
6.1 B2C电商仓库配置
场景描述
仓库类型:B2C电商仓储 商品特点:SKU多样、小批量、高频次 业务要求:快速拣货、严格质控、异常处理
策略配置
策略名称:B2C电商标准上架策略
策略代码:PUTAWAY-B2C-STANDARD
绑定仓库:华东-01仓
绑定货主:(留空,作为默认策略)
明细行配置:
批次属性=良品 产品ABC=A类 | |||||
批次属性=良品 产品ABC=B类/C类 | |||||
产品ABC=A类 | |||||
产品ABC=B类/C类 | |||||
6.2 B2B批发仓库配置
场景描述
仓库类型:B2B批发配送 商品特点:大批量、标准化、周转稳定 业务要求:高效率、大容量、批量作业
策略配置
策略名称:B2B批发标准上架策略
策略代码:PUTAWAY-B2B-WHOLESALE
绑定仓库:华北-02仓
绑定货主:(留空,作为默认策略)
明细行配置:
产品ABC=A类 | |||||
产品ABC=B类/C类 | |||||
6.3 冷链仓库配置
场景描述
仓库类型:冷链物流仓储 商品特点:温度敏感、保质期短、批次严格 业务要求:温区管理、批次控制、先进先出
策略配置
策略名称:冷链仓储上架策略
策略代码:PUTAWAY-COLD-CHAIN
绑定仓库:冷链-01仓
绑定货主:生鲜食品供应商
明细行配置:
批次属性=良品 | |||||
批次属性=良品 | |||||
6.4 配置最佳实践
6.4.1 优先级设计原则
异常处理优先:次品、待检商品的规则应设置高优先级 精确匹配优先:条件越精确的规则优先级越高 业务关键优先:影响关键业务指标的规则优先级更高 兜底规则垫底:确保所有商品都有去处
6.4.2 测试验证方法
场景测试矩阵:
验证步骤:
准备测试数据,覆盖所有可能的筛选条件组合 执行上架策略,记录实际匹配的规则 对比期望结果,确认配置正确性 测试边界条件和异常情况
6.4.3 性能优化建议
规则数量控制:单个策略包的规则行建议不超过20条 条件简化:避免过于复杂的筛选条件组合 索引优化:确保库位查询相关字段有适当的数据库索引 缓存机制:对频繁查询的库位信息进行缓存 异步处理:非关键路径的限制条件校验可考虑异步执行
总结
WMS上架策略是一个复杂而精密的业务系统,它通过策略包头信息、策略包明细行、筛选条件和限制条件的组合,实现了对货物存储位置的智能决策。
核心设计原则:
精准匹配:通过单选模式的筛选条件确保规则匹配的确定性 灵活配置:提供多种上架规则和限制条件的组合 性能优化:合理的执行顺序和算法设计 业务适配:支持不同类型仓库的个性化需求
应用价值:
提高仓储作业效率 优化库位空间利用 保证库存管理准确性 支持复杂业务场景
通过合理配置上架策略,企业可以在确保业务合规的前提下,最大化仓储运营效率,这是现代WMS系统的核心竞争力之一。