EDI发货通知(ASN/DESADV)标准字段与报文结构

EDI发货通知(ASN / DESADV)是供应商在货物发出前或发出时,通过电子数据交换(EDI)向仓库管理系统(WMS)发送的预到货通知。它包含本次发货的订单信息、物料明细、包装结构、预计到达时间以及关键的批次属性。WMS 收到 ASN 后,可提前规划收货、质检、上架和库位分配,大幅提升入库效率。

3.1 核心字段清单

ASN/DESADV 报文按业务层级可分为头部、订单层、物料层和包装/批次层。以下为校验规则课程中必须关注的字段:

层级 字段名 EDI 标准代码 说明
头部 发货通知编号 BGM / DESADV01 唯一标识本次发货通知
头部 消息发送日期 DTM + 137 EDI 报文生成日期
头部 预计到达时间 DTM + 17 ETA,WMS 据此排程收货
订单层 采购订单号 RFF + ON 关联上游采购订单
物料层 物料编码(SKU) LIN / PIA WMS 主数据匹配键
物料层 发货数量 QTY + 12 本次发货的物料数量
物料层 计量单位 MEA / UNB 如 PCE、KG、L
包装/批次层 包装类型 PAC / HAN 托盘、纸箱、周转箱
包装/批次层 包装序列号(SSCC) GIN + BJ 唯一物流单元标识
包装/批次层 批次号 GIN + AT / BGM 生产批次或供应商批次
包装/批次层 生产日期 DTM + 94 批次属性核心字段
包装/批次层 有效期/到期日 DTM + 36 FEFO 管理关键字段
包装/批次层 供应商批号 GIN + AE 供应商内部追溯码
校验要点:批次号、生产日期、有效期是 WMS 批次属性校验的三大必填字段。若 ASN 中缺失其中任意一项,WMS 应触发数据质量告警,并阻止自动收货。

3.2 报文结构(DESADV 层级树)

DESADV 报文采用层级嵌套结构,从发货通知头部向下展开为订单、物料、包装和批次信息。以下为典型结构:

DESADV
├── 头部 (BGM + DTM)
│   ├── 发货通知编号
│   ├── 消息发送日期
│   └── 预计到达时间
├── 订单层 (RFF + NAD)
│   ├── 采购订单号
│   └── 供应商/收货方信息
├── 物料层 (LIN + QTY + MEA)
│   ├── 物料编码 (SKU)
│   ├── 发货数量
│   └── 计量单位
├── 包装层 (PAC + GIN)
│   ├── 包装类型
│   ├── 包装序列号 (SSCC)
│   └── 包装内数量
└── 批次层 (GIN + DTM)
    ├── 批次号
    ├── 生产日期
    ├── 有效期/到期日
    └── 供应商批号
结构规则:一个 DESADV 可包含多个订单(PO),每个订单下可包含多个物料(SKU),每个物料可分布在多个包装(托盘/箱)中,每个包装可携带独立的批次属性。WMS 解析时必须按此层级展开,否则会导致批次属性错配。

3.3 EDI 与 WMS 交互流程

ASN/DESADV 从供应商系统发出,经过 EDI 平台转换,最终进入 WMS 触发收货准备。完整交互流程包含以下步骤:

  1. 供应商发送 ASN:供应商在货物发运前,通过 EDI 系统生成 DESADV 报文并发送至 EDI 平台。
  2. EDI 平台校验与转换:EDI 平台对报文进行语法校验(EDIFACT / X12 标准),并将数据转换为 WMS 可识别的 JSON 或 XML 格式。
  3. WMS 接收与校验:WMS 接收转换后的 ASN 数据,执行字段完整性校验、批次属性校验、订单匹配校验。
  4. WMS 生成预收货单:校验通过后,WMS 自动生成预收货单(Pending Receipt),分配收货 dock 和预计上架库位。
  5. 实际收货与比对:货物到达后,WMS 操作员扫描 SSCC 或物料条码,系统将实际收货数据与 ASN 进行比对,记录差异。
  6. 批次属性确认:实际收货时再次确认批次号、生产日期、有效期,若与 ASN 不符则触发差异处理流程。
常见数据质量风险:ASN 中的批次属性与实际货物不一致(如有效期提前或延后)、ASN 中批次号为空但实际货物有批次、ASN 中 SSCC 重复或格式错误。这些都需要在步骤 3 和步骤 6 设置校验规则。

3.4 交互流程示意图

以下 SVG 图展示了 EDI 发货通知从供应商到 WMS 的完整交互流程,包含关键校验节点:

EDI 发货通知(ASN/DESADV)与 WMS 交互流程 供应商系统 生成 DESADV 报文 EDI 平台 语法校验 + 格式转换 WMS 系统 字段 + 批次属性校验 DESADV 报文 转换后 ASN 数据 预收货单生成 分配 Dock + 库位 实际收货 扫描 SSCC / 物料条码 差异比对 批次属性 vs ASN 校验节点说明 ① 字段完整性:必填项是否缺失 ② 批次属性:批次号/日期格式 ③ 订单匹配:PO 号是否有效

3.5 批次属性在报文中的位置与映射

批次属性在 DESADV 报文中通常位于包装层(PAC)或物料层(LIN)的子段中。不同行业标准(EDIFACT D.96A / GS1-128)对批次属性的位置定义略有差异,但核心字段映射关系如下:

WMS 批次属性字段 EDIFACT DESADV 位置 GS1-128 应用标识符 (AI) 校验规则
批次号 (Lot Number) GIN+AT / PAC 段 (10) 非空,长度 ≤ 20 字符
生产日期 (Production Date) DTM+94 / LIN 段 (11) 格式 YYYYMMDD,不可为未来日期
有效期 (Expiration Date) DTM+36 / PAC 段 (17) 格式 YYYYMMDD,必须 ≥ 生产日期
供应商批号 (Vendor Lot) GIN+AE / 物料层 (241) 可选,但若存在则不可为空
包装序列号 (SSCC) GIN+BJ / PAC 段 (00) 18 位数字,校验位正确
映射示例:若 EDI 报文中 DTM+36 的值为 "20251231",则 WMS 应将其解析为有效期字段,并写入批次属性表的 expiration_date 列。若解析失败或格式异常,WMS 应拒绝该批次数据并生成数据质量事件。

3.6 批次属性校验的典型场景

以下为实际项目中常见的批次属性校验场景,每个场景都对应一条数据质量监控规则:

  • 场景一:批次号缺失 — ASN 中 GIN+AT 为空,WMS 无法建立批次记录,应触发 BLOCK 级别告警,阻止自动收货。
  • 场景二:有效期早于生产日期 — DTM+36 值小于 DTM+94 值,逻辑错误,应触发 ERROR 级别告警,要求供应商重新发送 ASN。
  • 场景三:SSCC 重复 — 同一 SSCC 在历史 ASN 中已存在,可能为重复发货或编码错误,应触发 WARNING 级别告警,由人工确认。
  • 场景四:批次号格式不统一 — 同一供应商的批次号有时带前缀 "LOT-",有时不带,导致 WMS 无法匹配,应设置 标准化规则 进行自动清洗。
  • 场景五:有效期格式错误 — 供应商发送 "2025-12-31" 而非 "20251231",WMS 解析失败,应触发 PARSING_ERROR 并回退至 EDI 平台重新转换。
课程提醒:批次属性校验是 WMS 数据质量监控的第一道防线。ASN 中的批次数据一旦错误入库,将导致后续 FEFO 拣货、批次追溯、保质期预警全部失效。建议在 WMS 中建立 ASN 批次属性校验规则表,支持按供应商、物料类别、仓库维度配置不同的校验策略。

3.7 批次属性在包装结构中的传递

在复杂的供应链场景中,一个 ASN 可能包含多层包装结构(托盘 → 纸箱 → 内盒),批次属性可能出现在任意包装层级。WMS 必须正确解析包装层级关系,并将批次属性关联到正确的库存单元。以下 SVG 图展示了包装层级与批次属性的对应关系:

ASN 包装层级与批次属性传递 托盘 (Pallet) SSCC: 106141410000123456 纸箱 1 (Case) SSCC: 106141410000123457 纸箱 2 (Case) SSCC: 106141410000123458 纸箱 1 批次属性 批次号: BATCH-2025-001 生产日期: 2025-01-15 有效期: 2025-12-31 纸箱 2 批次属性 批次号: BATCH-2025-002 生产日期: 2025-02-01 有效期: 2026-01-31
关键原则:批次属性应跟随最小包装单元。同一托盘上的不同纸箱可能携带不同的批次号和生产日期。WMS 在收货时必须逐箱扫描并确认批次属性,不能将托盘级批次属性直接下推到所有子包装。