订单中心:一笔订单从下单到完成,要经过多少个系统的”手”?

0 评论 205 浏览 5 收藏 17 分钟

这是「电商产品能力拆解」系列的第6篇(上篇)。上一篇讲了价格体系——5层价格分层、促销叠加矩阵、价格计算引擎、多渠道价格冲突。这一篇进入交易链路的核心:订单中心。上篇讲基础体系(订单生命周期、状态机、拆单合单规则),下篇讲进阶场景(异常订单处理、逆向流程、订单编排引擎)。

先看一段订单需求的血泪史

品牌X 搭建自营电商,产品经理小A接手订单模块。体验了十几个电商APP后,画了第一版PRD:下单 → 待付款 → 已付款 → 已发货 → 已签收 → 已完成。 五个状态,简洁清晰。

然后被打回了五轮。

Round 1 · 开发: “已付款直接跳已发货?WMS收不到指令。”——打回,加履约节点。5个状态变8个。

Round 2 · 测试: “退款的路呢?已付款取消和未付款取消能一样吗?”——打回,补退款流程。8个变12个。

Round 3 · 运营: “评价呢?不评价怎么做好评返现?”——打回,补评价链路。

Round 4 · 供应链: “三个仓怎么发?不拆单,一个仓怎么发另一个仓的货?”——打回,加拆单逻辑。

Round 5 · 财务: “拆完怎么分摊优惠?退一件退多少钱?按原价退我们就亏了。”——打回,加金额分摊。

前前后后磨了两个多月,从5个状态膨胀到18个,砍掉”不是第一期的”,最终定稿12个状态。PRD终审通过那天,小A在工位上趴了十分钟。

老张——技术负责人——拍了拍她的肩:“别泄气。订单没有人第一版就能过。它不是一个模块的活,是好几个系统配合跑完一条链路。开发关心履约、测试关心异常、运营关心体验、供应链关心发货、财务关心钱——每个角色看到的切面都不一样,所以每个人都能挑出你没想到的东西。”

订单中心,是电商系统里看着最简单、但需求阶段被批斗最狠的模块。

商品管理最怕属性缺失,库存最怕超卖,价格最怕改错——订单最怕的是”谁都能挑出毛病”。因为订单不是一个人的需求,是多个系统协作的总枢纽。

如果你也经历过”每次评审都被打回”——今天这篇就是为你写的。

今天拆6道关。

先对个表——你在哪一层:

第一关:一笔订单到底长什么样——订单三层结构

第一轮评审被打回后,小A不服气地问老张:“一笔订单就是一条记录吧?我PRD里就是按这个设计的。”

老张说:“你以为是一张表,其实是三层楼。你那5个状态为什么被打回?不是状态不够——是你只看到了第一层的表面流程。”

订单三层模型:父订单 → 子订单 → 商品行

为什么一定要三层?

老张拿第四轮评审供应链提的问题举例:“你就一张订单表,三个仓怎么发?退一件退多少钱?”

答案就三句话——

展开说:父订单管“钱从哪来”——用户只看到一笔支付、一个订单号,不管后面拆了几个包裹;子订单管“货往哪发”——一个子单 = 一个仓 + 一次发货 + 一条物流轨迹,互不阻塞;商品行管“账怎么算”——每个SKU一行,退款按行级优惠分摊精确到分,对账笔笔清楚。

三层口诀: 用户看父单,仓库看子单,财务看商品行。三层各管各的,谁都不乱。

品牌X 的教训

品牌X 花了两个月把订单系统从”一层扁平”改成”三层结构”,补上了小A最初漏掉的子订单层和商品行层。老张总结了一句话:

如果你的订单表里没有“子订单”这一层,你迟早会遇到“退不了、拆不开、对不上”这三个问题。

第二关:一笔订单从创建到完成,经过了多少个节点

小A问老张:“订单创建之后就是等发货、等签收,然后完成?”

老张画了一张图:“你第一版5个状态,为什么被打回了四轮才定到12个?因为系统实际要跑12步,每一轮评审挑出来的都是你漏掉的关键中间态。”

订单生命周期全景

用户看到的5步,和系统实际跑的12步,到底怎么对应?往下看——

每个节点到底做了什么

品牌X 真实踩坑: PRD里写了”支付成功→待发货”,但没设计支付回调失败的兜底。有一次支付回调延迟了3秒,系统以为支付失败,自动释放了库存。结果用户付了钱但订单变成”已取消”,客服当天处理了400+工单。

重点不是这12个节点你背不背得出来,而是:每个节点失败了,系统有没有兜底方案。

第三关:订单状态机——什么状态能跳到什么状态

小A看完生命周期后问老张:“待支付能直接跳到已发货吗?”

老张说:“不能。这就是状态机的意义——每个状态只能往特定的下一个状态流转,不能乱跳。测试老王评审时问的‘退款怎么走’,本质就是在帮你检查状态机有没有漏路径。”

什么是订单状态机

状态机 = 所有合法的状态 + 所有合法的转换路径。

不在路径上的转换,系统直接拒绝。这是防止数据混乱的底线。

正向状态流转

逆向状态分支

正向很简单,逆向才是订单系统的噩梦。 每个正向节点都可能产生逆向分支:

状态机设计的3条铁律

老张在白板上写了三条规则:

铁律一:状态只能单向流转,不能倒退。

“已发货”不能退回”待发货”。如果发错了,走售后流程,不走状态回退。

铁律二:每次状态变更必须记日志。

谁改的、什么时间改的、从什么状态改到什么状态、触发原因是什么——全部记下来。订单状态日志是客服排查问题的第一手工具。

铁律三:终态不可逆。

“已完成”和”已取消”是终态。到了终态,这笔订单就定了。如果用户在”已完成”之后还要退货,那是新开一笔售后单,不是把订单改回去。

第四关:什么时候拆单——拆单规则全解

回到开头的评审——供应链负责人问的”三个仓怎么发”、财务问的”退一件退多少钱”,根因都是该拆单的时候没拆

拆单的核心逻辑

拆单 = 把一个父订单拆成多个子订单。 什么时候拆?简单说:发货维度不一样的,就要拆。

拆单触发条件

第五关:优惠分摊——不管拆不拆单,这笔账都得算清楚

很多人以为优惠分摊是拆单的附属问题。错了。就算你整笔订单不拆,只要订单里有多件商品,优惠就必须分摊到每个商品行。

为什么?因为退款是按商品行退的。

用户买了3件商品,用了一张满500减100的券。没拆单,一个包裹发出去。用户签收后退了其中一件。问题来了:退多少钱?是按原价退,还是按分摊后的价格退?

如果你没有提前把优惠分摊到每个商品行——退款的时候就算不清楚。要么多退(公司亏),要么少退(用户投诉)。

优惠分摊不是拆单的附属逻辑,而是订单金额计算的基础能力。 不管拆不拆单,分摊都是直接算到每个商品行,子订单的优惠金额只是其下商品行的聚合结果。

分摊怎么算

核心思路:优惠直接按比例分到每个商品行,子单优惠靠聚合得出。

品牌X 的做法: 直接按商品行金额比例分摊 + 尾差归最后一个商品行 + 子单优惠靠聚合得出。

为什么不先分到子单再分到行? 因为退款的最小单位是商品行——分摊的终极目标就是算清每一行分多少,直接一步到位最合理。如果先分到子单再往下分,会产生两次四舍五入,尾差累积后行级金额可能对不上,退款对账就出问题。

一句话记住:分摊永远只在最小粒度(商品行)上做一次,子单只做加法汇总,不做除法分摊。

第六关:什么时候合单——合单比拆单更难

小A以为学完拆单就够了。老张说:“还有反方向——合单。合单比拆单更容易出问题。”

什么是合单

合单 = 把多笔订单合并成一个包裹发出去。 目的是省运费、减少包裹数量、提升用户体验。

合单的典型场景

合单的前提条件

不是什么订单都能合。 系统逐条判断是否满足合单条件,不符合任意一条即终止,只有全部通过才执行合单:

合单之后退款怎么办

合单最麻烦的问题:两笔订单合成一个包裹后,用户要退其中一笔怎么办?

品牌X 的合单策略:

1. 只在”待发货”状态合单,已支付但未进入仓库的订单不合

2. 合单时间窗口30分钟——超过30分钟的两笔订单不合

3. 合单后保留原订单号,物流单号统一,但财务对账仍按原订单分开结算

4. 如果合单后任一订单被取消,自动拆回原状态

一句话记住: 拆单是为了”能退能分开”,合单是为了”省运费少包裹”。先保证能拆,再考虑能合。

自查清单:你的订单系统扎实吗?

能答对9题以上的,你对订单体系的理解已经超过80%的产品经理了。

1. 你的订单系统有“子订单”这一层吗? 还是一个订单号打到底?(没有子订单 = 退不了部分商品)

2. 优惠分摊到商品行了吗? 退一件商品时,系统知道该退多少钱吗?

3. 父订单和子订单的状态是独立的吗? 子订单1已发货、子订单2待发货,父订单显示什么?

4. 支付回调失败有兜底方案吗? 用户付了钱但订单没更新,系统怎么处理?

5. 库存预占超时释放的时间设对了吗? 太短=用户还没付就释放了,太长=库存被白占

6. 每个状态变更都有日志吗? 客服接到投诉时能不能查到完整的状态流转记录?

7. 拆单规则覆盖了几种场景? 按仓/按商家/按商品类型/按预售现货——至少前两个要有

8. 拆单层级有上限吗? 无限拆下去用户体验很差,需要设最大拆单数

9. 不拆单的订单,优惠也分摊到商品行了吗? 这不是拆单才需要的逻辑,而是订单金额计算的基础能力

10. 尾差处理逻辑写清楚了吗? 前N-1行四舍五入,最后一行兜底——确保分摊总和等于优惠总额

11. 合单有前提条件校验吗? 不同仓的订单不能合,不同用户的订单不能合——系统有没有拦截?

总结:6条订单体系认知

一句话总结上篇: 订单中心 = 三层结构 + 12步生命周期 + 状态机铁律 + 拆单规则 + 优惠分摊 + 合单逻辑。小A改了五版、被五拨人轮番challenge,不是她不认真——而是订单天然就是十几个系统的交汇点,每个角色看到的切面都不一样,所以每个人都能挑出你没想到的东西。

下篇预告—— 订单中心(下):异常订单处理、逆向流程设计、订单超时机制、复杂业务下的订单编排引擎。

作者:Zoe产品手记 公众号:Zoe产品手记

本文由 @Zoe产品手记 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自作者提供

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!