电商项目之订单拆分
电商项目之订单拆分
什么是订单拆分:
从理论上来看, 提交的订单并非不可分割的整体单位; 其实, 它不是一个最小颗粒度的实体单位, 而是可以被分解为多种可能性或方式的具体事物. 具体而言, 则需根据不同业务场景来决定如何进行拆分.
为什么要订单拆分:
之所以要订单拆分,一般会有以下的几种原因。
- 仓库原因
- 店铺原因
- 跨境商品原因
- 物流原因
- 商品品类
1. 仓库存储原因
许多大型电商企业(例如:京东集团、唯品会等)均设有自己的仓储系统。企业依据历史销售数据进行仓储布局安排。若订单涉及不同仓储区的商品,则需要将不同仓储区的商品拆分成独立批次处理以避免混送问题。
在各大电商平台(如天猫、淘宝、拼多多等)中,入驻商家数量众多且活跃度较高。当用户的订单涉及多个店铺结算时,在线支付系统通常会将这些订单拆分成多个部分进行处理。这种情形与库存管理和货物分配的方式具有相似性,在这种情况下,每个入驻商家可以被视作一个独立的物流节点或服务单元。
对于跨境商品业务而言,在操作过程中需要协调处理支付单、核运单以及相关的三单信息。具体来说,在进行跨境交易时会遇到"三单对碰"的情况:即每一次下单都需要同时处理支付、运输以及报关等环节。此外,在实际操作中存在一定的金额限制要求:每笔单独交易的金额不得超过2000元;而整个年度累计金额不得超过2万元。当遇到一笔交易金额超过上述标准时,则必须将该交易拆分成多个小额交易(每笔子交易均不超过2000元),并为每个小额交易单独生成对应的子订单编号以及物流编号以确保顺利通关
4. 物流原因
各物流公司对单件包裹的重量与体积有具体要求。例如如部分物流公司(如‘邮政小包’)规定单件包裹不得超过20公斤,并且还有一种情况:一个10公斤的包裹可能比两个5公斤的包裹收费更贵。此外还有一种情况:一个10公斤的包裹可能比两个5公斤的包裹收费更贵。从物流成本角度考虑通常也会将一个订单拆分为两份
部分商品品类需采取特殊包装方式以确保安全送达。其中如玻璃器皿等物品应单独包装以防破损,在线下单时系统会自动识别并标记此类包裹。此外对于体积较大的家电类电器包括但不限于电冰箱洗衣机电视机等也需采用专门的防震包装措施避免配送过程中的意外损坏。特别地当一个订单中同时包含这类物品时通常会将该订单分成多个小包裹分别配送以减少运输过程中的风险
什么时候拆分订单
订单拆分时机:下单之后付款之前 & 支付之后
这两者的区别:
如果在下单之后支付之前进行拆分订单,用户提交订单后,如果没有立即付款而是返回订单列表,就可以看到订单被拆分成若干个子订单,分别包含不同的商品,此时,每笔子订单都会有独立的物流查询入口,如果父订单包含了运费和优惠金额,需要将优惠和运费分摊到每笔子订单上去(最好需要分摊到每件正价商品,方便后续后退退款处理,取决于售后是整单退还是单件商品退)。
在支付后进行拆分订单,一般是为了方便进行财务结算,例如淘宝平台预收款父订单金额,用户确认收货某家店铺商品后,平台将对应店铺货款转给店家,这时候平台需要在用户支付后,根据订单所跨的店铺进行拆分,并把用户支付的金额分摊到每个店铺,用户端一般感觉不到订单被拆分,看到的订单仍然是一个订单(父订单)。
下单之后付款之前拆分多个子订单
常见于一下几种情况:
跨境商品(以上第三种情况)由于跨境商品需要三单(订单,支付单,运单)对碰才能清关,如果在支付后在进行拆分订单,那支付单只有一个,如果由于某种必须拆分(参考上述五种情况)那么,这笔订单将有多个运单号,导致不能进行三单碰撞,无法完成清关。SO...基于这种原因,对于跨境商品而言,一般都采用下单之后没支付之前,进行拆单。
*代表网站:环球捕手(以独立的订单存在父订单内,订单列表仍然展示父订单)*

支付之后拆分多个子订单订单
跨仓库的商品(如第一种情况)通常涉及多个仓库发货。为了方便用户分别查询每个包裹的物流状态,在支付完成后的处理阶段会将不同包裹对应的不同货物按照包裹单位进行拆分处理,并生成独立的物流单号作为标识符。对于基于说明规则进行拆分的情况,则主要依赖于调度系统来执行动态分配:一般会根据用户的收货地点选择最邻近的仓库完成拆单操作并发送相关指令。

支付之后进行多笔子订单创建
跨仓库的商品(以上第一种情况),由于涉及多个仓库的原因,在发货时需要将商品按不同包裹单独包装并配送。为了方便用户分别查询每个包裹的物流状态,在完成订单支付后会根据不同的仓库将订单拆分成多个包裹。此处的订单按照包裹单位进行拆分,并由系统自动生成对应的物流单号。对于如何进行拆分的具体规则而言,则涉及到调度系统的相关设置:通常情况下会根据用户的收货地址选择最邻近的仓库,并动态调整拆单策略以满足用户的实际需求。

如何划分订单
在明确了为何需要对订单进行划分后, 我们就可以有针对性地设计并实施订单划分方案.

举例说明:SKU A 和 SKU B 位于同一个仓库存储位置,而 SKUB 被归类为特殊品类商品。对于两个 SKU C 来说,它们的总重量超过了物流配送能力限制,并且它们的位置与 SKU A 和 SKU B 不在同一仓库。
根据以下流程对订单进行拆分处理:如果一个订单同时购买了各1个SKU A和B以及各2个SKU C,则按照上述方式对订单进行拆分处理

需要注意的是,在本例中并未详细阐述具体的划分逻辑。举例而言,在讨论物流限制时提到需要进行拆单处理但并未明确具体是如何执行这一操作:例如是按照订单总重量超过20KG来进行划分?还是单独计算每个SKU(库存单元)的重量或体积后再代入快递费用计算公式?此外,在确定最终的最佳划分比例时还需要综合考虑以下几点因素:同一SKU在一个包裹中的综合重量与体积、合并发货时产生的快递费用等关键指标的基础上做出权衡选择。这些决策过程均需依据企业自身的业务运营状况以及与快递公司合作时所采用的具体计算规则来进行整体规划与优化。
当父订单发生拆分时

本图展示了一笔订单的金额组成,它由正值和负值两部分组成
正值:商品金额、运费
负值:促销优惠金额、积分抵扣、优惠券优惠、后台改价等
优惠活动中的金额设置主要包括:对不同库存条目的价格进行调整(如改SKU的价格),以及根据销售额或折扣率触发的减免活动(如满减、满折)。系统需要对每个扣除金额的操作进行详细记录,并分类标注相关信息项如优惠券、优惠码等字段(如其他相关设置项如),以便后续数据分析与管理(如统计查询)。
订单金额计算流程
- 首先计算商品金额(相当于调整商品价格)
- 促销后的商品小计金额涉及满减、满折和优惠券
- 促销后的订单总金额包括满减、满折和满赠
- 后续处理订单中的优惠券及优惠码
- 将所有抵扣后的金额相加后判断是否符合条件包邮,并计算运费费用
- 积分可用于抵扣订单总额
- 其他特定情况下的抵扣操作包括后台人工修改价格(需使用独立字段记录)
订单拆分后金额分布
订单涉及跨店铺拆分的场景下,在不增加用户负担的前提下实现有效的价值传递。通常建议采用商品包邮策略来规避订单拆分后各自承担邮费的问题。对于用户体验来说并不理想(因为一个订单可能需要支付多笔运费),而通过这种策略,用户无需担心额外承担邮费分配的问题
举一个例子:
- 针对指定商品的满减活动,需要将促销后的金额来分摊
例如 一笔订单 如下:
SKUA 2件 共25 元 单品参加 满20减5 促销
SKUB 2件 共60 元 无促销
SKUC 1件 共20 元 无促销
全场促销活动:满100减10
使用了一张优惠券: 满80减10
包邮
这笔订单促销后,用户实际需要支付(实付款)为:105-5-10-10=80 元
假如我门把它拆分成三个子订单,1、2、3 分别对应三种SKU,各个子订单的金额应该如何分布?这里面 就涉及 优惠金额 分摊的问题了
对于子订单1(SKU A)
商品总价:25元
促销优惠:5元
促销分摊优惠:(25-5)/(20+60+20)*10=2 元
优惠券分摊优惠:(25-5)/(20+60+20)*10=2 元
订单实付款:25-5-2-2=16 元
对于子订单2(SKU B)
商品总价:60 元
促销分摊优惠:60/(20+60+20)*10=6 元
优惠券分摊优惠:60/(20+60+20)*10=6 元
订单实付款:60-6-6=48 元
对于子订单3(SKU C)
商品总价:20 元
促销分摊优惠:20/(20+60+20)*10=2 元
优惠券分摊优惠:20/(20+60+20)*10=2 元
订单实付款:20-2-2=16 元
拆分后订单售后如何处理
在处理部分订单退款时,则必须依据各子订单的实际支付金额来进行相应的退款操作。
对于售后退货退款也同样需要按照子订单的实际支付金额进行相应的资金结算。
就积分抵扣而言,则同样遵循相同的分摊原则:即按照上述公式将积分抵扣金额分配至各子订单中。
需要注意的是,在执行部分退款操作时,请注意优惠券通常不具备可分拆退还的能力。
当发生全部退款情况时,则具体情况需由公司的业务需求来决定。
需要注意的是,在当前提出的分摊方案中存在一定的局限性:即当涉及到跨店铺运营时,
由于各商品的商品毛利率存在差异,
按照商品金额比例来进行分摊,
可能会导致某些店铺出现亏损情况,
目前尚未找到一个理想的解决方案。
