真实业务订单 拆单 架构与实战

逆锋起笔

共 1698字,需浏览 4分钟

 · 2020-11-22

点击上方“逆锋起笔”,公众号回复 pdf
领取大佬们推荐的学习资料

本文来源:http://r6d.cn/CRSw

Java生鲜电商中在做拆单的需求,细思极恐,思考越深入,就会发现里面涉及的东西越来越多,要想做好订单拆单的功能,还是相当有难度,

因此总结了一下拆单功能细节,分享出来。

订单拆单

拆单也有两个层次,第一次是在提交订单后支付之前拆单,这次是拆分的订单,一次是在下单之后,发货之前,去拆分发货单(SKU层面)。

两次拆单的原则不同,第一次拆单是为了区分平台商家、方便财务结算,第二次拆单是为了按照最后的发货包裹进行拆单,如不同仓库、不同运输要求的SKU、包裹重量体积限制等因素(第二次拆单的有些步骤可以放在第一步)。

需要注意的是,若是跨境商品平台,则需要在支付前完成所有拆单步骤,因为报关需要三单对碰,订单、支付单、运单统一。

1. 为什么要拆单

拆单,顾名思义就是客户在下单之后,为了发货和结算方便,需要对订单进行拆分。影响拆单的因素主要有以下几点:

  • 店铺商家。由于商品归属权不同,涉及到财务结算和发货的问题,店铺商家不同,需要拆分订单。例如京东自营和平台商家的商品在下单时会拆分成不同的子订单,售后入口不同。或者不同淘宝店同时下单会按照店铺进行拆单。
  • 仓库。由于发货仓库不同,按照商品归属的仓库进行拆单,若有多仓有货,还应按照地域时效选择仓库进行拆单。
  • 品类。由于商品属性和价值得不同,同样会产生拆单需求。例如易碎品需要特殊包装,超大物品(儿童座椅、轮胎)需要单独包装。甚至有些品类不同的商品不能放在一起,都需要来定义拆单规则。
  • 物流因素。不同物流公司对单个包裹的重量或体积都有特殊要求,需要根据sku的毛重和体积计算包裹总重量和体积,超出物流公司限制的也需要拆单。
  • 商品价值。这块的拆单主要是跨境海淘商品,国家政策规定:跨境电子商务零售进口商品的单次交易限值为人民币2000元,个人年度交易限值为人民币2万元。当单次购买超过2000元(单仓)之后,就需要对订单拆单。(总不能告诉用户少买点,不要超过两千吧!)

2. 拆单流程

根据拆单的一些影响因素,需要对订单进行拆分。由于跨境电商和国内电商的区别点:1.跨境电商一般是单品单仓,同一个SKU只在一个仓库有,而国内电商一般有多个区域仓,从时效最高的仓库发货;2.跨境电商需要报关,必须三单统一,所以拆单只能发生在下单后、支付前,而国内电商除了平台商家不同需要在下单时就拆单,其他的拆单步骤可在下单之后再拆发货单;3.报关限额,只有跨境电商需要考虑。

下图简单解析一下拆单的流程:

拆单流程

3. 拆单之后的前端显示

在提交订单之后、支付之前的拆单订单,需要即时显示给用户,若用户中断支付,再回到支付环节,就需要分开支付。用户就能知道,是不同的包裹发过来的,分属不同的子订单。

订单拆分

在支付之后,系统根据一些影响因素进行拆单,同一个子订单可能会对应多个物流单,在订单显示页面查看物流时,需要展示多个物流信息。但是现在多个平台只能一个订单对应一个物流单。有些订单无法通过一个包裹就能发货,在信息反馈给客户上就会有些瑕疵。关注公众号 逆锋起笔,回复 pdf,下载你需要的各种学习资料。

关于支付单,虽然基本所有平台都会通过合并支付的方式简化支付环节,但是不同的子订单都是可以拿到不同的支付单号的,这样就有利于售后和财务管理,对于跨境商品,还有报关的作用。

小结

拆单的系统比较复杂,要做的完全彻底,对大部分电商公司有很大的困难,这需要打通从订单系统到WMS系统的许多环节,所以需要在产品设计上进行取舍,根据平台的具体需求来确定拆单需求的优先级。




墙裂推荐

程序员必知的 7 种软件架构模式

优酷 iOS 插件化页面架构方法

这是我看过关于微服务架构最好的文章

从 VSCode 看大型 IDE 技术架构

今日头条技术架构分析



点个『在看』支持下 

浏览 29
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报