
在汽车供应链中,主机厂的需求计划会随着生产节奏持续滚动更新。Ferrari 通过 ODETTE DELINS 报文向供应商发送物料交付计划,供应商需要将这些计划转换为 ERP、SRM、MES 或生产计划系统可以识别的结构化数据。
本文参考 Ferrari DELINS 规范,并结合测试报文,说明 Ferrari DELINS 报文如何表达业务信息,以及 EDI 对接时需要重点处理哪些字段、层级和异常点。
DELINS 是 ODETTE 标准中的 Delivery Instruction / Delivery Schedule 类报文。Ferrari 使用它向供应商传递指定零件在未来一段时间内的交付需求。
一份 Ferrari DELINS 不只是“哪天交多少件”,还会同时说明:
对供应商而言,DELINS 的关键不是解析出一串段名,而是把“报文头 – 工厂 – 物料 – 交付明细”的上下级关系完整保留下来,避免计划行在导入 ERP 时失去归属。
项目 | Ferrari DELINS 要求 |
|---|---|
报文标准 | ODETTE DELINS Version 3 |
测试报文类型 | UNH+1+DELINS:3::OD:INTESA |
业务用途 | Ferrari 向供应商发送交付计划 / Delivery plans |
报文发送方 | UNB 中发送方为 FERRARI:AA |
接收方 | UNB 中接收方为供应商代码,例如 27****:AA |
报文编号 | MID 中 Program Number,例如 0003**** |
报文日期时间 | MID 中日期和时间,例如 260409:0000 |
计划有效期开始 | ARI 中 Effective from date,例如 260413 |
买方 | BDT,例如 0940********0366 |
供应商 | SDT,例如 27**** |
收货工厂 / 目的地 | CSG,例如 030 |
物料信息 | ARD,包含 Ferrari 零件号、描述、单位、合同/订单号 |
物料附加信息 | SAD,包含更新动作、物料状态和计划频率 |
状态/累计信息 | DST,包含计算日期及累计数量等状态字段 |
交付明细 | DEL,包含起止日期、数量和计划类型 |
执行/即时需求 | DEL 中计划状态 1 |
计划/预测需求 | DEL 中计划状态 4 |
测试报文通常包含多行物料、每个物料包含多行交付明细。报文整体结构如下:
UNA
UNB
UNH
MID
SDT
BDT
ARI
CSG
ARD
SAD
DST
DEL...
ARD
SAD
DST
DEL...
CSG
ARD...
UNT
UNZ以下示例基于测试场景整理,已对业务标识信息进行处理,仅用于说明 DELINS 报文结构和字段含义。
UNA:+.? '
UNB+UNOA:1+FERRARI:AA+27****:AA+260409:0645+2++DELINS'
UNH+1+DELINS:3::OD:INTESA'
MID+0003****+260409:0000'
SDT+::::::27****'
BDT+0940********0366'
ARI+4+260413'
CSG+::::::030'
ARD+055058***::BLACK SCREEN FISSO DX CPL+:PCE+000012****'
SAD+1++20++2'
DST+260409+4::4'
DEL+260413:0000:260413:0000+1:::1'
DEL+260416:0000:260416:0000+0:::1'
DEL+260420:0000:260420:0000+1:::1'
DEL+260423:0000:260423:0000+2:::1'
...
DEL+260608:0000:260614:0000+1:::4'
DEL+260615:0000:260621:0000+5:::4'
DEL+260622:0000:260628:0000+5:::4'
...
DEL+270916:0000:270922:0000+0:::4'
DEL+270923:0000:270929:0000+0:::4'
DEL+270930:0000:271006:0000+0:::4'
CSG+::::::030'
ARD+055058***::BLACK SCREEN FISSO SX CPL+:PCE+000012****'
SAD+1++20++2'
DST+260409+4::4'
DEL+260413:0000:260413:0000+1:::1'
...
ARD+055059***::CONDOTTO PORTA ANT SX CPL+:PCE+000012****'
SAD+1++20++2'
DST+260409'
DEL+260413:0000:260413:0000+0:::1'
...
ARD+055059***::CONDOTTO PORTA ANT DX CPL+:PCE+000012****'
SAD+1++20++2'
DST+260409'
DEL+260413:0000:260413:0000+0:::1'
...
UNT+348+1'
UNZ+1+2'将报文还原为业务信息后,可以得到以下概览:
业务信息 | 示例值 | 含义 |
|---|---|---|
报文发送方 | FERRARI | Ferrari 发出交付计划 |
供应商代码 | 27**** | 接收该 DELINS 的供应商 |
报文类型 | DELINS:3::OD:INTESA | ODETTE DELINS V3,Intesa 子集 |
报文编号 | 0003**** | 本次计划的 Program Number |
报文日期时间 | 2026-04-09 00:00 | Ferrari 创建本次计划的日期时间 |
计划有效期开始 | 2026-04-13 | 规范说明为文件日期之后的周一 |
买方代码 | 0940********0366 | Ferrari 买方识别号 |
收货工厂 | 030 | Recipient Plant Code / 收货工厂代码 |
报文体段数 | 348 | UNT+348+1,从 UNH 到 UNT 的段数 |
物料数 | 4 | 示例中有 4 个 ARD 物料块 |
交付明细数 | 326 | 示例中有 326 条 DEL 明细 |
测试报文中的 4 个物料如下:
序号 | Ferrari 零件号 | 描述 | 单位 | 合同/订单号 | DEL 条数 | 非零需求条数 | 数量合计 |
|---|---|---|---|---|---|---|---|
1 | 055058*** | BLACK SCREEN FISSO DX CPL | PCE | 000012**** | 82 | 58 | 1,005 |
2 | 055058*** | BLACK SCREEN FISSO SX CPL | PCE | 000012**** | 82 | 58 | 1,005 |
3 | 055059*** | CONDOTTO PORTA ANT SX CPL | PCE | 000012**** | 81 | 49 | 993 |
4 | 055059*** | CONDOTTO PORTA ANT DX CPL | PCE | 000012**** | 81 | 48 | 992 |
按 DEL 中的计划状态汇总:
计划状态 | 业务含义 | DEL 条数 | 数量合计 |
|---|---|---|---|
1 | Executive / Immediate,执行或即时交付需求 | 62 | 22 |
4 | Planned / Expected,计划或预测需求 | 264 | 3,973 |
合计 | 326 | 3,995 |
从示例可以看到,Ferrari 会在同一份 DELINS 中混合发送近期执行需求和远期预测需求。供应商系统应保留计划状态,不应把所有数量都当成同一种业务性质处理。
报文头用于识别“谁发给谁、哪一份计划、什么时候生成”。
报文内容 | 业务含义 | 示例 |
|---|---|---|
UNA:+.? ‘ | EDIFACT 服务字符定义 | 分隔符、释放符等 |
UNB | 交换信封 | Ferrari 发给供应商 27****,交换日期时间为 2026-04-09 06:45 |
UNH | 消息头 | 消息引用号 1,报文类型 DELINS V3 |
MID | Message Identity Data | Program Number 为 0003****,报文日期时间为 2026-04-09 00:00 |
UNT | 消息尾 | 报文体段数 348,消息引用号 1 |
UNZ | 交换尾 | 本交换包含 1 条消息,交换控制号 2 |
处理建议:
Ferrari DELINS 使用不同段表达供应链参与方。
段 | 规范名称 | 示例 | 业务含义 |
|---|---|---|---|
SDT | Seller Details | SDT+::::::27**** | 供应商信息,示例中供应商号为 27**** |
BDT | Buyer Details | BDT+0940********0366 | 买方信息,规范说明为 0940 + Ferrari VAT registration number |
CSG | Recipient Details | CSG+::::::030 | 收货工厂 / 目的地,示例中工厂代码为 030 |
注意:UNB 的接收方、SDT 的供应商和 CSG 的收货工厂是不同业务角色。对接时应分别映射,不要全部写入同一个“客户/供应商代码”字段。
ARI 段提供本次交付计划的附加信息。
报文内容 | 字段含义 | 示例值 | 说明 |
|---|---|---|---|
ARI+4+260413 | Release Type Code | 4 | 规范中 Ferrari 固定为 Message Type Code 4 |
ARI+4+260413 | Effective from date | 260413 | 本次计划有效期开始日:2026-04-13 |
规范说明 ARI 的有效期开始日期表示报文日期之后的周一。测试报文 MID 日期为 2026-04-09,ARI 为 2026-04-13,正好是之后的周一。
ARD 是 Ferrari DELINS 中最核心的物料段。每个 ARD 表示一个 Ferrari 零件及其对应的合同/订单关系。
示例:
ARD+055058***::BLACK SCREEN FISSO DX CPL+:PCE+000012****'解析为:
位置 | 示例值 | 业务含义 |
|---|---|---|
ARD/7304 | 055058*** | Ferrari 买方零件号 |
ARD/7008 | BLACK SCREEN FISSO DX CPL | 物料描述 |
ARD/6410 | PCE | 数量单位 |
ARD/1022 | 000012**** | 合同号或采购订单号/行号组合 |
规范对 ARD 的 1022 字段有特别说明:合同号右对齐并补零至 10 位,合同位置右对齐并补零至 4 位,组合为 14 位。例如合同号与行号会按固定位数补零后拼接。示例中的 000012**** 可按“订单/合同号 + 行号”的组合字段处理。
如果 Ferrari 计划携带项目号,规范说明零件号可能扩展为 16 位:前 9 位为零件号,后接 1 个空格和 6 位项目号。对接时建议为“Ferrari 零件号”和“项目号”预留拆分逻辑。
SAD 用于描述物料层面的附加信息,例如更新动作、物料状态、计划频率。
示例:
SAD+1++20++2'解析为:
位置 | 示例值 | 业务含义 |
|---|---|---|
SAD/7807 | 1 | Instruction Update Action Code / Type of Scheduling |
SAD/7153 | 20 | Article status,规范示例中固定为 20 |
SAD/2013 | 2 | Program Emission Frequency,计划发布频率 |
SAD/2013 的常见取值:
代码 | 业务含义 |
|---|---|
2 | Daily programming,日计划 |
3 | Weekly programming,周计划 |
4 | Monthly programming,月计划 |
5 | Other / closed order programming,其他或关闭订单计划 |
测试报文 4 个物料均为 SAD+1++20++2,表示本次物料层计划频率为日计划。但明细 DEL 中同时存在日粒度和周粒度日期区间,因此导入 ERP 时不能只依赖频率字段,还应结合 DEL 的起止日期判断计划粒度。
DST 是 Delivery Status 段,用于表达计算日期、累计计划数量、累计收货数量、差异数量等状态信息。
示例:
DST+260409+4::4'
DST+260409'规范定义的关键字段包括:
字段 | 业务含义 |
|---|---|
DST/2253 | Calculation Date / Limit Date,计算日期 |
DST/6802 | Actual cumulative scheduled quantity,累计计划数量 |
DST/6804 | Actual cumulative received quantity,累计接收数量 |
DST/6806 | Delivery Quantity Balance,交付数量差异,可带正负号 |
DST/2121 | Quantities Accumulation Start Date,累计开始日期 |
DST/6812 | Quantity Balance,数量余额 |
示例中 DST 信息较简略,至少应读取 260409 作为状态计算日期。若后续生产报文携带累计数量,应将其作为历史收发货与当前计划之间的对账依据。
DEL 是交付计划明细段。每条 DEL 对应一个日期或日期区间、数量和计划状态。
示例:
DEL+260413:0000:260413:0000+1:::1'
DEL+260608:0000:260614:0000+1:::4'解析为:
位置 | 示例值 | 业务含义 |
|---|---|---|
DEL/2803 | 260413 | 起始日期,2026-04-13 |
DEL/2002 | 0000 | 起始时间,00:00 |
DEL/2805 | 260413 | 结束日期,2026-04-13 |
DEL/2002 | 0000 | 结束时间,00:00 |
DEL/6060 | 1 | 数量 |
DEL/6811 | 1 或 4 | 计划状态:执行/即时或计划/预测 |
DEL/6811 的含义:
代码 | 规范含义 | 对接建议 |
|---|---|---|
1 | Executive / Immediate,Delivery Order | 可作为近期较确定的执行需求或发货参考 |
4 | Planned / Expected | 用于备料、产能规划和中长期预测 |
示例中,近期存在单日需求:
序号 | 起始时间 | 结束时间 | 数量 | 状态 |
|---|---|---|---|---|
1 | 2026-04-13 00:00 | 2026-04-13 00:00 | 1 | 1 执行/即时 |
2 | 2026-04-16 00:00 | 2026-04-16 00:00 | 0 | 1 执行/即时 |
3 | 2026-04-20 00:00 | 2026-04-20 00:00 | 1 | 1 执行/即时 |
4 | 2026-04-23 00:00 | 2026-04-23 00:00 | 2 | 1 执行/即时 |
也存在周粒度的远期预测:
序号 | 起始时间 | 结束时间 | 数量 | 状态 |
|---|---|---|---|---|
1 | 2026-06-08 00:00 | 2026-06-14 00:00 | 1 | 4 计划/预测 |
2 | 2026-06-15 00:00 | 2026-06-21 00:00 | 5 | 4 计划/预测 |
3 | 2026-06-22 00:00 | 2026-06-28 00:00 | 5 | 4 计划/预测 |
4 | 2026-06-29 00:00 | 2026-07-05 00:00 | 5 | 4 计划/预测 |
5 | 2026-07-06 00:00 | 2026-07-12 00:00 | 5 | 4 计划/预测 |
段 | 示例 | 说明 |
|---|---|---|
UNA | UNA:+.? ‘ | 定义 EDIFACT 分隔符 |
UNB | UNB+UNOA:1+FERRARI:AA+27****:AA+260409:0645+2++DELINS | 交换信封,包含发送方、接收方、交换日期时间和控制号 |
UNH | UNH+1+DELINS:3::OD:INTESA | 消息头,说明消息类型为 ODETTE DELINS V3 |
字段 | 示例值 | 说明 |
|---|---|---|
Program Number | 0003**** | 计划编号 / 文档编号 |
Date | 260409 | 报文日期,2026-04-09 |
Time | 0000 | 报文创建时间 |
段 | 示例 | 说明 |
|---|---|---|
SDT | SDT+::::::27**** | 供应商编号 |
BDT | BDT+0940********0366 | Ferrari 买方编号 |
CSG | CSG+::::::030 | 收货工厂或目的地代码 |
字段 | 示例值 | 说明 |
|---|---|---|
Release Type Code | 4 | Ferrari 规范中 Message Type Code 为 4 |
Effective from date | 260413 | 计划有效期开始日期,2026-04-13 |
字段 | 示例值 | 说明 |
|---|---|---|
Buyer’s Article Number | 055058*** | Ferrari 零件号 |
Seller’s Article Number | 空 | 供应商零件号,示例未使用 |
Article Description | BLACK SCREEN FISSO DX CPL | 零件描述 |
Unit of Measurement | PCE | 计量单位 |
Order / Contract Number | 000012**** | 合同/订单及行号组合 |
字段 | 示例值 | 说明 |
|---|---|---|
Instruction Update Action Code | 1 | 物料层计划动作/计划类型 |
Article Status | 20 | 物料状态 |
Frequency | 2 | 日计划 |
字段 | 示例值 | 说明 |
|---|---|---|
Calculation Date | 260409 | 状态计算日期 |
Actual cumulative scheduled quantity | 4 | 示例部分物料携带累计计划数量 |
Cumulative received quantity / balance | 4 | 示例中以简化复合字段形式出现,导入时需按接口映射确认 |
字段 | 示例值 | 说明 |
|---|---|---|
First date / time | 260413:0000 | 起始日期时间 |
Last date / time | 260413:0000 | 结束日期时间 |
Quantity | 1 | 需求数量 |
Scheduled status indicator | 1 或 4 | 1 执行/即时,4 计划/预测 |
建议将 Ferrari DELINS 转换为如下层级,避免物料和计划明细脱离所属工厂、订单和报文版本:
FerrariDELINS
├─ MessageHeader
├─ Parties
│ ├─ Sender
│ ├─ ReceiverSupplierCode
│ ├─ BuyerCode
│ └─ SellerCode
└─ Consignees[]
├─ ConsigneePlantCode
├─ ConsigneeName
└─ Items[]
├─ FerrariPartNumber
├─ Description
├─ UnitOfMeasure
├─ ContractOrOrderNumber
├─ InstructionUpdateAction
├─ ArticleStatus
├─ ProgramFrequency
└─ Schedules[]
├─ StartDateTime
├─ EndDateTime
├─ Quantity
└─ ScheduleStatus如果 ERP 只能接收扁平明细,至少应在每条计划明细中带上以下字段:
字段 | 必要性 | 说明 |
|---|---|---|
ProgramNumber | 必填 | 本次 DELINS 编号 |
MessageDateTime | 必填 | 判断版本先后 |
SupplierCode | 必填 | 供应商 |
BuyerCode | 建议必填 | Ferrari 买方 |
ConsigneePlantCode | 必填 | 收货工厂 |
FerrariPartNumber | 必填 | Ferrari 零件号 |
PartDescription | 建议必填 | 便于业务核对 |
UnitOfMeasure | 必填 | 数量单位 |
ContractOrOrderNumber | 必填 | 合同/订单关联 |
ProgramFrequency | 建议必填 | 日/周/月计划 |
StartDateTime | 必填 | 计划开始时间 |
EndDateTime | 必填 | 计划结束时间 |
Quantity | 必填 | 需求数量,可为 0 |
ScheduleStatus | 必填 | 1 或 4,区分执行需求与预测需求 |
测试报文虽然有 UNA/UNB/UNH/UNT/UNZ 信封,但业务段是 ODETTE DELINS 风格,例如 MID/SDT/BDT/ARI/ARD/SAD/DST/DEL。如果按 EDIFACT DELFOR 的 BGM/NAD/LIN/QTY/SCC/DTM 去映射,会丢失 Ferrari 的关键业务字段。
DEL 中的 6811 用于区分执行/即时需求和计划/预测需求。示例中 1 与 4 同时出现。ERP 导入时应保留状态字段,并让业务规则决定哪些需求用于发货、哪些用于备料和产能规划。
Ferrari DELINS 的 DEL 可以表示单日,也可以表示一段区间。比如:
DEL+260608:0000:260614:0000+1:::4'这表示 2026-06-08 到 2026-06-14 这个区间的计划数量为 1,而不是只在 2026-06-08 当天交 1 件。系统应同时保存开始日期和结束日期。
示例报文中存在大量数量为 0 的 DEL 行。它们可能用于表达某些周期没有需求,或用于覆盖/清零既有预测。是否过滤应由业务规则决定,原始解析层不建议静默删除。
示例物料层 SAD/2013 为 2,表示日计划;但远期 DEL 明细中存在周区间。建议同时保留频率字段和 DEL 起止日期,不要只根据频率推断所有计划都是单日。
规范说明 ARD/1022 是合同号/订单号与位置号的组合字段。若 ERP 需要拆分,应根据 Ferrari 确认的长度规则处理:前 10 位为合同/订单号,后 4 位为行号。示例 000012**** 可按“订单/合同号 + 行号”的组合字段处理,拆分规则需以双方确认的长度为准。
供应商可能持续收到新的 DELINS。建议用以下组合判断和追踪版本:
Sender + SupplierCode + ProgramNumber + MessageDateTime + ConsigneePlantCode + FerrariPartNumber + ContractOrOrderNumber导入新计划时,应结合 Ferrari 业务规则判断是覆盖原计划、更新同一周期,还是保留历史版本供追踪。

建议自动化流程包括:
以第一个物料为例:
CSG+::::::030'
ARD+055058***::BLACK SCREEN FISSO DX CPL+:PCE+000012****'
SAD+1++20++2'
DST+260409+4::4'
DEL+260413:0000:260413:0000+1:::1'
DEL+260608:0000:260614:0000+1:::4'对应业务含义:
字段 | 解析结果 |
|---|---|
收货工厂 | 030 |
Ferrari 零件号 | 055058*** |
物料描述 | BLACK SCREEN FISSO DX CPL |
单位 | PCE |
合同/订单号 | 000012**** |
计划频率 | 2,日计划 |
状态计算日期 | 2026-04-09 |
第一条需求 | 2026-04-13 00:00,数量 1,执行/即时 |
第二条需求 | 2026-06-08 至 2026-06-14,数量 1,计划/预测 |
校验项 | 建议规则 |
|---|---|
报文类型 | 必须为 DELINS:3::OD:INTESA 或双方约定的 Ferrari DELINS 类型 |
发送方 | UNB 发送方应为 FERRARI |
接收方 | UNB 接收方应与供应商代码匹配 |
报文编号 | MID Program Number 不应为空 |
报文日期 | MID 日期应可解析 |
有效期开始 | ARI Effective from date 应可解析 |
收货工厂 | CSG 工厂代码应在主数据中存在 |
Ferrari 零件号 | ARD 零件号应在物料主数据中存在 |
单位 | ARD 单位应在允许单位列表中,例如 PCE |
合同/订单号 | ARD 订单/合同字段不应为空 |
交付日期 | DEL 起止日期应可解析,结束日期不早于开始日期 |
数量 | DEL 数量应为数字,允许 0 |
计划状态 | DEL 状态应在允许值内,例如 1、4 |
段数 | UNT 段数应与实际消息段数一致 |
完成 Ferrari DELINS 自动化对接后,供应商可以:
Ferrari DELINS 的核心难点在于:它既有 EDIFACT 信封,又采用 ODETTE DELINS 业务段;既有单日计划,又有区间计划;既有执行需求,又有预测需求。只有在解析时保留这些业务层级和状态差异,EDI 对接才真正能支撑供应链协同。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。