HD Supply Inc.是一家总部位于美国的工业分销公司。该公司成立于1983年,总部位于佐治亚州亚特兰大市。它主要提供广泛的工业产品、设备和解决方案,涵盖建筑、能源、制造、设施维护等多个行业。其产品和服务包括管道、阀门、暖通空调设备、电气设备、工具、建筑材料等,为各种规模的客户提供一站式采购解决方案以及高质量、可靠性和专业化服务。
项目挑战
HD Supply EDI 项目需要通过 CommerceHub 平台进行 7 个业务场景的测试,测试流程较为复杂,对于初次接触 EDI 的供应商而言,难免会有些无从下手。 对于 HD Supply EDI 项目,首先供应商需要与 HD Supply 进行需求确认,然后根据已确认的需求进行实施,完成实施后就要和 HD Supply 进行业务测试,根据 HD Supply 要求的业务测试场景对传输的报文格式以及业务数据值进行测试,直至双方的业务系统都确认能够正常处理。
项目需求
传输协议:SFTP
报文标准:X12
报文类型
HD Supply 发送给企业:
- 850 采购订单
- 180 退货授权和通知
企业发送给 HD Supply:
- 855 采购订单确认
- 856 提前发货通知
- 810 发票
- 846 库存通知
EDI 解决方案
建立 EDI 通信
在知行之桥 EDI 系统的可控文件传输(MTF)端口中,选择 SFTP 端口,点击之后在弹出的 配置 界面中即可进行相应的配置。
连接到远程 SFTP 服务器需要以下设置:
- 远程主机
- 远程端口
- 认证模式
- 用户名
- 密码或客户端证书/证书密码
- 服务器指纹
- 测试与服务器的连接时,端口将提示接受/信任服务器公钥的指纹。
扩展阅读:如何使用知行之桥 EDI 系统实现 SFTP Client 和 SFTP Server 连接?
数据格式转换
搭建好 SFTP 传输通道之后,接下来需要基于知行之桥 EDI 系统进行实施,主要完成 EDI 报文的格式转换以及和客户业务系统的集成。
为了进行 EDI 报文的格式转换,供应商需要具备生成和解析 EDI 报文的能力。通过知行之桥 EDI 系统的 XMLMap 以及 X12 端口,可以快速实现 EDI 报文与 XML 之间的格式转换。
系统集成
本次 EDI 项目,采用 API 方案实现 EDI 系统与企业内部 ERP 系统之间的集成,与企业沟通后决定,由企业的 ERP 系统调用知行之桥 EDI 系统的 API 接口来实现业务数据的上传和下载。我们将会为企业提供 API 接口信息,方便企业的 ERP 系统访问。
我们的实施工程师将会根据项目的实际情况,为企业提供一份知行之桥 API 接口调用指南。接口信息包括:请求方式以及接口 URL 等。
我们和企业 ERP 系统确定的文件传输格式为 JSON,需要注意的是,API 方案中,ERP 传输给 EDI 系统的 JSON 文件数据需要进行 base 64 加密。
在知行之桥 EDI 系统中,如果选择的文件传输格式是 JSON,则可以通过 JSON 端口来实现 JSON 和 XML 之间的转换,通过可视化的配置界面即可完成,实现低代码操作。
扩展阅读:JSON 端口操作实例
项目成果
测试场景介绍
通过以往的项目经验,HD Supply EDI 项目的业务测试部分需要一周左右的时间来完成。
测试场景主要包括 7 个 case ,其中 case1-case6 分别对应 CHUB 发来的六个订单,case7 则用于 846 库存通知的测试。测试流程开始后,HD Supply 会同时发送 6 个 EDI 850 采购订单,用于测试 6 种不同的场景。CHUB 会给企业提供一个测试场景的说明文档,企业可以将接收到的订单明细(Ship To 以及 Bill To 信息等)与测试场景说明文档一一对应,从而正确匹配订单和场景。我们根据以往的项目经验对测试场景进行了总结:
场景一
- 接收 HD Supply 发来的 EDI 850 采购订单
- 接受整个订单,给 HD Supply 回复 EDI 855 采购订单回复
- 将整个订单放在一个 box 里发货,给 HD Supply 回复 EDI 856 提前发货通知
- 给 HD Supply 发送 EDI 810 发票
场景二
- 接收 HD Supply 发来的 EDI 850 采购订单
- 拒绝整个订单,给 HD Supply 回复 EDI 855 采购订单回复
场景三
- 接收 HD Supply 发来的 EDI 850 采购订单
- 接受所有订单行,给 HD Supply 回复 EDI 855 采购订单回复
- 每一个订单行都需要使用单独的 box 发货,给 HD Supply 回复 EDI 856 提前发货通知
- 给 HD Supply 发送 EDI 810 发票
场景四
- 接收 HD Supply 发来的 EDI 850 采购订单
- 接受行号为 30的订单行,拒绝行号为 50 的订单行,给 HD Supply 回复 EDI 855 采购订单回复
- 根据行号为 50 的订单行信息进行发货,给 HD Supply 回复 EDI 856 提前发货通知
- 根据已发货的物料(行号为 50)给 HD Supply 发送 EDI 810 发票
- 接收 HD Supply 发来的(line 50) 180 退货授权和通知(在切换至生产之后将会通过邮件进行提醒)
- 供应商处理行号为 50 的订单行的退货。输入有效的数量、退货原因代码和日期。
场景五
- 接收 HD Supply 发来的 EDI 850 采购订单
- 接受整个订单(包括行号为 10 的订单行 和行号为 20 的订单行),给 HD Supply 回复 EDI 855 采购订单回复
- 根据行号为 10 的订单行信息进行部分发货,给 HD Supply 回复 EDI 856 提前发货通知
- 供应商取消行号为 20 的订单行,给 HD Supply 回复 EDI 856 提前发货通知
- 根据已发货的行号为 10 的订单行给 HD Supply 发送 EDI 810 发票
- 供应商处理单个物料(行号为 10 的订单行)的退货。输入有效的数量、退货原因代码和日期。
场景六
- 接收 HD Supply 发来的 EDI 850 采购订单(包含line10,line20,line30,line40,line50)
- 接受所有的订单行,给 HD Supply 回复 EDI 855 采购订单回复
- 在生产环境中供应商从CHUB接收到取消 行号为 10 的订单行 订单行的请求
- 供应商取消行号为 10 的订单行,并根据其余订单行进行发货,给 HD Supply 回复 EDI 856 提前发货通知
- 根据已发货的订单行给 HD Supply 发送 EDI 810 发票
场景七
- 使用 OrderStream 生产账户,设置仓库位置。
- 用供应商的真实数据给 HD Supply 发送 EDI 846 库存建议
- 修改一个 SKU,将其标记为 “已停产”。
- 使用 OrderStream 接口验证库存数据。
注意事项:
供应商发送给 HD Supply 的 EDI 846 库存建议中至少需要包含两个物料。 HD Supply 将会为供应商提供相应的仓库 ID。
项目回顾
设置文件延时发送
HD Supply 要求 EDI 856 以及 EDI 810 不可以同时发送,需要先发送 EDI 856 提前发货通知,再发送 EDI 810 发票。但在实际处理过程中, 客户的EDI 856 和 EDI 810 是同时生成的,需要进行特殊处理。
在 EDI 系统中,可以在 XMLMap 端口进行延迟设置。如下图所示:
点击图中被自定义命名为 HD_810_OUT 的 XMLMap 端口,在弹出的页面中,选择导航栏第三项:高级设置,找到 延迟处理,在这里即可进行延时设置。这里的默认单位是秒,通常我们会将其设置为 7200,企业也可以结合实际需求,配置相应的延迟处理时间。
了解更多 EDI 信息,请参阅: EDI 是什么?