用户手册
帮助中心/用户手册/路由引擎:让订单自己选仓库

路由引擎:让订单自己选仓库

最后更新 2026-10-15

分配或提交订单时,引擎自动定仓:自定义规则、邮编区间、库存感知、拆单履约、成本与时效。提交前还能先试算看一眼。

分配或提交订单(draft → allocated)时,您不用再手动选仓库。路由引擎替您决定:这单该哪个仓库发、为什么。决策原因会写进订单审计日志,随时能查到引擎怎么选的。

决策顺序:四层#

  1. 先看自定义规则:按优先级从小到大依次试。第一个"已启用、且全部条件都命中"的胜出。条件可按渠道、商品数量、承运商、快递服务、客户等级来配。
  2. 规则没命中,就看三选一的互斥分仓策略(三个只能开一个):按邮编分配仓库——收货邮编落进配置的邮编区间;不出目的市场——选与收货地址同国家的仓库;就近发货——选离收货地址最近的仓库。
  3. 库存感知:引擎逐个检查候选仓的可用库存(standalone 模式读 OMS 库存;wms_sync 模式读 WMS 结存)。第一个能全单备齐的胜出;都没有全齐时,取缺货总量最少的。
  4. 最后兜底:优先级最高的仓库(优先级数字最小的)。

在哪配:销售订单路由页面#

  • 打开"销售订单路由"页面,所有配置都在这里:通用规则、邮编区间、自定义路由规则、库存不足处理、缺货订单策略、成本与时效路由。
  • 自定义路由规则:"新增规则"——起名、设优先级(数字越小越先试)、选条件:渠道、商品数量(=、>、<)、承运商、快递服务、客户等级。不想用时可停用,不用删除。
  • 邮编区间:"新增区间"——填起始邮编、结束邮编、对应仓库。一个邮编命中多个区间时,取优先级最小的。
  • 仓库优先级在主数据的仓库编辑页维护:数字越小越优先被选,默认 100。

库存不够时:异常 vs 缺货待发#

  • "库存不足处理"选"异常":订单挂起为"异常"状态,不做分配。缺货明细(SKU / 订购量 / 可用量 / 缺口)写进审计日志。等您解决(等货或换仓)后,把订单退回草稿或已确认。
  • 选"最高优先级仓库":引擎转到"优先级最高且全有货"的候选仓。如果没有全有货的候选仓,就走下面的缺货订单策略。
  • "缺货订单策略"选"有货的行先发货,缺货的行标记为缺货待发。"——默认项:有货的行先分配,缺货的行记为缺货待发。
  • 或选"整单等货齐后再分配,不先发部分。"——订单留在草稿 / 已确认,原因写进审计日志,不会先发部分。
在您点"分配"之前,未定仓的草稿 / 已确认订单会有一个"路由试算"按钮。点它跑一遍完整引擎(含库存检查),不写库。弹窗里会显示:选中的仓库、命中的规则、策略、客户等级、缺货明细、预估运费、时效能否满足。确认就点"分配"正式定仓。
路由决策流程:规则顺序 → 仓库解析 → 库存检查 → 缺货分支 → 拆单/合并 → 确认路由。

拆单履约:一单多个仓库发#

  • "允许拆单履约"默认开启。当引擎选的主仓备不齐所有行时,订单按行拆开:每一行去候选顺序里第一个有货的仓。(如果您上面选了"异常"或"整单等货齐",则不拆。)
  • "按产品分配仓库":在产品页给产品设"首选仓库"。这些行永远去指定仓,不管库存够不够。
  • "样品不可拆出单独发货":把产品标成样品,样品行永远跟主仓走;只有普通商品行可以拆出去。
  • 订单头记录覆盖行数最多的那个仓库;审计日志里逐行写清每行的仓库(SKU × 数量 → 仓库),谁发什么一目了然。

合单与按商品拆单#

  • "合单规则":打开开关,订单列表多出一个批量操作"合并订单"。选至少 2 单 → "合单预览"显示哪些能合、哪些为什么不能(同一商户、同一渠道、同一收货地址、都处于草稿或已确认)→ 每组点"确认合并"。所有行并入最早创建的一单,源订单按合单取消。
  • "一单只含一件商品":打开后,2 行以上的草稿订单出现"按商品拆单"按钮。每一行生成一个独立新订单(折扣、运费、税费按行金额分摊),原订单取消。

客户分级路由:大商户先照顾#

  • 商户页新增"客户等级"列和下拉:标准 / 银卡 / 金卡 / 白金卡。没填或填错的一律按标准算。
  • 自定义规则的条件可以加"客户等级":这条规则只对该等级的订单生效。比如:白金卡商户的订单无视邮编,一律走优先仓。

成本与时效路由#

  • "按成本路由":在全有货的候选仓里,选预估运费最低的"仓库 + 承运商"组合。当前费率是估算的——凡涉及处都标了"估算",真实费率 API 接上后自动切换。
  • "按时效路由":用订单的"要求发货日期"倒推。按距离估算每个候选仓的运输天数,选"能按时送达里最便宜的"。都赶不上的话,选最快的,并在审计日志里提示。
  • 两个开关都开:时效优先,先过滤出能按时送达的,再在里面比成本。
手动指定的仓库永远优先:只要您自己在订单上指定了仓库,引擎就不再干预。(如果租户只有一个仓库,选择器会自动隐藏、直接用它。)每次路由决策——选了哪个仓、命了哪条规则、为什么——都会记进审计日志,没有黑盒。