
一、为什么要做单据命名与分层规范?
在供应链项目里,最容易“越做越乱”的地方之一,就是单据体系:
-
同一个概念,在 ERP 叫一套名字,在 WMS 又叫另一套; -
有的单据既像“计划”,又像“执行”,研发同学不知道它到底算什么; -
英文缩写五花八门:PO/POO/PUR、SO/SORDER……后期很难维护。
本规范的目标:
-
用一套统一的思路,把所有供应链单据拆成 指令单 / 执行单 / 结果单 三类; -
给出每类单据的 中文名称、英文名称、英文缩写、中文拼音缩写、编码示例; -
让产品在设计单据时有章可循,让研发一眼能看懂单据“是什么角色、处在哪一层”。
适用范围:
-
新零售 ERP、国产 WMS、简单 OMS/配销系统、与之对接的 SRM 等。
二、总体设计:指令单 / 执行单 / 结果单 三层模型
2.1 三类单据的核心定义
-
指令单(Intent / Plan): -
代表“我要做什么”,包含 业务意图、计划、合同或审批结果; -
一旦生效,通常不能随意改动,是后续执行与结算的依据; -
在 ERP 中多数以 Order、Requisition结尾,在 WMS 多数体现为Notice。 -
执行单(Execution / Task): -
代表“正在干什么”,是 指导仓库作业或下游系统执行的指令; -
更贴近现场动作,如上架、拣货、移库、盘点等; -
在 ERP 中常用 Delivery/Instruction,在 WMS 中常用Task/Order/List。 -
结果单(Result / Confirmation): -
代表“已经完成了什么”,记录 实际发生的数量、时间、责任人; -
是库存变更、财务过账、结算对账的依据; -
ERP 中常用 Receipt(入)、Issue(出)、Note(通用凭证)、Bill(结算); -
WMS 中则多以 Record、Result、Confirmation等形式存在(也可以是存在结果表而非显式单据,即页面不可见)。
2.2 ERP vs WMS 的关注点差异
-
ERP 更关注: -
权责(Right & Liability) -
财务与结算 -
账面库存与会计凭证 -
WMS 更关注: -
现场动作(收、上、拣、装、移、盘、检等) -
任务分配、作业路径、库位/批次等细节 -
操作过程与执行效率
因此,同一条业务链,在 ERP 和 WMS 中的单据可以这样理解:
-
ERP:指令单(Order) → 结果单(Receipt / Issue / Note); -
WMS:指令单(Notice) → 执行单(Task / Order) → 结果单/记录(Record / Result / Confirmation)。
2.3 常见的命名规范
这是基于一些国际大厂的单据规则而总结的命名规范,无论是ERP,还是WMS,抑或是其他供应链系统,都可以基于这个命名规范作为基准参考,然后去定义各自系统的业务单据名称。
|
|
|
|
|
|---|---|---|---|
|
|
Order
|
Notice
|
|
|
|
Delivery
|
Task
|
|
|
|
Receipt
|
|
|
三、命名规则总则
3.1 中文名称规则
-
统一后缀词汇: -
指令类: 申请单、订单、计划单、通知单,以及在 WMS 里作为主任务单使用的入库单、出库单; -
执行类: 上架单、拣货单、移库单、盘点单、质检单等(更贴近工人实际作业的任务); -
结果类(偏 ERP / 结果记账视角): 入库单、出库单、结果单、记录、调整单等。 -
一个业务含义,对外只保留一个主名称: -
例如: 采购订单不再同时出现采购合同这种平行叫法; -
盘盈单 / 盘亏单在 ERP 中可以拆开,在 WMS 侧则统一归到库存调整单。
3.2 英文名称规则
-
指令单(Intent): -
ERP 侧首选: … Order(Purchase Order, Sales Order, Transfer Order 等); -
申请/请求类: … Requisition/… Request(Purchase Requisition); -
WMS 侧从上游接收指令: … Notice(Advance Shipping Notice),以及在仓内作为主任务单的Inbound Order / Outbound Order。 -
执行单(Execution): -
ERP 侧: … Delivery/… Instruction(Outbound Delivery); -
WMS 侧: … Task(Putaway Task, Pick Task)、… Order(Putaway Order)、… List(Picking List,偏纸质)。 -
结果单(Result): -
入库结果: … Receipt(Goods Receipt, Purchase Goods Receipt); -
出库结果: … Issue或… Note(Delivery Note, Goods Issue); -
WMS 记录:中型国产 WMS 更常用 … Record(Receipt Record, Shipment Record)、… Adjustment(Inventory Adjustment),不必额外引入过多抽象后缀。
3.3 英文缩写规则
-
长度建议:2–4 位大写字母,保持在界面和接口里易读易输; -
行业内约定俗成的优先复用: -
采购订单:PO (Purchase Order) -
销售订单:SO (Sales Order) -
配销单:DSTO (Distribution Order) -
到货通知:ASN (Advance Shipping Notice) -
入库单(WMS 主任务):IB (Inbound Order) -
出库单(WMS 主任务):OB (Outbound Order) -
上架单:PA (Putaway Order) -
拣货单:PK (Picking Order) -
盘点单:IC (Inventory Count) -
盘点结果:IR (Inventory Result) -
库存调整单:ADJ (Inventory Adjustment) -
避免多个不同概念使用同一个缩写,例如:不要再设计第二个含义为“PO”的新单据。
3.4 中文拼音缩写规则
-
统一使用 首字母缩写,可考虑 2–4 个字: -
采购订单: CGDD -
采购申请: CGSQ -
销售订单: XSDD -
调拨单: DBD -
盘点单: KCPD -
当中文名过长时,可选取核心含义的拼音首字母: -
库存调整单: TIAO(避免与KCTZ等混杂写法并存)。
3.5 单据编码示例规则
建议统一采用:
[英文缩写] + [年月日] + [4–6 位流水号]
示例:
-
采购订单: PO202510310001 -
销售订单: SO202510310023 -
调拨单: STO202511010005 -
上架单: PA202511020012
编码可以在产品规范中作为“建议”,真正落地时根据公司已有编码体系微调。
四、ERP 系统单据命名规范(按业务域)
本章节以 ERP 为视角,重点覆盖 指令单 + 结果单。执行单在 ERP 中多表现为“通知类 Delivery”,在本规范中一并说明。
4.1 采购域单据
4.1.1 单据清单与命名
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
PO |
|
|
|
|
|
|
|
PGR |
|
|
|
|
|
|
|
PRO |
|
|
|
|
|
|
|
PRI |
|
|
|
4.1.2 小结(设计建议)
-
采购域中,PO 是核心指令单,PGR/PRI 是结果单; -
采购申请 PRQ 可选,用于加强内部流程与审批,不强制要求每个系统实现; -
采购退货场景中建议清晰区分: -
PRO = 意图与协商; -
PRI = 实际发货结果。
4.2 销售域单据
4.2.1 单据清单与命名
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
SO |
|
|
|
|
|
|
|
SDN |
|
|
|
|
|
|
|
SRO |
|
|
|
|
|
|
|
SRR |
|
|
|
4.2.2 设计建议
-
建议保持 SO 始终扮演“指令单”角色,不要让 SO 同时承担结果职责; -
出库结果统一沉淀在 SDN/SRR 等结果单里,便于对账与财务处理; -
退货场景同样遵循“指令单 + 结果单”二段式设计,有利于处理多次分批退货。
4.3 配销与门店相关单据
在新零售场景,总部与门店之间常用 配销单,它既像销售,又像调拨。
|
|
|
|
|
|
|
|---|---|---|---|---|---|
|
|
|
|
DSTO |
|
|
|
|
|
|
DRO |
|
|
具体是走“销售型”还是“调拨型”,可以在配销单上通过业务类型字段区分,后续生成不同的结果单(销售出入库或调拨出入库)。
4.4 调拨与库存调整类单据
|
|
|
|
|
|
|
|---|---|---|---|---|---|
|
|
|
|
STO |
|
|
|
|
|
|
TIN |
|
|
|
|
|
|
TRN |
|
|
|
|
|
|
DTO |
|
|
|
|
|
|
STA |
|
|
4.5 盘点与其他出入库单据
|
|
|
|
|
|
|
|---|---|---|---|---|---|
|
|
|
|
SCO |
|
|
|
|
|
|
IGB |
|
|
|
|
|
|
ILB |
|
|
|
|
|
|
MRN |
|
|
|
|
|
|
MIN |
|
|
设计建议:
-
盘点在 ERP 中主要表现为 计划单 + 结果单(盘盈/盘亏); -
WMS 侧只需要一张 盘点单 + 盘点结果,回传盘点结果到 ERP 之后,再由 ERP 将差异转为 IGB/ILB; -
其他入出库单建议统一使用 Miscellaneous前缀,避免“Other”带来的语义歧义。
4.6 组装与拆卸单据
|
|
|
|
|
|
|
|---|---|---|---|---|---|
|
|
|
|
ASO |
|
|
|
|
|
|
DSO |
|
|
这两类单据可选择是否推送至 WMS,根据企业是否在仓储侧执行实物组装/拆卸决定。
五、WMS 系统单据命名规范(中等规模国产方案)
5.1 入库环节(Inbound)
中型 WMS 里,入库环节的“黄金组合”可以概括为:
-
预知 / 预约:知道“货要来”—— 预发货通知单 / 到货预约 ASN(可选); -
收货主单:在 WMS 里落一张“我要收哪些货”的主任务—— 入库单 Inbound Order; -
质检(可选):部分行业需要独立 质检单; -
上架指令:指导工人从暂存区把货搬到具体库位—— 上架单 / 上架任务。
推荐的命名整理如下:
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
|
ASN |
|
|
|
|
|
|
|
IB
|
|
|
|
|
|
|
|
QC |
|
|
|
|
|
|
|
PA |
|
|
这里特意强调:
-
对于很多中型仓来说,“入库单 IB” 是 WMS 的核心入库单据,ASN/质检/上架都可以视业务复杂度逐步加; -
如果你想极简,甚至可以:** ERP → 生成入库单 → 收货 + 上架一次性完成**,后续再慢慢拆出 ASN、质检、上架任务。
5.2 出库环节(Outbound)
出库环节往往比入库复杂一些,因为会涉及波次、拣货策略、打包等。但在中型 WMS 里,我们仍然可以控制在一套“看得懂”的单据里:
-
出库主单: 出库单 Outbound Order (OB),承接 ERP 的发货需求; -
波次(可选): 波次单 Wave (WAV),用来把多张出库单打包优化拣货路径; -
拣货任务: 拣货单 Pick List (PK/PL),工人拿着去货架上找货; -
打包与发运: 装箱单 Packing Slip (PS)+发货单 / 运单 Delivery Note / Waybill (DN/BL)。
推荐的命名整理如下:
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
|
OB |
|
|
|
|
|
|
|
WAV |
|
|
|
|
|
|
|
PK / PL |
|
|
|
|
|
|
|
PS |
|
|
|
|
|
|
|
DN / BL |
|
|
5.3 库存管理环节(Inventory & Internal)
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
|
CC / PI |
|
|
|
|
|
|
|
TO / MV |
|
|
|
|
|
|
|
ADJ |
|
|
5.4 中型国产 WMS 的“最小必要单据”
如果你只想做一套“不复杂但靠谱”的 WMS,可以优先把下面这些单据做好,其余的按需渐进增加。
-
入库类: 入库单 IB(必备),上架任务 PA(建议有,可以做成虚拟); -
出库类: 出库单 OB、拣货单 PK/PL、发货单 / 运单 DN/BL(必备),波次单 WAV、装箱单 PS(按业务复杂度选择); -
库存类: 盘点单 CC/PI、库存调整单 ADJ(必备),移库单 TO(建议有,但也可先做成“即时移库”流水)。
ASN、质检单、上架单、波次单等,都可以根据项目阶段和客户成熟度,选择“先用状态字段/流水代替,后面再升级成正式单据”。整体的命名和分层逻辑,仍然遵循前文的:指令单 → 执行单 → 结果单,但不需要为了概念而造太多“虚单”。
六、ERP 与 WMS 之间的单据链路示例
本节用若干典型场景,说明 指令单 / 执行单 / 结果单 在 ERP 与 WMS 之间的映射关系。
6.1 采购入库场景
-
ERP 创建采购订单 Purchase Order (PO)—— 指令单; -
ERP / OMS 基于 PO 下发 ASN给 WMS,或直接在 WMS 生成入库单 Inbound Order (IB); -
WMS 基于 PO / ASN 生成 入库单 Inbound Order (IB)—— WMS 侧入库主单; -
仓库在 IB 下完成收货、(可选)质检,并执行 Put-away Task (PA)上架,形成收货 / 上架记录; -
WMS 将收货结果汇总回传 ERP,生成 Purchase Goods Receipt (PGR)—— 结果单。
|
|
|
|
|
|
|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6.2 销售发货场景
-
ERP 产生 Sales Order (SO)—— 指令单; -
ERP 将发货需求下发给 WMS(可以通过 Outbound Delivery (OD),也可以直接在 WMS 生成出库单); -
WMS 生成 出库单 Outbound Order (OB),作为出库主单,承接所有待发货明细; -
WMS 基于 OB 生成 拣货单 Picking Order / Pick List (PK/PL)等执行单,必要时再生成波次、装箱等; -
WMS 完成拣货、装箱、交接,形成发货记录 / 发货单(Delivery Note),并将结果回传 ERP; -
ERP 基于回传结果生成 Sales Delivery Note (SDN),作为正式出库结果。
|
|
|
|
|
|
|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6.3 调拨场景
-
ERP 创建 Stock Transfer Order (STO)—— 指令单; -
ERP 将调出需求下发给 WMS,WMS 生成一张类型为“调拨出库”的 出库单 Outbound Order (OB); -
WMS 基于该出库单生成拣货 / 移库任务( Picking / Move Task),完成调出; -
WMS 将调出结果回传 ERP,生成 Transfer Issue Note (TIN)—— 调拨出库结果单; -
在调入仓,WMS 生成一张类型为“调拨入库”的 入库单 Inbound Order (IB),并据此完成收货、上架; -
WMS 将调入结果回传 ERP,生成 Transfer Receipt Note (TRN)—— 调拨入库结果单; -
若出库与入库数量不一致,ERP 生成 Stock-in-Transit Adjustment (STA),用于平掉在途差异。
|
|
|
|
|
|
|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
七、最佳实践与常见错误
7.1 推荐实践
-
统一三层模型:设计任何新单据时,先问清楚——它是指令单、执行单还是结果单; -
尽量沿用行业缩写:PO、SO、ASN、IB、OB、PA、PK、CC/PI、ADJ 等不需要重新发明,能直接借用就借用; -
ERP × WMS 职责清晰:ERP 专注业务意图、合同和财务结果(Order / Receipt / Issue),WMS 专注执行任务(IB/OB、拣货、上架、盘点等),不要在两个系统里各造一套“相似但不同”的单据; -
WMS 结果尽量回传到 ERP 形成“结果单”:收货、发货、盘点差异等最终都沉淀在 ERP 的结果单据里,WMS 只保留必要的作业记录和调整单,不演变成第二套账务系统; -
命名 + 字段组合表达含义:对于“采购入库 / 退货入库 / 调拨入库”这类差别,优先用同一张 入库单 IB+ 来源类型字段来区分,而不是发明三张风格完全不同的新单据; -
先收敛,再扩展:前期优先把“最小必要单据”(IB、OB、PK、DN/BL、CC/PI、ADJ)打磨稳定,再视业务需要逐步引入 ASN、质检单、波次单等增强项。
7.2 需要避免的错误
-
一个单据同时承担“意图 + 结果”的角色,例如让销售订单 SO 既当指令又直接改库存,除非是一些简单的单据; -
同一个缩写对应多个不同含义的单据,例如 IB 既被当成 Inbound,又在别处被解释成 Inventory Balance; -
过度滥用 Other/Misc作为前缀,导致Other Receipt/Issue包含的范围过宽、实现人员和业务人员都说不清具体场景; -
WMS 侧自己再造一套“业务指令单”(比如“WMS 销售订单”“WMS 采购订单”),与 ERP 的业务单据角色重叠,增加系统之间对账与对齐成本; -
为了“看起来专业”而引入大量抽象名词(Transaction、Confirmation 等),但在界面和接口里并没有真正承担独立职责,最后反而让团队记不住、说不清。
八、附录:标准单据清单总表(按系统 × 层级)
注:以下为常用单据总表,可根据企业实际情况裁剪。
|
|
|
|
|
|
|
|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
这篇规范可以作为你后续所有供应链系统设计的“总参照”。当你要新增一个单据时,只需要先回答三件事:
-
它是 指令单、执行单还是结果单? -
它属于 哪个业务域(采购/销售/库存/调拨/配销/加工)? -
它在 ERP 还是 WMS 中主导?
然后对照本规范中对应的命名模板与缩写即可快速落地。




