秘豆,手误拆单后,我的订单拆单里不显示是为啥,哪也找不见了

关于订单拆单管理中的拆单一直鉯来都想写一下但每次计划写的时候却感觉拆单更多的是在其程序处理逻辑上,想描述清楚或者说其具体的实现还是挺难的要不就是畫个程序处理流程图,与我想表述的又不太一样

但总是止步不前,永远也弄不出来利用两天时间整出来这一篇,希望您看过能够清楚拆单是什么在拆单的流程中系统都做了哪些工作,它的一些规则有哪些等等!

在网上购买商品下单成功后过一段时间再次浏览时,有時会发现你的订单拆单会变成两个或多个这就是系统做了拆单而导致的。

拆单就是将一个大的订单拆单依据某些规则的集合,将其分解成两个或多个子订单拆单的过程原来的订单拆单称之为父订单拆单。

通常我们所说的拆单一般情况下是指用户的销售订单拆单但在實际业务中,拆单情况随处可见如采购订单拆单的拆分、调拨单的拆分等等。本篇后续都是以销售订单拆单的拆单讲述的请知悉!

在互联网电商系统中销售订单拆单是与C端用户关联最紧密的,单据量是最大的是影响用户体验的,且拆单的规则相对来说是比较复杂的

折单要求数据准确、及时,因为拆单后的子订单拆单是需要流入到仓储进行生产作业的它会进行拣货、出库、配送等一系统的流程,它吔是后续财务系统对账或结算、数据分析的重要数据来源

用户在APP等平台下单后,由于商品的库存数量不满足可能在前端进行拆单,即鼡户自己选择是否需要拆单可以按最快送达最小拆单的规则进行。

看到这里您可能会有点疑惑库存不足时还能下单吗?现在很多网站上当商品不足时用户需要自行修改数量然后才能下单。

确实如此现在这种场景少了,但是有的商家为了提升客户体验对于商品可鉯多仓发货时。因为单仓缺货而需要拆单时由用户来选择决定是否购买,这应该也是为了提高转化率的一种方式

还有一种场景,订单拆单涉及多商家需要单独付款的情况下,前端会直接进行拆单但现在基本上都是合单支付了,这种拆单会使用户体验降低

此外,有嘚商家既卖国内商品也卖海淘商品,如果都混在一块那么在支付前是需要进行拆单的,因为海淘商品要求用户的身份认证等信息的检驗

在多数情况下,都是用户下单完成后由系统进行在后台进行拆单,拆单是要结合公司业务场景去考虑的

拆单除了以上几种场景,對于用户下单时系统上还会有什么操作吗

有一种情况即用户下单时系统要根据用户选择的收货地址、商品等信息,判断是否有库存订單拆单应该归属哪个仓库,是否可以购买等这个服务严格来讲应该归属于商品库存服务,但是也可以将其称为预拆单

预拆单一般是调鼡仓储服务进行库存的判断,同时还要根据促销活动进行一些优惠计算所有的这些都需要前端系统在处理时对订单拆单商品进行一些标識,以便当用户支付成功后订单拆单流转到OMS系统进行物理拆单。

前端用户下单成功后订单拆单经过OMS的拉单服务快速流转到订单拆单中惢,便开始订单拆单的再生成过程订单拆单拆分后的子订单拆单会展示给用户,原订单拆单一般不需要再展示便于用户跟踪和查看。

所以在从用户角度来看一种是可以直接看到结果的拆单和一种无感知的预拆单过程。

预拆单是伴随着购物流程进行的这里不多讨论,洇为这个究竟是否属于拆单也是要看我们如何定义正常情况下用户选购商品完成后,系统不会拆单因为用户有可能取消订单拆单或未支付成功。

拆单的时点是要在 “订单拆单支付成功” 后进行且需要前端订单拆单已经流转到后端生产库,在订单拆单中心进行处理

在湔面有一种场景,如果购物中心不能合并支付时在购物车中便拆分为几个订单拆单,这时的拆单可以定义为一次拆单也可以归属于购粅流程,因为用户不提交就不会生成订单拆单号不会保存各个订单拆单的数据。

在用户支付成功后各个订单拆单同样是要向后台流转,经过拆单服务的处理才可以继续进行下面的生产

在前面讨论拆单场景时提到一种缺货拆单,这种场景的拆单是在用户下单支付成功后订单拆单有可能已经拆分为不同的子订单拆单,但因某种原因仓库无货而导致的拆单

这时拆单的时点是灵活的,一般是在客服系统中根据用户的反馈确定是否拆单的。

缺货是影响用户体验的但是缺货是始终客观存在的。

从上图看拆单应该为三级,即用户创建的订單拆单为父订单拆单然后经过拆单服务正常的分为多个子订单拆单为第二级,后续因为缺货等原因子订单拆单再次拆分为子(孙)订单拆单

在数据设计上,一般情况子订单拆单与父订单拆单的关联都通过ParentID来进行关联但三级以上时,涉及原始订单拆单的查询较麻烦

具體看数据结构如何设计了,可以再增加一个原始订单拆单号来记录最初的订单拆单号方便统计查询等,负责拆单服务的同学可以详细讨論下

为了避免订单拆单的复杂度及系统的查询、统计、分析等数据处理的难度,订单拆单最好最多到三级不宜过多

以前专门梳理过訂单拆单状态的文章详见《》,在拆单过程中也涉及订单拆单状态的变换。

  1. 当父订单拆单拆分为子订单拆单后子订单拆单生效,父订单拆单应该置为无效
  2. 子订单拆单或父订单拆单经过缺货拆单后,原订单拆单状态是无效还是其它
  3. 订单拆单拆单后状态应该置为“待下发”即需要通过下发服务,将订单拆单推送给仓库发货
  4. 如果订单拆单已经下发到仓库后需要缺货拆单,单据状态应保留原状态

这些都属於细节,但不得不考虑因为订单拆单的状态涉及到其他业务系统的计算和统计。

如:财务系统在应付报表时是根据支付订单拆单进行统計和对账的如果订单拆单状态是无效的,那么系统如何获取此部分数据

BI有些统计分析是按状态和订单拆单数量等进行统计的,如客单價、有效订单拆单数等等

所以针对拆单而导致的订单拆单状态是否应该区分原有的订单拆单状态分别标识,是需要综合考虑的

拆单的原因我们已经清楚,拆单的目的是为了保证履单拆单的原则是什么?

  1. 首先是最小拆单原则即能拆两单,不能拆成三单因为多拆一单鈈仅是单据数量的增加,它会增加系统的复杂度降低用户体验,加大仓库作业量增加运费费用等。
  2. 最快送达原则拆出的子订单拆单偠快速生产,快速送达这个是增加用户体验的最好办法。但是快速送达依赖于仓储物流的布局,这个在多仓可以发送到一个城市时尤為重要

一般情况下,拆单要遵循这两条原则同时我们也看到拆单服务,是依赖于基础信息配置的电商系统最复杂的是很多地方都有關联。

拆单的规则因每个公司的业务不同而不同这里罗列一些常见的规则供参考。

(1)不同商家的订单拆单需要进行拆分

这个主要应用於平台型的电商一般情况用户购买商品都进入不同的店铺,创建的订单拆单也是归属这个商家的但有的平台采用合单支付,即用户选購不同商家的商品但支付是一次的。

这个和淘宝有些不同淘宝上每个商家的收款账号是不同的,所以不能一次支付但平台商家是平囼代收款的,所以可以一次支付后再拆单分摊金额

(2)不同仓或不同供应商的商品需要进行拆单

仓库不同订单拆单需要分开,对于不同嘚供应商订单拆单主要是指由供应商直接发货的订单拆单即商品不存储在仓库由供应商直送到用户,这个和平台商家类似但是区别是簽署的合同不同,一个是购销合同一个是佣金扣点合同,细节不展开了有兴趣可以留言交流。

(3)商品类型不同需要拆单

一般区分奢侈品或有特殊要求的商品这个需要业务根据商品要求进行设置。因为商品要求不同后续在物流环节采用的物流产品类型也不同,物流費用也不同这部分也可以根据商品信息,在仓储进行处理但最后在上位能够提前区分。

(4)商品温控属性不同要进行拆单

此部分一般昰指生鲜电商而言同一个仓库有常温仓、冷藏仓、冷冻仓,存储着不同的商品商品的拣货、包装等都有不同的要求,所以需要进行拆單

大件商品与普通商品不同,它在仓库的存储位置、拣货方式、包装、运输都有所区别所以大件商品需要每一件都拆单,大件商品一般遵循最快送达不需要最少拆单原因的限制。

这个是针对缺货商品进行的拆单即有库存的一单,无库存的一单如果是二级订单拆单,则父订单拆单相同子订单拆单衍生出子订单拆单,子订单拆单1的过程

(7)线下门店商品不拆单

如果是线下门店购买商品,则不需要拆单

(8)组合商品不能拆单

在促销活动中,有时会有一些大礼包等商品的组合销售即A,B,C等商品经过仓库的组合包装后出库,所以针对此類商品不能拆单

在拆单服务中需要调用物料单信息,进行判断具体的要看系统如何设计了。

拆单的规则很多在系统处理时,要依赖於规则设置的优先级来进行

找所有商品在所有库房最稀缺的商品,获取该商品的阶数

找稀缺商品的都需要仓库组合,这些仓库是必须發货的把这些仓库计入发货列表,这样就降阶了剩余仓库再计算组合,减少运算数量

找第一阶的仓库列表(发货量最大的仓库),這个库房的库存是必须要发的然后再找次发货量最大的仓库,以此类推用于后面的组合计算。

按照仓库顺序逐渐增加仓库个数找组合

算法也只是拆单过程中的一个路径参考,且算法依赖于拆单的规则而制定无论如何要保证拆单的结果准确,拆单的速度要快

以上一矗在讨论拆单是由1变2,由2变4的一些内容在具体的拆单服务系统中要考虑哪些内容,又有哪些工作

  1. 前面所说的都应该在设计时考虑,而苴最重要的是要依赖规则进行设计数据的流转,时序等等
  2. 金额分摊是拆单中最重要的一部分工作,也是最复杂的

父订单拆单的拆分,商品的重新组合生成新的订单拆单是第一步,第二步就是要将父订单拆单的金额合理的正确的分摊到各个子订单拆单上。

订单拆单┅般分为订单拆单主表和订单拆单商品表、订单拆单支付明细表和订单拆单活动表

订单拆单金额有几个主要的部分:订单拆单商品金额、折扣金额、礼品卡支付金额、积分支付金额、优惠券支付金额、订单拆单支付金额等几个部分。

运费是订单拆单表中一个特殊字段运費如何分摊是要特殊考虑的,一般情况是按金额占比进行所以生成的子订单拆单中各部分金额,也要保证与父订单拆单金额一致

订单拆单商品表、支付明细表、活动表属于明细信息,要根据原始订单拆单明细表的数据和标识进行计算分摊

子订单拆单的金额要保证横向、纵向都正确才行,横向是指子单的合与父单金额一致纵向是指子单订单拆单主表与明细表金额一致。

此外在金额分摊计算过程有一項重要规则不可避免,即开票金额的考虑

这部分金额的分摊与公司缴税息息相关,单据与发票要一致要考虑商品信息、活动规则等等,非常复杂

有的拆单服务将金额分摊独立出来,以降低对拆单的影响提高订单拆单流转速度。

由于拆单后订单拆单才会下发到仓储或商家进行生产所以对于速度要求就是

在系统设计时可以依据规则等综合考虑多线程是最常用的方法,但多线程需要考虑资源竞争囷安全性一般情况,如果下单后已经确定了仓库那么可以按仓库启动多个服务,这样可以避免程序的难度

对于拆单和下发在系统上吔要有数据监控,不能出现积压的情况如果拆单有异常时,在定时任务中很多情况都是依赖一个信息字段的状态来进行循环处理,在垺务中要有容错处理不能一直停滞不前。

什么是拆单为什么拆单?如何拆单前面说了很多,但对于拆单有什么影响呢

先说一个场景,公司搞促销活动买A赠B,但A与B商品的温控属性不同所以用户下单后一定会拆单。

拆单后仓储拣货、发货是根据子订单拆单进行的佷有可能赠品B先发货了,A后发货用户先收到B签收了,然后A进行拒收或取消此时,如果在拒收或取消A时不判断关联子订单拆单那么公司就会损失B。

如果判断关联子订单拆单的状态那么系统的复杂度将会非常之大,因为实际场景中一个父单拆为多单时是很常见的

拆单後,子订单拆单数量增加对于客单价、统计分析等报表需要考虑其影响,维度和统计口径不同数据结果必然不同,从而会影响到经营汾析及决策

影响,对于不同的业务有不同的理解作为产品研发应该在拆单设计时还是需要要将利害与业务说清楚,尤其是运营人员(活動方面重点考虑)虽然这属于一个后台服务。

拆单是复杂的合理的拆单会加快订单拆单的流转,友好的用户体验过度拆单则会产生冗余的数据,增加订单拆单的复杂关系统计、计算、售后等各个环节。

以上是我对拆单的一次梳理与总结感谢您的阅读!

作者:倔强嘚大萝卜;公众号:倔强的大萝卜

本文由 @倔强的大萝卜 原创发布于人人都是产品经理,未经作者许可禁止转载。

实名认证找我领5元红包0撸200多,吔可以有扶持

? 新开盘,BDC币子母币模式,总量1亿枚注册实名认证送矿机产138个币,子币上交易所母币平台交易,开盘价1元

?最独特价格控盘机制,全网首创??

?最特色荣誉合伙人机制全网唯一??

?最严防刷认证系统,营造最安全环境??

?1.0~3.0最清晰规划长久大盤独一无二??

app内所有资料集全,正规项目!速度上?!

BDC 上线火爆活动进行中:


实名送矿机 30天产138币



加客服进群奖励 10DT


我要回帖

更多关于 订单拆单 的文章

 

随机推荐