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 触发收货准备。完整交互流程包含以下步骤:
- 供应商发送 ASN:供应商在货物发运前,通过 EDI 系统生成 DESADV 报文并发送至 EDI 平台。
- EDI 平台校验与转换:EDI 平台对报文进行语法校验(EDIFACT / X12 标准),并将数据转换为 WMS 可识别的 JSON 或 XML 格式。
- WMS 接收与校验:WMS 接收转换后的 ASN 数据,执行字段完整性校验、批次属性校验、订单匹配校验。
- WMS 生成预收货单:校验通过后,WMS 自动生成预收货单(Pending Receipt),分配收货 dock 和预计上架库位。
- 实际收货与比对:货物到达后,WMS 操作员扫描 SSCC 或物料条码,系统将实际收货数据与 ASN 进行比对,记录差异。
- 批次属性确认:实际收货时再次确认批次号、生产日期、有效期,若与 ASN 不符则触发差异处理流程。
常见数据质量风险:ASN 中的批次属性与实际货物不一致(如有效期提前或延后)、ASN 中批次号为空但实际货物有批次、ASN 中 SSCC 重复或格式错误。这些都需要在步骤 3 和步骤 6 设置校验规则。
3.4 交互流程示意图
以下 SVG 图展示了 EDI 发货通知从供应商到 WMS 的完整交互流程,包含关键校验节点:
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 图展示了包装层级与批次属性的对应关系:
关键原则:批次属性应跟随最小包装单元。同一托盘上的不同纸箱可能携带不同的批次号和生产日期。WMS 在收货时必须逐箱扫描并确认批次属性,不能将托盘级批次属性直接下推到所有子包装。