发货推送一旦报错,现场容易做两件都错的事:一是先把货发出去再补单号,二是对着已经成功的运单反复重推,造出第二张面单。发货推送异常件处理,指的是判断异常发生在出库完成前还是完成后,分别选择拦截作业或按原单回传重推,并写回唯一运单状态。
能在出库前拦住的,不要放到路上再救;已经交接承运商的,不要再当新任务推一次。通天晓的运输和仓储产品按这个时点分工。
先分类:这张异常还能不能不出门
出库前异常:缺重量体积、地址校验失败、账号欠费、承运商同步拒绝、商品禁运。这类应扣住复核完成或扣住交接,货停在月台或打包台,责任在仓库或信息化补字段、换产品、换承运商。
出库后异常:已取号但轨迹不回、承运商网关超时后实际已成功、取消失败、签收状态对不上。货可能已经在车上。这时只能按原运单查询再决定重推或工单,禁止用新的内部单号再推一次当新件。
| 时点 | 典型现象 | 处理原则 | 谁主责 |
| 出库前 | 取号失败、字段校验失败 | 拦截出库,修好再推 | 仓库补数据 / 信息化查账号 |
| 出库中 | 超时无响应 | 先查询承运商是否已生成运单,再决定重推 | 信息化 |
| 出库后 | 货已交接,状态不同步 | 回传补状态,不新建运单 | 运输客服 + 信息化 |
出库前拦截:缺什么补什么,不要用“先发出去”

复核完成应检查:标准运单字段是否齐、承运商产品是否可选、禁运校验是否过。失败则任务停在“待发运”,面单不打印,交接扫描不通过。补重、改地址、换承运商后,仍用同一内部发运单重推,而不是复制一张新单。
如果现场习惯“先上车后补单”,异常件会变成无主件,客服只能按收件人电话找回。流程上应把交接扫描做成硬拦截,而不是提示。
超时和出库后:先查询,再重推
接口超时不等于失败。正确顺序是:用幂等键或已返回的请求号向承运商查询;已存在运单则回写单号,禁止再取号;确认不存在才按原单重推。重推必须带同一业务键,这和订单下发一致性是同一纪律,只是对象换成运单。
货已出门后的地址错误、改派、取消,走承运商工单或拦截件流程,不要在WMS里再生成一张发运单“覆盖”。两张面单同时有效,是后续丢件和重复计费的来源。
通天晓的通天晓运输管理系统适合记录运单状态和重推日志,通天晓仓储管理系统适合在出库前按状态拦截交接。两边状态枚举要映射,避免仓库显示已发运、运输显示取号失败。具体错误码以承运商和项目接口为准。
FAQ
所有异常都自动重推可以吗?
不可以。校验失败重推只会重复失败;超时不查询就重推可能双面单。自动重推只适用于“确认未生成运单”的超时类,且要有次数上限。
异常件要不要单独建库位?
出库前拦截的货应停在发货暂存或异常笼,和已交接货分开。出库后的问题件在承运商网络里,仓库再建库位解决不了轨迹,只适合退回仓后的二次入库。
货主自己的单号和承运商单号冲突怎么办?
系统应同时保存。重推和对客查询用货主/内部单号定位,面单和轨迹用承运商单号。混淆两个号,异常处理会找错件。
总结
发货推送异常件怎么处理,取决于货有没有出门:出库前拦截并补数据,超时先查询再按原单重推,出库后补状态或走承运商工单,绝不随便新开一张运单。仓库守交接拦截,运输系统守运单唯一和日志。需要把出库状态和运单状态接在一起时,可在通天晓官网查看通天晓仓储与运输产品的交接方式,并以承运商查询结果作为重推前提。