一、功能简介
1.1 业务定义
在跨境自发货业务中,一张订单里的商品往往分散在多个仓库,且各仓库存实时变动。系统在「仓库规则」中新增了三项能力,用于处理"没有任何单一仓库能一次配齐整单"以及"部分商品缺货"的场景。相关概念如下:
- 原始订单:销售订单推送到自发货后生成的初始订单。
- 属性子单:原始订单经「拆单规则」按平台、品类、商品属性拆分后生成的独立订单,每张独立匹配仓配规则。
- 仓配子单:属性子单在仓配环节,因没有单一仓库能配齐全部 SKU,按仓库拆分出来的订单。
- 缺货子单:订单预占库存失败、触发缺货拆单后,把缺货商品单独拆出的订单。
- 同源订单组:由同一张原始订单拆分出来的全部子单(属性子单、仓配子单、缺货子单)的集合,用于"缺货整单拦截"时批量挂起。
- 跨仓拆分策略:控制是否允许一张订单跨多个仓库发货,取值为「仅单仓」或「优先单仓,不足跨仓」。
- 缺货拆单:预占库存时部分商品缺货,把订单拆成"有货子单 + 缺货子单"分别处理。
- 缺货整单拦截:当订单出现缺货时,锁定并挂起同源订单组内的全部子单,阻止有货部分继续发货,需人工确认后再处理。
- 业务缺货 / 物理缺货:业务缺货指商品在别的仓库有货,但不在当前规则允许的仓库范围内("有货但不让用");物理缺货指该商品在所有仓库实物库存均为 0("确实没有货")。
1.2 功能描述
在「订单策略 — 仓库规则」的订单履约策略中,新增三项可配置开关:
跨仓拆分策略(必选)
- 仅单仓(默认):沿用原有逻辑,只有单一仓库能配齐整单才发货,否则仓配失败。历史规则默认等同于此项。
- 优先单仓,不足跨仓:优先尝试用单一仓库整单发货;单仓无法配齐时,自动按多仓库存拆分成多张仓配子单,各自独立预占、独立履约。
- 该项依赖库存校验:比价方式为"取库存够且价格低/时效快",或指定仓库物流并开启"检测库存"时,才可选择"优先单仓,不足跨仓"。
- 跨仓配货时尽量将同一 SKU 的全部数量从一个仓发出;单仓数量不够时才拆到多个仓。开启库龄条件的按库龄从高到低配货,未开启的按运费试算择优。
缺货拆单(可选,默认否)
- 开启后,仓配子单预占库存时若只有部分商品缺货,系统按 SKU 把订单拆成"有货子单"和"缺货子单",两张子单各自重新匹配仓库规则;有货部分可继续履约,缺货部分单独跟进。
- 若全部商品都缺货,则按缺货异常处理,不做拆分。
缺货整体拦截(可选,默认否)
- 开启后,只要同源订单组中任一子单发生缺货,系统会挂起该订单组的全部子单(包括已有货的子单),并标记系统禁止处理原因"缺货整单拦截",同时在系统提示信息中列明触发的仓库规则编号与关联系统订单号。
- 需人工解除挂起后才会重新履约,系统不会自动解除此类缺货。
执行与配合说明
- 「缺货拆单」「缺货整体拦截」只在当前订单本身生效,拆分产生的子单不继承这两项设置。
- 预占成功的子单会先进入"仓配完成缓冲区"暂存,待同源订单组全部子单完成仓配预占后再统一放行到审核环节,避免部分子单先发货、后续子单才发现缺货。
- 跨仓拆单与缺货拆单执行阶段不同,可叠加:先按多仓拆出仓配子单,各仓配子单独立预占,预占失败时再触发缺货拆单。
- 手动设定仓库物流时同样支持产品升级的库存查询处理。
- 新增配置项均已做国际化。
1.3 功能价值
- 减少缺货导致的仓配失败:以往单一仓库配不齐整单就仓配失败、订单卡住,现在可自动跨仓拆分,让分布在多个仓库的库存也能组合发货,提升订单履约率。
- 有货先发,减少整体延误:开启缺货拆单后,有货商品可先行发货,缺货部分单独跟进,避免因个别 SKU 缺货拖住整张订单的发货时效。
- 可控的整单拦截,规避错发漏发:对于必须整单一起发的业务,开启缺货整单拦截可在缺货时统一挂起同源订单组,防止只发出部分商品造成的拆包、二次补发和售后成本。
- 配置灵活、贴合不同履约策略:跨仓、缺货拆单、整单拦截三项可按仓库规则独立配置,卖家可针对不同店铺、平台或商品线选择"尽量发货"或"整单严格控制"的策略。
- 历史规则平滑兼容:历史规则默认按"仅单仓、不缺货拆单、不整单拦截"运行,与升级前行为一致,卖家可按需逐步开启新能力。
二、业务场景
2.1 流程图
2.2 数据推演示例