第二承运商评估:第 2 阶段
你现在处于第二承运商评估的第 2 阶段。先核验客户、起运仓、服务和包裹段的覆盖资格,再确认实际交接条件。证据不足时标为待核验,再由责任人补齐。
将 ZIP 与包裹资格核验放回多承运商策略总览所定义的运营范围。确认服务可用后,继续用承运商交接清单核对仓库实际如何交件。
邮编存在,不等于你的承运商能送到。承运商可达性校验在创建面单前依次检查地址、邮编、服务资格、包裹属性和备用承运商,把送不到的订单变成早期拦截而不是退件。这篇指南带你走完创建面单前的六步验证流水线、USPS/FedEx/UPS 可达性数据的真正来源、非大陆目的地分类(阿拉斯加、夏威夷、波多黎各、APO/FPO/DPO)、目的地 × 地址类型路由矩阵、比价前的规则优先级、交付承诺与假日日历校验、商业地址收货时间核验、备用 vs 人工复核决策树、WMS/OMS/API 落地字段、18 个场景的试点测试评分卡,以及电商团队的自建还是购买决策。
每一笔电商订单都是一个承诺:包裹会送到某个具体的门口。当承诺失败是因为你自动选的承运商根本无法把货送到那个地址时,你付出的不止一次运费。你要为出库面单、退回的尾程、重新拣货打包、退款或补发买单,还要赔上一个再也不会下单的顾客。这些失败大部分可以预防,因为决定发生在创建面单前的几秒钟:你的系统把承运商和服务分配给了某个邮编的那一刻。这引出了本文要回答的问题:地址校验通过、API 也返回费率,为什么包裹还是会被拒收、被改价、被延误或被退回?

可达性只回答一个问题:我们打算买的这个服务,这家承运商能不能真的把这个包裹送到这个地址?邮编真实存在并不能回答这个问题。承运商的网络是有边界的:有些乡村路线只有特定承运商能送,有些区域不提供地面服务,有些地址只能通过 PO Box 收件,军事目的地走的是另一套邮政系统。可达性是「承运商 × 地址」这一对的属性,不是地址单独的属性。
在创建面单前检查它很重要,因为面单是一份合同。你付钱买下面单的那一刻,你欠承运商运费,承运商欠你一次投递尝试,而没有任何一方有义务仅仅因为目的地不在服务区内就给你退款。如果你的系统把一个阿拉斯加偏远村庄的订单路由给 FedEx Ground,而 FedEx 只通过更慢的服务覆盖那里,包裹不会悄悄适应。它会被扣留、退回,或事后被重新计费。
一单不可达订单的成本链会迅速滚大。先是面单本身,你付了钱而且不能复用。加上承运商退回包裹时的退货运费、处理退货和退款的人工、补发订单的重新拣货打包、第二张正确路由的面单,以及解释延误的客服时间。再算上安静的成本:一个晚了一周才到或根本没到的顾客很少大声投诉,他们只是再也不买了。对每月发几千单的品牌来说,哪怕 1% 的错误路由率,都是一条只要几条校验规则就能堵住的月度漏水口。
USPS 邮编库覆盖全国每一个五位邮编,这让它成为一个诱人的捷径:查一下邮编,存在就发货。问题是,你不是在用 USPS 邮编库发货,你在用某一家具体的承运商发货,而承运商覆盖的地理并不相同。
乡村和偏远地区是典型的缺口。一个五位邮编可以是有效的,但某家承运商的地面服务就是到不了,或者只能按有限的班次到达。阿拉斯加、夏威夷和波多黎各又加了一层:有些承运商只通过特定服务或中转安排服务它们,这会增加运输时间。PO Box 只能由 USPS(以及把件转交给 USPS 的承运商)投递,所以一张指向 PO Box 的 FedEx 或 UPS 面单会失败。[^2] 带 APO、FPO 或 DPO 邮编的军事地址走的是军事邮政系统,同样是 USPS 独占的路径。[^3]
地理之外,地址类型也很重要。住宅和商业地址可能有不同的费率结构和不同的服务资格。有些服务要求实体签名,或对周末投递有限制。一个邮编可能被某家承运商服务得很好,但该承运商上的某个具体服务,比如更便宜的地面选项,对这个地址不合格。承运商还会对标准派送区之外的邮编收取偏远区附加费 [^4],这本身就是一种可达性信号:服务存在,但成本是你的路由逻辑应该在结账报价之前就知道的。
实际的结论是:可送达性必须按承运商、按地址分别评估,永远不要拿一张单独的邮编表当答案。五位邮编是最粗略的有用信号,ZIP+4 更细,而承运商自己的服务数据才是唯一权威来源。
每家承运商都发布可达性数据,格式互不通用。USPS 通过 CASS 认证工具和投递点验证(DPV)检查提供地址验证 [^1],DPV 在投递点粒度确认一个具体地址存在,而不只是邮编粒度。邮编查询和 NCOA(地址变更)服务补上其余部分 [^5]:USPS 不仅知道地址在哪,还知道邮件应该转到哪里。
FedEx 和 UPS 是另一种形态。它们发布服务区域文件,描述每个服务覆盖哪些邮编和 ZIP+4 区间 [^6],它们的计价 API 在你为服务区外的目的地请求费率时会返回可达性错误。这些错误就是你的地面真相:如果 Rate & Service API 拒绝了这个配对,任何地址格式调整都无法让这票货合格。
第三方地址验证服务(Smarty、Lob 等)把 USPS 数据包装成简单的 API [^7],在地址标准化问题上做得很好。它们不做的事是告诉你 FedEx Ground 是否服务 99685 这个邮编。这个答案必须来自承运商数据,或来自一个替你维护承运商集成的多承运商发货平台。操作原则很简单:用你实际要发货的那家承运商的数据来校验,而不是拿 USPS 邮编库当替身。
3PL 接入第二家承运商时,建议把验证结果按“客户 × 起运仓 × 承运商服务 × 包裹段”记录,而不是只保留一张全国覆盖地图。每条记录都应指出证据来自哪份生效资料或哪次服务校验,谁复核,什么时候需要重新核验。以下字段是建议的工作记录,不是对任何承运商能力的承诺。
| 核验对象 | 保存的证据 | 不足时的处理 |
|---|---|---|
| 客户与起运仓 | 实际发货地址、账户/服务资格、该仓的可用交接方式。 | 不能把同一客户的另一个仓的结论直接复制过来。 |
| 目的地与地址类型 | 目的 ZIP、完整地址类型、当前服务校验结果和资料生效日期。 | 保留原路径或转人工复核;不要仅凭 ZIP 存在就放行。 |
| 服务与包裹 | 服务标识、实测重量尺寸、内容资格以及客户承诺。 | 尺寸、内容或承诺改变后重新校验,不沿用旧结果。 |
| 版本与责任 | 资料来源、生效日期、核验时间、复核人和未决事项。 | 状态标为待核验;安排补证据的责任人。 |
已确认不可承运的订单段不进入候选费率比较。资料缺失或供应商返回不明确时,结论是待核验;不能把“暂时没有报错”写成通过。若仍能使用原服务,应按原有承诺核验后保留;若原服务也无法满足条件,则由运营负责人处理,不能静默降级客户承诺。
覆盖通过之后还要回答“这个仓怎样把货交出去”。继续使用 承运商交接清单,核对取件或交件方式、截止时间、件数及首扫责任。只有两个条件都成立,才进入 最终成本比较。
防止不可达分配最可靠的办法,是在创建面单前让每一单都跑一遍固定顺序的检查。每一步都有明确的通过条件、数据来源和失败动作。把它想成一个漏斗:只有通过所有关卡,订单才能到达打单机;任何失败都会把订单送去备用承运商或人工复核队列,而不是送去一票注定失败的货。

第一步,有效地址。用 CASS 式标准化和 DPV 处理地址。修正街道名、方向、单元号、城市-州-邮编的匹配。如果地址校验失败,这还不是路由问题,而是数据问题:先拦截,请顾客或你的仓库团队修正,再谈其他。
第二步,受支持的邮编。拿校验过的地址,把邮编(最好 ZIP+4)与每个候选承运商的服务区域比对。主承运商可能完全不覆盖这个邮编,这是正常结果,正是第五步回退逻辑要处理的。你绝不能因为邮编「存在」就跳过这一步。
第三步,服务资格。邮编受支持了,现在确认你打算买的那个具体服务对这个地址类型是否合格。PO Box 和 APO/FPO 邮编把服务锁定为 USPS 独占。有些目的地需要签名服务,有些不接受周末投递,有些地面选项把偏远区排除在外。地址类型(住宅还是商业)就在这里进入检查。
第四步,包裹属性匹配。地址和服务都没问题,但包裹本身必须符合服务规则:重量、尺寸、超规阈值、锂电池限制、危险品标记。一个接受目的地但不接受 70 磅箱子的服务,不是你能用的服务。属性检查跑起来很便宜,却极其容易忘记。
第五步,备用承运商可用。如果主承运商在更早的任何一步失败,就走回退链,对下一个候选重新跑第二到第四步。回退必须经过校验,不能想当然:承运商 A 送不到某个邮编,不代表承运商 B 能送到。只有某个候选通过全部检查,它才成为选定的路线。
第六步,创建面单。所有检查都通过了,面单可以放心打出。如果没有候选能走完整条流水线,订单进入复核队列,由人工查看地址、给顾客打电话或安排异常处理。一次人工复核的成本,与一票送不到的货相比微不足道。
在问「哪家承运商能送这个邮编」之前,先对目的地分类。美国的地理并不是一片连续的服务区,路由逻辑里最稳的做法是在订单接收时一次性判定目的地类别,让这个类别驱动后面的整个分支。
五类覆盖几乎所有美国电商目的地:美国本土(CONUS)、非大陆州(阿拉斯加和夏威夷)、美国领地(波多黎各、关岛、美属维尔京群岛、美属萨摩亚、北马里亚纳群岛)、军事与外交地址(APO、FPO、DPO)以及 PO Box。USPS《国内邮件手册》(DMM)把领地和属地、军事与外交邮政系统作为独立于本土街道投递的规则单列,[^11] 这提醒我们:每一类都有自己的运作规则,不能拿一张邮编表套到底。
为什么要分类而不是维护邮编清单?因为每一类在四个维度上行为不同:哪些承运商能送、这些承运商里哪些服务合格、运输时间如何变化、哪些附加费适用。
把结果存成订单上的一个 destination_class 字段。这个类别很少变化,所以接收时算一次,让后面的路由矩阵(第六节)直接消费它,而不是在每家承运商的邮编查询里重新发现阿拉斯加。
路由矩阵是把「目的地类别 × 地址类型」映射到「允许的承运商和服务」的那张表。它是你团队维护的策略产物,第四节里的流水线是执行它的引擎。矩阵让规则可见、可评审、可测试,而不是散落在路由代码里。
读法:按目的地类别选行,横着看各家承运商。单元格写出合格的服务以及任何条件:中转、转交、附加费、更长运输时间。空单元格意味着不合格,任何地址格式调整都改变不了这一点。
地址类型在每一类内部加上第二个维度。住宅和商业地址可能费率结构不同(住宅附加费)、签名要求不同、周末投递能力不同。矩阵应该写清这些,因为一个服务可以对一种地址类型合格、对另一种不合格。
| 目的地类别 | USPS | UPS | FedEx | 区域承运商(OnTrac / GLS / Better Trucks) |
|---|---|---|---|---|
| 本土·住宅 | 全品类包裹服务 | Ground / 2nd Day / Next Day(住宅附加费) | Ground / 2nd Day / Express(住宅附加费) | 覆盖区内合格 |
| 本土·商业 | 全品类包裹服务 | Ground / 2nd Day / Next Day | Ground / 2nd Day / Express | 覆盖区内合格 |
| PO Box | 唯一承运商(Priority Mail、Ground Advantage 等) | 不可直接投递 | 不可直接投递 | 不合格 |
| APO / FPO / DPO | 唯一承运商(军事邮件) | 不合格 | 不合格 | 不合格 |
| 阿拉斯加 / 夏威夷 | Ground Advantage / Priority / Express | 特定服务或中转,运输时间更长 | 特定服务或中转,运输时间更长 | 不合格 |
| 波多黎各 / 美国领地 | Ground Advantage / Priority / Express | 快递类服务,偏远区附加费 | 快递类服务,偏远区附加费 | 不合格 |
这样一张矩阵是起点策略,不能替代实时校验。承运商服务区域会变,所以矩阵划定允许集合,流水线在创建面单前仍然用最新的承运商数据逐一确认每个候选。
回到这篇文章反复追问的问题:地址校验通过、计价 API 也返回了费率,包裹还是被拒收、被改价、被延误或被退回。为什么?因为费率报价不是资格判定。计价 API 对几乎任何「承运商 × 服务 × 目的地」组合都返回一个价格,除非组合硬性报错;返回一个数字只说明它能计价,不说明服务能完成投递、能满足你在结账时对顾客的承诺、或能承受附加费的冲击。邮编校验只确认地址存在,它替代不了承运商、服务、包裹和交付承诺这四层资格验证。
解决办法是一套固定执行顺序,在比价之前跑完。越靠前的检查越便宜、淘汰的候选越多,所以引擎先排硬约束、最后才比价:
原则:比价是最后一步,不是第一步。你只在已经通过全部资格检查的承运商和服务之间比价。一条不合格的「便宜」路线不是折扣,而是这篇文章里最贵的结果:把一笔销售变成退货。计价 API 的数字是第七步的输入,不是绿灯。
分区和承运商覆盖是这些检查的底层数据,参见 分区与承运商覆盖指南;把优先级落成自动化规则时,承运商选择自动化指南 讲了如何在自动化里保住交付承诺。
费率不是承诺。承诺是服务的运输承诺,再叠加三件你的路由逻辑必须建模的事:始发仓的截单时间(面单创建时间相对承运商提货时间的早晚)、承运商的假日日历(非运营日不计入运输天数)、以及该服务的周末投递能力。
举个例子的算账:某个 Ground 服务承诺三个工作日。顾客周四 16:30 下单,仓库截单是 17:00,包裹周五发出;Ground 的周六不算运输日;周一是承运商假日。送达日落到周三,而结账时承诺的是周二。地址有效、费率有效,承诺照样被打破。
假日日历按承运商不同,绝不能共用。USPS 观察 11 个联邦假日并发布自己的假日服务日程,[^10] UPS 和 FedEx 各自发布日程,哪些天完全停运、哪些天缩减服务,三家不一样。[^8][^9] 假日周的同一个周四订单,路由给不同承运商会落在不同的送达日,这正是路由器应该拿着日历做的决策,而不是事后才发现。
在路由时、创建面单前校验承诺:应用截单、剔除非运营日、应用周末规则,把算出的送达日与结账时告诉顾客的日期对比。如果最快的合格服务也赶不上承诺,就在成本上限内升级到更快的服务,或者转人工复核,但绝不能让 ETA 悄悄滑过承诺。你需要的 API 字段是运输天数、承诺日期、截单时间、提货日程和假日集合,并且要和订单一起存下来以便审计。

一个寄往商业地址的订单,可以通过上面流水线的每一项检查,然后仍然在门口失败。地址校验通过,承运商覆盖这个邮编,服务资格合格,包裹属性匹配,计价 API 返回了价格,算出的送达日也在承诺之内。然后司机周五 16:40 开到收货口,发现门锁着,因为收件部门 15:00 就下班了。流水线没有任何一步出错,能避免这次失败的那条信息(目的地到底有没有人在)从来没有进入流水线。
这正是本节要补上的缺口。邮编覆盖、服务可用、预计送达日、以及收件方当天能否接收,是四个不同层面的信息,而承运商 API 只回答前三个。
地址上的「商业」标记在这里帮不上忙。它是一个计费属性:决定费率结构和部分派送规则,却完全不说明这个场地开不开门。一个地址可以标记为商业,同时周末关闭、做两周的盘点停收、只在 8:00 到 12:00 收货,或者把所有到货都集中到一个收货口、交给一个拿着登记板的人。这些信息不在地址记录里,也不在费率报价里。
同样的范畴错误也出现在对送达时间的理解上。运输天数的计算给出的是一个日期,不是一个钟点。承运商的派送覆盖一整段路线窗口:FedEx 公布的典型派送时段是 8:00 到 20:00,[^12] UPS 对商业地址的承诺是「当天结束前」而不是某个钟点。[^14] 钟点承诺确实存在,但它属于时效型快递服务,而且即便如此,承诺挂在服务上而不是目的地上:USPS 只有 Priority Mail Express 附带保证送达日期和时刻。[^13] 对于普通地面和商业派送,具体的到达时段通常是付费安排而不是默认能力,FedEx 正是这样把它作为增值项卖给收件人的。[^15] 如果你的系统既没有时段服务、也没有可靠的收货时间数据,诚实的输出就是一个日期,而不是一个钟点,路由决策也应该基于这一点来做。
把这件事当成一条五环相扣的链条,按顺序判断,成本比较放在最后:

第四环所依赖的信息可以分成四组:
两条规则让这件事保持诚实。第一,收货时间要和来源、时间戳一起存下来,就像任何结构化日程都该被存成的那样,因为去年记下的一条收货窗口,现在只是个猜测。结构化格式正是为此存在的,OpenStreetMap 的 opening_hours 规范是「一份日程到底需要多细」的有用参照。[^16]
第二,信息缺失时,不要用假设补上缺口,也不要给顾客承诺一个你控制不了的钟点。把你实际采用的假设记下来,这样以后真出了问题,能追溯到是哪条假设造成的。
下面的判断框架把核验结果转成动作。它对两件事说得很直白:信息缺失是一件事待办,不是放行许可;包裹一旦到了承运商手里,选服务就不再是你能动的杠杆。
| 核验结果 | 建议动作 |
|---|---|
| 信息完整,配送安排相容 | 比较所有合格服务的全成本,选最便宜的 |
| 收件方时间信息缺失 | 去获取,或转人工复核;记录采用的假设以及记录的日期 |
| 配送安排明确冲突 | 检查其他合格服务,或改用能落进收货窗口的发货安排 |
| 无方案能满足承诺 | 升级到人工处理并同步客户;不要直接选最低价那个 |
| 包裹已交给承运商 | 进入异常处理流程;不能按「尚未发货」重新选服务 |
最后一行是团队最容易踩的一课。改路由是打单之前的决策。交接之后,可用的动作就从「选服务」变成了「处理异常」:拦截、改址、重派或留站自提,每一种都有自己的成本和自己的成功率。这就是为什么收货时间校验应该待在流水线已经跑的地方,在面单之前,紧挨着承诺校验,因为两者回答的是同一个问题:这个服务能不能在我们告诉顾客的那一天,送到一个真的收得下的地方?
候选失败时,下一步不自动是「换一家承运商」,取决于失败类型,因为正确的响应不一样。

几条规则让这棵树保持诚实:备用候选必须重跑完整资格检查;必须有成本上限,防止「备用」变成一张离谱的贵面单;人工复核是一等公民,不是 bug。一天五单的人工复核成本,和一票送不到的货相比微不足道。
可达性应该是路由逻辑里的硬约束,先于成本比较执行。一条送不到的「便宜」路线并不便宜,它是你最贵的选项,因为它把一笔销售变成了一次退货。上面的流水线给你每个候选一个布尔值:合格或不合格。先把这个布尔值喂给路由器,再只在合格的承运商之间比较费率。
回退链需要和主路线一样的纪律。如果 A 失败时你按 A 到 B 到 C 的顺序路由,链条的每一步都必须对照地址和包裹检查,不能想当然。一个常见的模式是先做与承运商无关的资格检查,再在幸存者里按成本排序,这样正确性和价格压力都保住了。
有些规则比完整流水线更简单。PO Box、APO、FPO 和 DPO 邮编可以在路由层用查表锁定为 USPS 独占,因为反正没有别的承运商能完成这些投递。偏远区附加费应该在路由时计入成本计算,而不是等承运商账单到了才发现,这样你在结账时报的费率才能经得起现实检验。
最后,记录结果。把选定的承运商、服务和校验结果随每个订单一起存下来。当包裹真的退回来,或承运商账单出现意外附加费时,你能追溯到具体是哪一步检查本该拦住它,也能衡量失败率是否真的在改善。
五位邮编藏起来的比露出来的多。同一个邮编里的两个地址,在 ZIP+4 粒度上可能有不同的可达性,因为承运商服务区域定义得比五位更细。在你数据源支持的最细粒度上校验,并把五位邮编的通过当作初步信号,而不是结论。
承运商服务数据会变。服务区域会调整,偏远区会缩小和扩大,新服务会上线。你去年缓存的可达性表是个负担,所以要有计划地刷新承运商数据,并在费率或服务定义变化时重跑流水线。
新地址和别名会漏过校验。刚开盘的社区、十年前改名的街道、顾客输入的老门牌号:DPV 能抓住其中很多但不是全部,这就是复核队列存在的原因。绝不要让一条未校验的地址仅仅因为「看起来没问题」就自动路由。
阿拉斯加、夏威夷和波多黎各即使邮编有效也是特殊情况。有些承运商只通过特定服务或中转安排服务它们,中转会改变运输时间,有时还会改变资格。确认具体的服务,而不是只看邮编。
而最便宜的坑是:校验了邮编却没校验门牌号。一个邮编可以被完全覆盖,而它里面的那个具体地址并不存在,包裹照样退回来。地址校验和可达性校验是两个不同的检查,两者都应该在流水线里。
自建集成意味着接入每家承运商的计价 API、解析它们的可达性错误、维护它们的服务区域文件,并在任何一家承运商改格式时全部重做。对每月只发几百单的团队来说,这个维护负担通常超过集成成本,而且失败模式是无声的:你缓存的数据过期了,订单开始错路由,却没有一次崩溃提醒你。
地址验证 SaaS(Smarty、Lob 等)干净地解决流水线的第一步。它对照 USPS 数据标准化和校验地址,有些还暴露承运商级别的元数据。但它止步于校验:它不路由、不管理回退链、不创建面单,所以你仍然要在它周围搭流水线。
多承运商发货平台是中间路线。它们维护承运商集成、刷新可达性数据、跑地址和资格检查,并把回退路由作为一个内置流程执行,这正是本文描述的流水线。代价是对细节的控制更少,换来的是不用自己承担维护。
粗略的参考:如果你已经跑着一条打单集成,又有富余的工程时间,自建是可行的。如果你想在不从头搭承运商集成的情况下获得校验,一个自带这套流水线的平台是通往同一结果的更快路径,也是我们在 EasyShippingX 做的路线。
要让流水线可审计、规则可维护,每道检查的输入和输出都必须随订单一起持久化。如果你几个月后无法还原一票包裹为什么被路由给某家承运商,你就无法改进规则。
下面的字段清单就是审计轨迹。OMS 负责订单和地址数据,WMS 负责包裹主数据,发货 API 层执行流水线并返回带原因码的决策。全部持久化。
| 字段 | 所属层 | 用途 |
|---|---|---|
| 标准化街道、单元、城市、州、ZIP+4、DPV 状态 | OMS | 地址校验结果 |
| destination_class | OMS | 第五节的目的地分类 |
| address_type | OMS | 住宅还是商业 |
| 候选承运商、服务 | API 层 | 评估了什么 |
| serviceability_status | API 层 | 合格 / 不合格 / 偏远区 |
| 包裹重量、长宽高、泡重、超规标记、电池标记、危险品标记 | WMS | 包裹属性 |
| 截单时间、提货日程、假日日历引用 | API 层 | 承诺输入 |
| 运输天数、承诺日期、交付承诺日期 | API 层 | 承诺结果 |
| 基础费率、附加费明细、全成本、成本上限 | API 层 | 经济性 |
| 路由决策(承运商 + 服务)、原因码、使用的备用链 | API 层 | 决策与原因 |
| review_status | OMS | 自动路由还是人工复核 |
原因码最重要。每次失败都应该对应第七节优先级里的恰好一道检查,这样第十四节的评分卡才能告诉你哪条规则在起作用、哪条在漏水。
API 字段检查清单:评估发货 API 时,问它可达性错误是否与计价错误分开返回,响应里除了运输天数是否还有承诺日期和截单时间,附加费是否逐项列出,每个决策是否返回原因码。只返回一个价格的平台,等于只给了第七步,前面六步全都没有。落地测试的细节见 WMS 发货 API 集成测试指南,自建还是购买的整体判断见 3PL 发货 API 自建 vs 购买。
上线前先跑试点。把几个月的真实历史订单重放一遍流水线,确认两件事:发得出去的订单仍然通过,曾经失败的订单被拦住。然后跑一组针对性的边界用例。每个场景都有预期的行为和通过标准,你的流水线应该产出完全一致的预期结果。
| # | 场景 | 预期行为 | 通过标准 |
|---|---|---|---|
| 1 | PO Box + FedEx Ground | 拦截,改 USPS 独占服务 | FedEx 面单从未创建 |
| 2 | APO AE + UPS Ground | 拦截,改 USPS 独占服务 | 创建 USPS 面单 |
| 3 | 阿拉斯加乡村邮编 + 区域承运商 | 不合格,走备用链 | 选中下一个已验证候选 |
| 4 | 夏威夷邮编 + FedEx Ground | 改走支持中转的服务 | 选择按中转调整过运输时间的服务 |
| 5 | 波多黎各 + UPS Ground | 报价前先加偏远区附加费 | 全成本包含附加费 |
| 6 | 住宅地址 + 仅商业服务 | 拦截 | 换服务或转复核 |
| 7 | 地址未通过 DPV | 人工复核 | 订单进入复核队列 |
| 8 | 邮编有效,ZIP+4 在承运商服务区外 | 走备用承运商 | 下一个候选重新校验 |
| 9 | 70 磅包裹 + 上限 50 磅的服务 | 拦截 | 包裹检查干净地失败 |
| 10 | 超规(长+围超限)+ 地面服务 | 拦截或重新量箱 | 不创建面单 |
| 11 | 锂电池标记 + 不支持电池的服务 | 拦截 | 改选支持电池的服务 |
| 12 | 截单后下单 + 标准承诺 | 承诺日期顺延 | 结账承诺被重新计算 |
| 13 | 假日周 + 承诺日期落在假日 | 送达日跨过假日顺延 | 新日期已传达 |
| 14 | 周六送达承诺 + 无周末投递 | 拦截或顺延日期 | 不出现破碎的承诺 |
| 15 | 备用链耗尽 | 人工复核 | 订单从不自动发出 |
| 16 | 新盘社区地址(DPV 尚无) | 人工复核 | 不自动路由 |
| 17 | 需要跟踪/POD + 服务无 POD | 拦截 | 改选支持 POD 的服务 |
| 18 | 备用成本超上限 | 人工复核 | 订单被标记,不发出 |
试点之后按月盯住真正重要的数字(下面是你自己设定的示例目标):接收时的校验失败率、拦截率、备用使用率、人工复核率、承诺失误率、不可达导致的退货率、附加费争议率。每个异常都映射到一个原因码,原因码映射到本该拦住它的那道检查。如果承诺失误率居高不下,假日日历错了或截单太乐观;如果复核队列里全是包裹失败,包裹主数据是脏的。评分卡把异常变成一串待修清单,这正是当初搭建流水线的意义。比价与全成本计算可以交给 费率对比工具 验证。
按流水线的顺序逐步落地,每加一层先验证上一层。
上线前,把几个月真实的历史订单重放一遍流水线,确认你知道发得出去的订单仍然通过、曾经失败的订单被拦住。上线后,盯住真正重要的数字:校验失败率、退货率、重发率、承运商附加费争议,按月看。这份清单里的每一项都对应其中一个指标,而每一项检查都比它防止的那票货便宜。
不应把低价当成资格证明。记录待核验项和负责人,先验证客户、起运仓、服务、目的地与包裹条件,再核对交接并进入费用比较。