什么是訂單拆分?
用戶提交的訂單在物理上並不是一個不可拆分的單元,它不是一個顆粒度最小的實體,可以進行多種形式的分解,具體如何分解根據不同的業務場景,可以進行不同形式的拆分。
為什么要訂單拆分?
之所以要訂單拆分,一般會有以下幾個原因:
1. 倉庫原因
一些大型電商公司(京東、考拉等),都有自建倉庫,商品會根據以往出貨量數據在各個不同的倉庫進行備貨,用戶的訂單如果包含多個倉庫的商品,那么就必須對不同的倉庫商品進行拆分。
2. 店鋪原因
一些電商平台(天貓、淘寶、拼多多等),有很多入駐的商家,用戶的訂單跨店鋪結算的情況非常普遍,那么這時候也需要對訂單進行拆分,本質上這種情況和倉庫有類似之處,每個入駐的商家可以看做一個倉庫。
3. 跨境商品原因
對於跨境商品,由於需要 訂單、支付單核運單 三單對碰,而且每筆訂單不能超過2000元,年度不能2萬元,如果用戶單筆訂單金額超過2000元,則必須對訂單進行拆分,拆分的子訂單每筆不能超過2000元,且分別每筆子訂單都有獨立的的訂單號和物流單號,確保正常通關。
4. 物流原因
不同物流公司對單個包裹的重量或體積都有特殊要求,例如有些物流公司(郵政小包)規定單個包裹不能超過20kg,並且還存在一種情況:一個10kg的包裹有可能比兩個5kg的包裹收費更高,基於物流成本考慮一般也會將一個訂單拆分成兩個,例如申通:10罐啤酒寄到遼寧價格為24,同樣地點5瓶的價格是6塊(與申通的簽約價格不是市場價)。
5. 商品品類
某些商品品類需要特殊處理,例如:易碎品 需要單獨發貨;大件商品(兒童座椅、冰箱、洗衣機、電視等)需要單獨發貨;如果一個訂單里面包含這些商品,一般也需要對訂單進行拆分。
什么時候拆分訂單
訂單拆分時機:下單之后付款之前 和 支付之后
這兩者的區別:如果在下單之后支付之前進行拆分訂單,用戶提交訂單后,如果沒有立即付款而是返回訂單列表,就可以看到訂單被拆分成若干個子訂單,分別包含不同的商品。此時,每筆子訂單有都會有獨立的物流查詢入口,如果父訂單包含了運費和優惠金額,需要將優惠和運費分攤到每筆子訂單上去(最好需要分攤到每件正價商品,方便后續售后退款處理,取決於售后是整單退還是單件商品退);
在支付后進行拆分訂單,一般是為了方便進行財務結算,例如淘寶平台預收款父訂單金額,用戶確認收貨某家店鋪商品后,平台將對應店鋪貨款轉給店家,這時候平台需要在用戶支付后根據訂單所跨的店鋪進行拆分,並把用戶支付的金額分攤到每個店鋪,用戶端一般感知不到訂單被拆分,看到的訂單仍然是一個訂單(父訂單)。
1. 下單之后付款之前拆分多個子訂單
常見於以下幾種情況:
跨境商品(以上第三種情況):由於跨境商品需要三單(訂單、支付單和運單)對碰才能夠清關,如果在支付后再進行拆分訂單,那支付單號只有一個,如果訂單由於某種原因必須拆分(參考上述五種情況)那么,這筆訂單將有多個運單號,導致不能進行三單對碰,無法完成清關。所以,基於這種原因,對於跨境商品而言,一般都采用下單之后,支付之前進行拆單。
(以獨立訂單存在父訂單內,訂單列表仍然展示父訂單)
跨倉庫商品(以上第一種情況):由於涉及多個倉庫,需要分不同包裹進行發貨,為了方便用戶分別查詢每個包裹的物流狀態,一般都需要在訂單支付完成后根據不同的倉庫拆分成不同的訂單,此處訂單需要根據包裹單位進行拆分。每個訂單對應一個物流單號。至於訂單是根據說明規則進行拆分的,涉及調度系統的規則,一般會根據用戶收貨地址就近選擇倉庫,動態拆單。
代表網站:京東(以獨立訂單存在所有訂單列表內,表現為沒有父訂單)
3. 支付之后拆分多個子訂單訂單
跨倉庫商品(以上第一種情況):由於涉及多個倉庫,需要分不同包裹進行發貨,為了方便用戶分別查詢每個包裹的物流狀態,一般都需要在訂單支付完成后根據不同的倉庫拆分成不同的訂單,此處訂單需要根據包裹單位進行拆分。每個訂單對應一個物流單號。至於訂單是根據說明規則進行拆分的,涉及調度系統的規則,一般會根據用戶收貨地址就近選擇倉庫,動態拆單。
(保持訂單整體樣式不變,訂單中不同子訂單以包裹形式按tab頁分開展示)
如何拆分訂單
在我們知道為什么需要拆分之后,我們就可以針對性的設計將訂單進行拆分了

例如:SKU A 和 SKU B 分屬同一倉庫,SKUB 是特殊品類商品,2個 SKU C 重量超過物流限制,且和SKU A、SKU B不在同一個倉庫
那么如果一個訂單同時買了1個SKU A 和 SKU B ,2個SKU C ,按照上述流程拆單如下:

這里面沒有說明具體的拆分邏輯。例如:下面只講了物流限制需要拆單,但是沒有說明具體是如何拆單的:是超過20kg 拆單,還是拿訂單所有 SKU 的重量/體積 套快遞費用公式,綜合同一SKU在一個包裹、保證拆分后的快遞費用盡量低於合並發貨的費用等因素拆分一個最優配比,這些需要根據具體業務需求和快遞公司的物流計算公式來綜合考慮。