引言
入库管理是WMS系统的核心业务之一,直接影响库存准确率和作业效率。本文将深入讲解从ASN预报到上架完成的全流程,帮助你理解和优化入库作业。
1. 入库业务全景
1.1 入库类型
1. 采购入库(Purchase Receipt)
- 定义:供应商送货到仓库
- 触发:ERP采购订单
- 流程:ASN预报 → 收货 → 质检 → 上架
- 特点:有ASN预报,数据准确
2. 退货入库(Return Receipt)
- 定义:客户退回商品
- 触发:OMS退货单
- 流程:收货 → 质检 → 上架/报废
- 特点:无ASN预报,需仔细质检
3. 调拨入库(Transfer Receipt)
- 定义:其他仓库调拨商品
- 触发:WMS调拨单
- 流程:收货 → 上架(通常无需质检)
- 特点:已质检,快速上架
1.2 入库流程全景图
ERP采购订单
↓
ASN预报 ────────────────┐
↓ │(可选)
预约收货 │
↓ │
供应商送货 │
↓ │
┌──收货验收◄──────────────┘
│ ↓
│ 扫描条码
│ ↓
│ 核对数量
│ ↓
│ 发现差异?
│ / \
│ Yes No
│ ↓ ↓
│ 异常处理 质检验证
│ ↓
│ 质检合格?
│ / \
│ Yes No
│ ↓ ↓
│ 上架指引 退货/隔离
│ ↓
│ RF上架
│ ↓
│ 库存增加
└──────────┘
2. ASN(Advance Shipping Notice)预报
2.1 ASN的作用
什么是ASN?
- 定义:提前发货通知,供应商提前告知仓库发货信息
- 目的:仓库提前准备,提升收货效率
ASN的价值:
- 提前准备:预留收货月台、人员、设备
- 快速验收:对单收货,减少人工核对
- 减少差异:预报准确,降低收货差异
- 优化库位:提前分配库位,快速上架
ASN vs 无ASN对比:
| 维度 | 有ASN | 无ASN |
|---|---|---|
| 收货效率 | 快(对单验收) | 慢(盲收录入) |
| 准确率 | 高(预报准确) | 低(人工录入) |
| 库位分配 | 提前分配 | 收货后分配 |
| 人力成本 | 低 | 高 |
2.2 ASN数据模型
ASN预报单:
-- ASN主表
CREATE TABLE asn (
asn_no VARCHAR(50) PRIMARY KEY,
warehouse_code VARCHAR(20),
supplier_code VARCHAR(50),
expect_arrival_date DATE, -- 预计到货日期
total_sku_count INT, -- SKU种类数
total_qty INT, -- 总数量
status VARCHAR(20), -- 待收货、收货中、已完成
created_at TIMESTAMP
);
-- ASN明细表
CREATE TABLE asn_detail (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
asn_no VARCHAR(50),
sku_code VARCHAR(50),
batch_no VARCHAR(50),
expect_qty INT, -- 预计数量
unit VARCHAR(20),
FOREIGN KEY (asn_no) REFERENCES asn(asn_no)
);
ASN创建流程:
// ERP生成采购订单后,自动推送ASN到WMS
POST /api/wms/asn
{
"asn_no": "ASN202511220001",
"warehouse_code": "WH001",
"supplier_code": "SUP-APPLE",
"expect_arrival_date": "2025-11-25",
"items": [
{
"sku_code": "iPhone-15Pro-256GB-Black",
"batch_no": "20251120",
"expect_qty": 100
}
]
}
2.3 无ASN入库的处理
场景:供应商未提前发送ASN,直接送货到仓库
处理方式:
盲收(Blind Receiving):
- 仓管员逐件扫描条码,系统自动识别SKU
- 系统记录实收数量
- 生成ASN单(事后补录)
快速录入:
- 仓管员手工输入SKU和数量
- 系统生成ASN单
- 后续流程同有ASN
盲收优缺点:
- ✅ 优点:灵活,适应临时送货
- ❌ 缺点:效率低,容易出错
3. 收货管理
3.1 收货模式
1. 对单收货(ASN Receiving)
- 前提:有ASN预报
- 流程:
- 扫描ASN条码,系统调出预报信息
- 逐件扫描商品条码
- 系统自动核对SKU和数量
- 发现差异,系统提示
2. 盲收(Blind Receiving)
- 前提:无ASN预报
- 流程:
- 逐件扫描商品条码
- 系统自动识别SKU
- 仓管员录入数量
- 系统生成ASN单
3.2 RF扫描收货流程
RF终端界面(示例):
┌─────────────────────────┐
│ 收货管理 │
├─────────────────────────┤
│ ASN单号: │
│ [ASN202511220001] │
│ │
│ 扫描ASN条码 ► │
└─────────────────────────┘
↓(扫描后)
┌─────────────────────────┐
│ ASN: ASN202511220001 │
├─────────────────────────┤
│ 供应商: SUP-APPLE │
│ 预报SKU: 1种 │
│ 预报数量: 100件 │
│ │
│ 扫描商品条码 ► │
└─────────────────────────┘
↓(扫描商品)
┌─────────────────────────┐
│ SKU: iPhone-15Pro │
├─────────────────────────┤
│ 预报数量: 100 │
│ 已收数量: 1 │
│ │
│ 继续扫描 ► [___] │
│ 完成收货 [按钮] │
└─────────────────────────┘
↓(收货100件后)
┌─────────────────────────┐
│ 收货完成 │
├─────────────────────────┤
│ 预报数量: 100 │
│ 实收数量: 100 │
│ 差异: 0 ✓ │
│ │
│ [提交] [取消] │
└─────────────────────────┘
3.3 收货差异处理
常见差异类型:
1. 多收(Over Receipt)
- 原因:供应商多发、ASN预报错误
- 处理:
- 记录实收数量
- 通知采购和供应商
- 选择:全部收货 or 拒收多余部分
2. 少收(Short Receipt)
- 原因:供应商少发、运输丢失
- 处理:
- 记录实收数量
- 通知采购和供应商
- 要求补货
3. 破损(Damage)
- 原因:运输损坏、包装问题
- 处理:
- 拍照记录
- 隔离破损商品
- 通知采购和供应商
- 要求退货或索赔
差异处理流程:
-- 记录收货差异
INSERT INTO receiving_exception (
asn_no, sku_code, expect_qty, received_qty,
exception_type, exception_desc, images
)
VALUES (
'ASN202511220001', 'iPhone-15Pro', 100, 98,
'少收', '少收2件,供应商确认丢失', '[image1.jpg, image2.jpg]'
);
-- 通知采购
INSERT INTO notification (recipient, title, content)
VALUES ('purchaser@company.com', '收货差异通知', '...');
4. 质检流程
4.1 质检类型
1. 全检(Full Inspection)
- 适用:高价值商品(手机、奢侈品)
- 流程:逐件检查外观、功能
- 优点:质量保障
- 缺点:效率低、成本高
2. 抽检(Sampling Inspection)
- 适用:标准品(日用品、食品)
- 流程:按比例抽样检查
- 抽样比例:
- 10%(数量<100)
- 5%(数量100-1000)
- 2%(数量>1000)
- 优点:效率高
- 缺点:可能漏检
4.2 质检结果处理
1. 质检合格(Pass)
质检库存 → 正常库存 → 进入待上架区
2. 质检不合格(Fail)
质检库存 → 不良库存 → 退货/报废
3. 质检待定(Pending)
质检库存 → 暂存 → 等待进一步检测
5. 上架管理
5.1 上架策略
1. 随机上架(Random Put-away)
- 策略:系统自动分配空闲库位
- 适用:周转快的商品(电商日用品)
- 优点:库位利用率高、上架快
- 缺点:拣货效率低(商品分散)
2. 指定上架(Fixed Put-away)
- 策略:固定SKU放固定库位
- 适用:周转慢的商品(长尾商品)
- 优点:拣货效率高(位置固定)
- 缺点:库位利用率低
3. 就近上架(Nearest Put-away)
- 策略:优先分配离收货区近的库位
- 适用:高频周转商品
- 优点:减少搬运距离
- 缺点:热点库位拥堵
4. ABC分类上架
- 策略:按销量分类,A类商品放拣货区
- 适用:所有商品
- 优点:平衡存储和拣货效率
5.2 上架路径优化
案例:仓库有100个上架任务,如何分配给5个员工?
优化目标:
- 最小化搬运距离
- 均衡员工工作量
- 避免库位冲突
算法:
# 上架任务分配(贪心算法)
def assign_putaway_tasks(tasks, workers):
# 按库位距离排序
tasks.sort(key=lambda t: t.distance)
# 初始化员工任务列表
worker_tasks = {w: [] for w in workers}
# 贪心分配:每次分配给当前任务量最少的员工
for task in tasks:
min_worker = min(workers, key=lambda w: len(worker_tasks[w]))
worker_tasks[min_worker].append(task)
return worker_tasks
6. 实战案例:电商仓库的入库流程优化
背景:
- 仓库规模:10000平米,10万SKU
- 日均入库:500单,2万件
- 痛点:收货慢、差异多、上架效率低
优化前:
- 无ASN预报,盲收为主
- 收货效率:100件/小时/人
- 收货准确率:95%
- 上架时效:4小时
优化方案:
1. 推广ASN预报
- 与供应商对接,要求提前1天发送ASN
- ASN覆盖率从0%提升到80%
2. 引入RF扫描
- 所有收货员配备RF终端
- 扫描条码替代手工录入
3. 优化质检流程
- 高价值商品全检(10%SKU)
- 标准品抽检(90%SKU)
- 抽检比例:5%
4. 上架策略优化
- ABC分类:20%高频SKU指定上架
- 80%低频SKU随机上架
- 就近原则:优先分配近库位
优化后:
- 收货效率:200件/小时/人(提升100%)
- 收货准确率:99.5%(提升4.5%)
- 上架时效:2小时(提升50%)
ROI分析:
- 人力成本:节省40%
- 库存准确率:提升4.5%
- 客户满意度:提升15%
7. 总结
入库管理关键成功要素:
- ASN预报:提前准备,提升效率
- RF扫描:减少人工录入错误
- 质检流程:平衡质量和效率
- 上架策略:优化库位利用率
下一篇预告: 在下一篇文章中,我们将深入学习出库管理与波次拣货,包括:
- 波次拣货的原理和策略
- 拣货模式:摘果式 vs 播种式
- 拣货路径优化算法
- 复核打包流程
敬请期待!