一、原来的问题不是没有订单,而是订单没有统一入口
客户原来的订单来源主要有四类:
- 电商平台自动同步的零售订单;
- 业务员在微信里收到客户需求后手工登记的订单;
- 大客户按月度合同或采购计划提交的订货单;
- 售后补发、换货和赠品产生的内部订单。
这些订单看起来都能处理,但字段不一致。平台订单有买家地址、商品 SKU 和支付状态;业务员订单有客户名称和沟通截图,但经常缺收货地址或开票要求;大客户订单有合同价和账期,但不是每次都有明确发货批次;售后订单又和原订单、退换货原因、质检结果关联。
仓库最痛苦的地方,是每天收到的不是一张统一的待发货清单,而是一堆来源不同、格式不同、优先级不同的信息。仓管要反复确认:这个客户是不是欠款,这个商品还有没有库存,这个订单能不能拆单,这个地址能不能发,发错了算谁的问题。
表面看是仓库效率低,实际是订单进入仓库之前没有被系统整理清楚。

二、第一步不是做大屏,而是先定义订单主档
很多老板一开始会想要一个“仓库大屏”,能看到今天有多少订单、多少库存、多少异常。这个方向没有错,但如果订单主档没有统一,大屏只会把混乱放大。
我们先定义了一张订单主档。每一张进入系统的订单,都必须落到固定字段里:
- 订单来源;
- 客户类型;
- 客户名称;
- 业务员;
- 商品 SKU;
- 数量;
- 单价规则;
- 库存占用状态;
- 仓库;
- 收货地址;
- 发货优先级;
- 支付或账期状态;
- 拣货状态;
- 发货状态;
- 售后关联;
- 异常标记;
- 操作日志。
这张主档的价值,不是多做一张表,而是让后面的库存、仓库、财务和经营报表都基于同一套事实。
没有订单主档时,仓库看到的是“要发什么”;有了订单主档以后,系统能继续判断“能不能发、从哪个仓发、谁来拣、是否要拆单、是否要人工确认、异常卡在哪里”。
三、订单归集页面要像工作台,而不是像流水账
OMS 的第一个核心页面是订单归集工作台。
这个页面不能只做成订单列表。因为仓库和运营每天真正要处理的,不是看所有订单,而是判断哪些订单可以直接进入发货,哪些订单需要补信息,哪些订单被库存卡住,哪些订单因为账期或客户规则需要人工确认。
我们把订单归集页面拆成几个视图:
- 待校验:新进入系统但字段还没补齐的订单;
- 可发货:库存、地址、支付或账期都满足规则的订单;
- 待确认:价格、客户、拆单、账期或发货方式需要人工确认的订单;
- 库存不足:商品可售库存不足或被其他订单占用;
- 异常订单:地址异常、SKU 异常、重复订单、售后关联异常;
- 已发货:已生成出库和物流信息的订单。
这个页面的设计重点是让运营人员一眼知道今天该处理什么,而不是把所有订单堆在同一个表格里。

四、库存预警不是看库存数量,而是看可售、占用和在途
很多库存系统只显示“库存数量”,但对真实发货帮助有限。
仓库每天真正关心的是四个数:
- 现有库存;
- 已被订单占用的库存;
- 可售库存;
- 采购在途或调拨在途。
如果只看现有库存,就容易出现明明仓库还有货,却已经被其他订单占用的情况。业务员继续接单,仓库最后只能临时沟通延迟发货。
所以我们在系统里把库存拆成三层:
- 商品库存:每个 SKU 在每个仓的实物库存;
- 订单占用:已确认订单对库存的锁定;
- 可售库存:扣除占用后还能继续承诺的数量。
同时,系统给运营和老板展示预警:
- 低于安全库存;
- 连续高周转商品即将断货;
- 滞销商品占用仓位;
- 大客户订单占用过多库存;
- 在途采购预计到货时间晚于订单承诺时间。
库存预警的目标不是让系统变复杂,而是减少“卖出去了才发现没货”的情况。
五、拣货发货页面要服务仓库现场
仓库现场不喜欢复杂页面。拣货员需要知道今天拣什么、在哪个库位、按什么顺序、是否能合单、是否有易碎或特殊包装要求。
所以拣货发货模块没有做成一个大而全的后台表格,而是做成任务工作台:
- 按仓库、区域、批次生成拣货任务;
- 支持按订单拣货和按 SKU 汇总拣货;
- 标记缺货、破损、错货和待复核;
- 发货前校验订单、商品、数量和物流方式;
- 生成面单、出库单和发货记录;
- 所有异常回写到订单主档。
这一步很关键。系统如果只在办公室好用,到了仓库现场仍然让员工靠纸单和微信群确认,项目就没有真正落地。

六、异常订单要进入异常池,不能散落在聊天记录里
仓配系统最容易被低估的是异常处理。
真实业务里,异常不是少数情况。常见异常包括:
- 收货地址不完整;
- 客户账期超限;
- 商品库存不足;
- SKU 已停用;
- 客户要求拆单发货;
- 大客户要求指定物流;
- 发票信息缺失;
- 售后补发需要关联原订单;
- 仓库发现实物数量和系统库存不一致。
如果这些异常还靠微信群沟通,订单状态就会断掉。运营说仓库没发,仓库说运营没确认,业务员说客户还在等,老板最后只能靠人问。
我们把异常统一放进异常池。每条异常都必须有类型、责任角色、处理时限、处理结果和日志。系统不追求自动解决所有异常,但必须让异常被看见、被分配、被关闭。
七、老板经营报表要看过程,而不是只看销售额
很多管理系统最后都会做老板看板,但看板最容易做成装饰。
这个项目里,老板真正关心的不是今天卖了多少钱,而是:
- 哪些订单来源质量最高;
- 哪些客户经常卡在账期或异常;
- 哪些 SKU 周转快但库存风险高;
- 哪些商品占仓但卖不动;
- 哪些仓库发货效率低;
- 哪些订单经常因为人工确认被延迟;
- 哪些业务员订单信息不完整;
- 哪些售后补发正在增加成本。
所以经营报表不是单纯展示销售额,而是把订单、库存、发货、异常和售后放在一起看。

八、这类 OMS 项目最容易做错的地方
第一,直接照着电商后台做订单列表。企业自己的业务通常比平台订单复杂,大客户、账期、业务员、售后补发和合同价都要被纳入订单主档。
第二,只做库存数量,不做库存占用。没有占用逻辑,库存看起来有货,实际已经被其他订单锁定。
第三,忽视仓库现场。后台页面再漂亮,如果拣货员用起来麻烦,系统最后还是会退回纸单和微信群。
第四,把异常当成备注。异常必须有类型、责任人、处理时限和关闭结果,否则它只是一句聊天记录。
第五,老板报表只看结果,不看过程。真正有价值的报表,应该能看见订单从进入系统到发货完成之间卡在哪里。
九、如果你也要做仓配 OMS,第一版建议先做这些
第一版不要一口气做成完整 ERP。更稳的范围是先跑通一条链路:
- 订单统一进入系统;
- 订单字段自动校验;
- 库存可售数量和占用数量清楚;
- 可发货订单进入拣货任务;
- 异常订单进入异常池;
- 发货结果回写订单;
- 老板能看到订单、库存、发货和异常报表。
如果这条链路跑通,后面再扩展采购预测、供应商协同、财务对账、客户分级价、自动补货和多仓调拨,项目会稳很多。
如果你的企业现在也在用 Excel、微信群和人工核对处理订单和库存,可以先看华茂思捷的核心服务,也可以通过联系咨询把当前订单来源、SKU 数量、仓库数量和发货流程发过来。很多仓配系统不是一上来就重做全套,先把订单、库存占用、拣货发货和异常池跑通,后面的经营报表才有真实价值。
深度复盘:OMS 的核心不是管订单,而是把发货责任变清楚
为了避免把案例写成泛泛的宣传稿,这里只讲可以复用的项目判断和系统设计。客户名称、真实订单量、库存金额和经营数据不公开,也不编造增长比例。真正值得参考的是:为什么订单会乱、哪些字段必须统一、哪些状态要被系统记录、哪些异常不能留在聊天里。
1. 先盘点订单入口,不要先画后台页面
做 OMS 前,先列清楚订单从哪里来。平台订单、业务员订单、大客户订单、售后补发订单、内部调拨订单,每一类订单字段都不同。入口不清楚,后台页面越做越乱。
最实用的方法,是把每类订单拆成三列:谁提交、提交什么、谁确认。只要这三列说不清,系统就不能直接进入开发。
2. 把商品和 SKU 规则整理清楚
仓配系统的基础是 SKU。很多企业商品名称、规格、包装、单位和条码没有统一,导致订单里写的是一个名字,仓库看到的是另一个名字,财务开票又是第三个名字。
第一版至少要统一商品编码、规格、单位、条码、仓库、库位和是否可售。否则订单归集、库存占用和拣货发货都会出问题。
3. 库存状态比库存数字更重要
库存数字只是结果,库存状态才决定业务能不能继续。现货、占用、锁定、待入库、待盘点、待报损、待调拨,这些状态要分清楚。
如果状态不清,系统只能告诉你“还有多少货”,却不能告诉你“还能不能卖、能不能发、什么时候会断货”。
4. 异常池要从第一版就做
很多企业想等系统稳定后再补异常管理,但真实情况是,系统上线第一天就会遇到异常。地址缺失、库存差异、订单重复、客户账期、物流限制都会发生。
异常池不是高级功能,而是仓配系统的基础设施。它让问题被分配、被处理、被关闭,也让老板知道到底是订单问题、库存问题、仓库问题还是客户规则问题。
5. 试运行时要盯员工是否绕开系统
系统试运行最重要的指标,不是页面是否漂亮,而是员工有没有继续回到微信和 Excel。如果员工仍然在系统外确认订单、记录库存、处理异常,说明系统没有接住真实工作。
试运行期间要重点看三类记录:人工修改记录、异常处理记录、员工绕开系统的记录。它们比演示效果更能说明系统是否适合落地。
6. 验收不要只问功能做完没有
更有价值的验收问题是:
- 订单是否都能进入统一主档;
- 库存占用是否准确;
- 仓库是否能按系统任务拣货;
- 异常是否都有责任人;
- 发货结果是否能回写;
- 老板是否能看到过程数据;
- 哪些订单仍然需要人工二次确认。
这些问题比“有没有订单列表、有没有库存表、有没有报表”更接近项目成败。
这类系统的价值,不是让企业多一个后台,而是让订单、库存、仓库、异常和经营判断终于落在同一套流程里。只有这样,仓配管理才不是靠人盯,而是靠系统持续运行。

