拆单|OMS订单拆单的流程中,要做哪些工作?( 三 )


7. 线下门店商品不拆单如果是线下门店购买商品,则不需要拆单。
8. 组合商品不能拆单在促销活动中,有时会有一些大礼包等商品的组合销售,即A,B,C等商品经过仓库的组合包装后出库,所以针对此类商品不能拆单。
在拆单服务中需要调用物料单信息,进行判断,具体的要看系统如何设计了。
拆单的规则很多,在系统处理时,要依赖于规则设置的优先级来进行。
十、拆单算法1. 稀缺商品算法找所有商品在所有库房最稀缺的商品,获取该商品的阶数。
2. 降阶找稀缺商品的都需要仓库组合,这些仓库是必须发货的,把这些仓库计入发货列表,这样就降阶了,剩余仓库再计算组合,减少运算数量。
3. 抽屉原理算法找第一阶的仓库列表(发货量最大的仓库),这个库房的库存是必须要发的,然后再找次发货量最大的仓库,以此类推,用于后面的组合计算。
4. 找组合按照仓库顺序逐渐增加仓库个数找组合。
算法也只是拆单过程中的一个路径参考,且算法依赖于拆单的规则而制定,无论如何要保证拆单的结果准确,拆单的速度要快。
十一、拆单服务两步重要工作以上一直在讨论拆单是由1变2,由2变4的一些内容,在具体的拆单服务系统中要考虑哪些内容,又有哪些工作?

  1. 前面所说的都应该在设计时考虑,而且最重要的是要依赖规则进行设计,数据的流转,时序等等。
  2. 金额分摊是拆单中最重要的一部分工作,也是最复杂的。
父订单的拆分,商品的重新组合,生成新的订单是第一步,第二步就是要将父订单的金额合理的,正确的分摊到各个子订单上。
订单一般分为订单主表和订单商品表、订单支付明细表和订单活动表。
订单金额有几个主要的部分:订单商品金额、折扣金额、礼品卡支付金额、积分支付金额、优惠券支付金额、订单支付金额等几个部分。
运费是订单表中一个特殊字段,运费如何分摊是要特殊考虑的,一般情况是按金额占比进行。所以生成的子订单中各部分金额,也要保证与父订单金额一致。
订单商品表、支付明细表、活动表属于明细信息,要根据原始订单明细表的数据和标识进行计算分摊。
子订单的金额要保证横向、纵向都正确才行,横向是指子单的合与父单金额一致,纵向是指子单订单主表与明细表金额一致。
此外,在金额分摊计算过程有一项重要规则不可避免,即开票金额的考虑。
这部分金额的分摊与公司缴税息息相关,单据与发票要一致,要考虑商品信息、活动规则等等,非常复杂。
有的拆单服务将金额分摊独立出来,以降低对拆单的影响,提高订单流转速度。
十二、拆单的速度要求由于拆单后订单才会下发到仓储或商家进行生产,所以对于速度要求就是快。
在系统设计时可以依据规则等综合考虑,多线程是最常用的方法,但多线程需要考虑资源竞争和安全性。一般情况,如果下单后已经确定了仓库,那么可以按仓库启动多个服务,这样可以避免程序的难度。
对于拆单和下发在系统上也要有数据监控,不能出现积压的情况。如果拆单有异常时,在定时任务中,很多情况都是依赖一个信息字段的状态来进行循环处理,在服务中要有容错处理,不能一直停滞不前。
十三、拆单的影响什么是拆单?为什么拆单?如何拆单?前面说了很多,但对于拆单有什么影响呢?
先说一个场景,公司搞促销活动,买A赠B,但A与B商品的温控属性不同,所以用户下单后一定会拆单。
拆单后仓储拣货、发货是根据子订单进行的,很有可能赠品B先发货了,A后发货。用户先收到B签收了,然后A进行拒收或取消。此时,如果在拒收或取消A时不判断关联子订单,那么公司就会损失B。
如果判断关联子订单的状态,那么系统的复杂度将会非常之大,因为实际场景中一个父单拆为多单时是很常见的。
拆单后,子订单数量增加,对于客单价、统计分析等报表需要考虑其影响,维度和统计口径不同,数据结果必然不同,从而会影响到经营分析及决策。
影响,对于不同的业务有不同的理解,作为产品研发应该在拆单设计时还是需要要将利害与业务说清楚,尤其是运营人员(活动方面重点考虑),虽然这属于一个后台服务。
十四、总结拆单是复杂的,合理的拆单会加快订单的流转,友好的用户体验,过度拆单则会产生冗余的数据,增加订单的复杂关系,统计、计算、售后等各个环节。