Walgreens 是美国领先的连锁药房及健康零售企业之一,拥有遍布全美的门店网络及成熟的供应链体系。作为大型零售商,Walgreens 对供应商的信息化协同能力要求极高,在订单处理、发货通知、库存补货及对账结算等环节,均采用标准化的 EDI(Electronic Data Interchange)系统进行数据交换。通过 EDI,Walgreens 能够实现采购流程自动化、提升库存周转效率,并确保供应链信息的实时同步。
为满足 Walgreens 的 EDI 对接要求,国内某供应商启动了与其系统的电子化连接建设。本项目基于知行之桥 EDI 系统实施,通过标准报文解析、数据格式转换与系统集成,实现了订单(如 850)、发货通知(856)、发票(810)等核心业务单据的自动化处理。该方案不仅帮助企业顺利通过 Walgreens 的 EDI 测试与上线流程,也为其后续拓展更多北美零售客户奠定了稳定的数字化基础。
Walgreens EDI 需求分析
在开始实施 EDI 项目之前,需要与 Walgreens 确认本次 EDI 项目的技术规范,通常包括:
- 传输协议
- 报文标准
- 业务单据类型
传输协议
目前国际通用的EDI传输协议包括:AS2、OFTP、SFTP以及VAN等,本项目采用 AS2 协议实现与 Walgreens 的点对点安全直连。AS2 具备加密传输、签名校验与 MDN 回执机制,是当前各行业应用最广泛的 EDI 通信方案之一。
报文标准:X12
X12是国际通用的电子数据交换标准,被广泛应用于北美零售行业。Walgreens 要求所有业务报文均遵循 X12 4010版本规范。对供应商而言,需要:
接收报文:EDI 850 采购订单、EDI 860 采购订单变更、EDI 861 接收通知、820汇款通知单
发送报文:EDI 861 接收通知、EDI 810 发票
如何在知行之桥EDI系统中实现Walgreens EDI 对接
建立 AS2 连接
通过知行之桥 EDI 系统内置的 AS2 模块,可快速完成证书交换、签名加密算法配置及 MDN 回执设置,实现与 Walgreens 测试环境及正式环境的无缝对接。
整个 AS2 测试流程在可视化界面中完成,无需额外开发,大幅降低实施门槛与对 IT 资源的依赖。
数据格式转换
本项目采用“EDI → XML → JSON → ERP”分层转换架构,确保数据结构清晰、可追溯、易扩展。
搭建好传输通道之后,就可以传输数据了。Walgreens EDI 项目中需要传输符合 X12报文标准的文件,通过知行之桥EDI系统的X12端口即可实现XML和EDI之间的格式转换,接下来还需要XMLMap端口来处理必要的数据映射部分。
接下来需要通过JSON端口实现 EDI报文与Json文件之间的格式转换:
业务数据的接收方向:
- 将 EDI 850 采购订单、EDI 860 采购订单变更、EDI 861 接收通知、820汇款通知单报文转换为标准 XML
- 通过 XMLMap 实现字段映射
- 输出结构化 JSON 文件供 ERP 直接调用
通过该流程,企业无需理解复杂的 EDIFACT 报文结构,即可直接获取结构化业务数据。
业务数据的发送方向:
- ERP 上传接收通知、发票数据(JSON)
- 转换为 XML 中间格式
- 经 XML Map 及 X12 模块生成 EDI 861 接收通知、EDI 810 发票报文
- 通过 AS2 自动发送至 Walgreens
整个流程实现全自动触发与日志监控,避免人工干预导致的数据错误。
系统集成方式
通过数据格式转换,我们能够实现EDI报文与XML之间的转换,为了方便用户查看,还需要以XML作为中间格式,进一步地将其处理为Excel、CSV、Json、数据库XML等格式。可以满足用户直接从EDI系统中获取数据的需求,也能够满足进一步系统集成的需求。
本次Walgreens EDI 项目采用 API 方案实现 EDI 系统与企业内部 ERP 系统之间的集成,与企业沟通后决定,由企业内部 ERP 系统调用知行之桥 EDI 系统的 API 接口来实现业务数据的上传和下载。我们将会为企业提供 API 接口信息,方便企业的 ERP 系统访问。
项目成果
在知行之桥EDI系统中可以搭建以下工作流即可满足Walgreens 的EDI对接需求:

针对Walgreens 的EDI 需求,以AS2传输协议,6种业务单据(861分为生成和解析两部分)为例,搭建以上工作流,需要用到17个端口(其中Branch端口和Notify端口为免费端口,AS2端口接收和发送在界面呈现为2个模块,但实际上按照1个端口计数。)企业可以据此评估需要部署知行之桥EDI系统的对应版本。
项目成果包括:
- 成功建立 AS2 安全通信通道
- 实现 EDI 850 采购订单、EDI 860 采购订单变更、EDI 861 接收通知、820汇款通知单、EDI 810 发票报文核心报文自动化处理
- 一次性通过Walgreens测试环境验证
项目注意事项
EDI 850 采购订单
1.系统转换与订单编号规则
- 编号长度变化:Walgreens 正在向 SAP 系统过渡。SAP 系统的采购订单编号为 10 位数字,且以“45”开头;而尚未转换的配送中心(DC)仍沿用 8 位数字的旧有编号(前两位为 DC 编号)。
- 一致性要求:供应商在后续的交易(如 ASN 856、发票 810)中,必须使用与采购订单完全一致的 PO 编号。如果编号不匹配,将导致 SAP 系统中的“三方匹配”(PO、收货、发票)失败,进而影响付款处理。
2.供应商与产品识别信息
- 供应商编号:订单中会包含 Legacy 6 位营销供应商编号或 SAP 10 位供应商编号。在未来的 SAP 环境中,该编号将用于所有申报和识别过程。
- 订货号(Ordering Number):对于 SAP 配送中心的订单,订货号将反映所订购的计量单位。例如,如果订购单位是“箱(Case)”,PO 上显示的将是 14 位的厂商包装 UPC(GTIN),而非供应商之前在 AIS 系统中选择的编号。
- SAP 商品号:在 SAP 系统生成的 PO 中,PO114/PO115 字段会包含 SAP 商品号(Article Number)。供应商应为此做好记录,因为未来的退货交易可能必须使用此编号。
3.价格与成本细节
- 双重成本显示:采购订单现在会反映两种成本:总成本(Gross Cost)和净成本(Net Cost)。
- PO104 字段显示的是应用所有优惠后的净成本,这是供应商在开具发票时应收取的金额。
- PO304 字段显示的是未扣除优惠前的总成本。
- 发票减让(Off-invoice Allowances):任何发票减让都会反映在 PO 上,供应商在开具发票时应据此执行。
4.时间要求与日期标识
- 关键日期限定:供应商需严格遵守 PO 中的日期限定符(Qualifiers),如:
- 037:不早于该日期发货(Ship Not Before)。
- 038:不晚于该日期发货(Ship No Later)。
- 074:要求的送货截止日期(Requested for Delivery)。
5.特殊订单类型与程序
- 新增订单类型:SAP 环境引入了信息性采购订单(Informational PO)促销采购订单(Promotional PO)。
- 受控物质订单(CSOS):对于涉及受控物质的交易,不得使用 HEX 15 作为段终止符,必须使用 HEX 7E(即波浪号 ~)。此外,此类订单需要包含 DEA 药物列表相关信息。
- 中央直供订单(CDPO):此类订单以“99”开头,仅存在于旧系统中。
EDI 860 采购订单变更
1.核心匹配规则:三方匹配 (3-Way Match)
- 付款依据:Walgreens 的付款流程严格基于三方匹配,即采购订单(PO)、收货凭证(Receipt)和发票(Invoice)必须完全一致。
- 短付款风险:如果发票金额超过 PO 成本,或者发票数量超过 Walgreens 实际收到的数量,系统将导致短付款(Short Payment)。
- 数据一致性:供应商必须在发票中使用与 PO 完全一致的采购订单编号。SAP 系统的订单号为 10 位(45 开头),旧系统为 8 位。如果编号不符,将导致三方匹配失败,进而影响付款解析。
2.关键标识符与编号要求
- 供应商编号:发票头部的 N1*VN 段必须包含 6 位的 Legacy 营销供应商编号或 10 位的 SAP 供应商编号。
- 付款账号:发票必须包含 Walgreens 分配的 Accounts Payable (AP) Number(通常可在付款支票中找到),放置在 REF*VR 字段。
- 发票号唯一性:每个发票号码在 24 个月的滚动周期内必须是唯一的,不得重复使用。
- 送货地址标识:
- 旧系统:使用 13 位的 DUNS+4 编码。
- SAP 系统:必须使用 4 位的字母数字站点编号(Site Number)。
3.金额与成本细节
- 净价开票:发票金额应反映应用所有优惠后的净成本(Net Cost)。PO 上显示的任何发票减让(Off-invoice allowances)都必须应用在发票上。
- 小数位精度:
- 对于旧系统订单,单价仅支持 2 位小数。
- 对于 SAP 系统订单,单价可接受最多 4 位有效小数。
- 折扣与条款:如果包含折扣条款,必须完整填写 ITD 段的所有相关元素(如 ITD01-ITD08 和 ITD12),且 Walgreens 目前不接受拆分付款条件(Split payment terms)的发票。
4.项目与特定编码
- 行号匹配:发票的行项目编号(IT101)必须与原始采购订单中的行号(PO101)完全一致,以确保 SAP 系统能顺利处理。
- 商品识别:Walgreens 倾向于在发票中接收其内部的 WIC 编号。此外,除非是费用项目(Expense items),否则不应使用供应商物品编号(VN 限定符)。
5.发送时间与监控反馈
- 时效性:发票应在货物交付后的 48 小时内发送给 Walgreens。Walgreens 仅接受每日 EDI 开票,不接受纸质报表。
- 反馈监控:供应商应每日监控 EDI 发票确认函(997 确认报文)和错误通知。如果发送发票后 24 小时内未收到 997 确认,必须通知 Walgreens。
- 异常处理:对于被系统拒绝的无效数据发票,供应商可能被要求提供纸质发票作为补偿。
6.禁止操作
- 严禁拆分:Walgreens 目前无法接受拆分项目(Split invoice items)的发票。
- 禁止合并 PO:单个发票号码不能跨越多个采购订单;但一个采购订单可以对应多个发票号。
- 真实性要求:严禁对发票进行可能导致重复付款的改动,否则可能导致 EDI 合作伙伴关系终止。
项目总结
本次 Walgreens EDI 项目,是典型的医药行业 X12 4010 对接案例。通过 AS2 安全传输、标准化报文转换及 API 系统集成,企业成功实现预测管理、发货通知与收货对账的全流程自动化。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。

AS2 认证信息
OFTP 证书
SAP 证书
知行之桥®
