在零售与电商供应链体系中,库存数据的实时准确传递直接影响订单履约能力与客户满意度。
对于采用 Drop Ship(直发采购)模式的企业而言,库存同步更是关键环节。
Northern Tool + Equipment 作为美国知名工具与设备零售商,在其供应商协同体系中广泛采用 ANSI X12 标准的 EDI 846 报文,用于库存数据交换。
本文将结合 Northern Tool 实际规范与示例报文,对 EDI 846 库存报告报文进行系统拆解与业务解读,帮助技术人员全面理解其结构与应用逻辑。
EDI 846 报文整体结构概览
EDI 846(Inventory Inquiry / Advice)用于在交易双方之间传递库存可用信息,常见于:
- 零售商与供应商之间库存同步
- Drop Ship(直发)库存更新
- 电商平台库存对接
- VMI(供应商管理库存)场景
一份完整的 846 报文通常包含三个层级结构:
ISA -- 交换层
GS -- 功能组层
ST -- 事务层(846)
Header(头部)
Detail(明细循环:LIN/QTY)
SE
GE
IEA
Northern Tool EDI 846 示例报文
ST*846*0022~
BIA*00*MB*234567*20260211~
REF*IA*11374568~
N1*SF*ShipFromName~
N3* ShipFromRD~
N4*XIAN*SX*710100~
LIN**BP*AA.11.22.33.0223*VP*AA.11.22.33.0223*UP*161345678901~
QTY*33*100*EA~
LIN**BP*AA.11.02.02.0022*VP*AA.11.02.02.0022*UP*161345678902~
QTY*33*100*EA~
LIN**BP*AA.11.02.33.0033*VP*AA.11.02.33.0033*UP*161345678903~
QTY*33*100*EA~
SE*13*0022~
GE*1*114~
IEA*1*000002214~
本示例报文的结构如下:
ISA
GS
ST
BIA
REF
N1/N3/N4
LIN/QTY (循环)
SE
GE
IEA
控制段(ISA / GS / ST)
846 属于 ANSI X12 标准,其控制结构分为三层。
1.ISA -- Interchange Control Header
作用:定义交换级信息(发送方、接收方、时间、控制号等)
典型结构:
|---|--------------------------------------|
| 1 | ISA*...*InterchangeControlNumber~ |
关键作用:
- 定义发送方与接收方 ID
- 指定版本号
- 指定分隔符
- 用 IEA 进行控制号匹配校验
注:ISA / IEA 是最外层交换控制。
2.GS -- Functional Group Header
作用:定义功能组类型。
在 846 中:
|---|---------------|
| 1 | GS*IB*...~ |
- IB = Inventory Inquiry/Advice 功能组
- GE 段用于关闭功能组
- GS06 与 GE02 必须一致
注意:一个 GS 里可以包含多个 846(ST/SE)。
3.ST -- Transaction Set Header
示例:
|---|-----------------|
| 1 | ST*846*0022~ |
含义:
| 元素 | 含义 |
|---|---|
| 846 | 事务类型:库存报告(Inventory Inquiry / Advice) |
| 0022 | 事务控制号(Transaction Control Number) |
SE 段必须与 ST 控制号一致:
|---|----------------|
| 1 | SE*13*0022~ |
其中:
- 13 = 报文段总数(包含 ST 和 SE)
- 0022 = 必须与 ST02 相同
报文结构分析
846 报文通常分为三部分:
1.Header(头部)
包括:
- BIA -- 报文基本信息
- REF -- 参考信息
- N1/N3/N4 -- 库存位置
示例:
|-----------|--------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 | BIA*00*MB*234567*20260211~ REF*IA*11374568~ N1*SF*ShipFromName~ N3*ShipFromRD~ N4*XIAN*SX*710100~ |
说明:
- 报告编号
- 报告日期
- 库存归属仓库
- 发货地点
2.Detail(明细循环)
核心循环结构:
|-------|------------------|
| 1 2 3 | LIN QTY (DTM 可选) |
每一个 LIN 表示一个库存物料。
示例:
|-----|------------------------------------------------------------------------------------------|
| 1 2 | LIN**BP*AA.11.22.33.0223*VP*AA.11.22.33.0223*UP*161345678901~ QTY*33*100*EA~ |
说明:
- 物料编码(支持多种编码类型)
- 当前可销售库存数量
注意:此循环可重复最多 10000 次。
3.Summary(汇总)
|-------|-----------|
| 1 2 3 | SE GE IEA |
用于关闭事务、功能组与交换层。
具体报文段及含义
下面对关键业务段进行逐一说明:
1.BIA -- Beginning Segment
示例:
BIA00 MB23456720260211~
| 元素 | 含义 |
|---|---|
| 00 | Original 报文(原始库存报告) |
| MB | Manufacturer / Distributor Inventory Report(制造商/分销商库存报告) |
| 234567 | 报告编号(Inventory Report Number) |
| 20260211 | 报告日期(格式:YYYYMMDD) |
注意:BIA字段主要用于标识库存报告的编号与时间。
2.REF -- Reference
|---|---------------------|
| 1 | REF*IA*11374568~ |
- IA = Internal Vendor Number
- 11374568 = 内部供应商编号
用于系统内部映射或合同识别。
3.N1 / N3 / N4 -- 库存地点
|---|------------------------|
| 1 | N1*SF*ShipFromName~ |
| 代码 | 含义 |
|---|---|
| SF | Ship From(发货方/库存发出地点) |
用于标识库存仓库。
4.LIN -- 物料识别
|---|-----------------------------------------------------------------------|
| 1 | LIN**BP*AA.11.22.33.0223*VP*AA.11.22.33.0223*UP*161345678901~ |
| Qualifier | 含义 |
|---|---|
| BP | Buyer Part Number(买方物料号) |
| VP | Vendor Part Number(供应商物料号) |
| UP | UPC Code(通用产品条码) |
支持多个物料标识并存。
5.QTY -- 库存数量
|---|--------------------|
| 1 | QTY*33*100*EA~ |
| 元素 | 含义 |
|---|---|
| 33 | Quantity Available for Sale(可销售库存数量) |
| 100 | 可销售数量(库存数值) |
| EA | 单位:Each(件) |
这是 846 的核心数据段。
6.DTM(可选)
|---|----------------------|
| 1 | DTM*018*20260215~ |
当DTM01取值为 018,即Available Date,表示该库存数量的可用时间。
若未发送 DTM,默认表示"当前库存"。
业务总结
EDI 846 的核心价值:
- 实时库存同步
- 减少缺货风险
- 支持 Drop Ship 模式
- 支持电商库存接口
- 支持多 SKU 批量更新
从系统实现角度:
- 每个 LIN 必须配套至少一个 QTY
- QTY 33 是最常用库存类型
- 控制号(ISA/GS/ST)必须严格匹配
- SE01 段数必须准确
通过上述介绍,我们了解了Northern Tool EDI 846报文的各字段含义,接下来我们来了解使用此报文的注意事项。
Northern Tool EDI 846 库存报告注意事项
EDI 846 库存报告通常由供应商发送至 Northern Tool,用于定期同步库存状态。
供应商在发送库存报告时有哪些具体的时间和频率限制?
供应商在发送 846 库存查询/通知(Inventory Inquiry/Advice)报告时,必须遵循以下具体的时间和频率限制:
- 发送频率:最多每天发送一次。
- 发送时间:应在早晨发送。
- 发送日期:仅在正常工作日发送,排除周末和节假日。
此外,这些准则仅适用于 Northern Tool + Equipment 销售的**直接面向消费者(代发货/Drop Ship)**的商品
延期交货(Backorder)处理规则
如果商品处于延期交货(Backorder)状态,供应商在发送 846 库存报告时需要遵循以下具体规定:
- 必须包含 DTM 段:当商品处于延期交货状态时,必须在 **QTY 循环(QTY loop)**中包含 DTM(日期/时间参考)段。
- 使用特定的限定符:在 DTM01 元素中,必须使用代码 "018″,表示"可用日期"(Available)。
- 报告预计可用日期:在 DTM02 元素中,需以 CCYYMMDD 格式提供该商品预计可供货的具体日期。
- 系统假设:
- 如果包含 DTM 段, Northern Tool 会假设在 QTY 段中报告的数量将于 DTM 段指定的日期可用。
- 如果在 QTY 循环中未发送 DTM 段,系统则默认报告的数量为当前现货可用。
简而言之,报告延期交货商品的关键在于通过 DTM 段明确告知该批库存的具体可用日期。