HornBach 是一家总部位于德国的家居和建筑材料零售商,成立于1968年。它以大型仓储式商店而闻名,提供广泛的产品,包括建筑材料、园艺、家居装饰和工具等。
近期我们帮助HornBach的供应商W公司成功实现了与HornBach的EDI直连,除了满足基本的对接需求之外,为了处理庞大的订单量,降低业务人员的工作量,提高其业务流程的自动化水平,W公司提出希望实现EDI系统与其Salesforce系统之间的集成。基于知行之桥EDI系统的EDI解决方案,支持通过中间数据库、Webservice、API等方式实现与企业内部业务系统的集成。接下来让我们一起看看W公司使用知行之桥EDI系统对接HornBach的项目中都有哪些注意事项吧!
梳理需求文档
1.Technical_data_Sheet_HORNBACH
HornBach会提供一个Technical_data_Sheet_HORNBACH文档给供应商,供应商需要填写这个文档,提供公司明细、EDI联系人信息、EDI服务提供商信息、EDI ID等,并通过邮件回复HornBach。
HornBach也向供应商说明了EDI项目中需要传输的单据类型:ORDERS采购订单(D96A)、DESADV发货通知(D96A)以及INVOIC发票(D01B或者D96A)。提供了测试和生产系统的AS2连接信息以及证书,供应商需要在指定位置填写自己的AS2测试和生产环境的AS2连接信息。
供应商还可以在这个文档中找到HornBach EDI团队的联系信息以及HornBach的GLN、地址以及VAT-ID信息。
2.HB-EDI-NVE-Guideline
HornBach提供的EDI Guideline主要内容包括:EDI连接流程,订单、发货通知以及发票的基本介绍、装运信息、运输信息、发货通知报文的结构示例等内容。在开始EDI项目实施之前,供应商的EDI负责人需要认真阅读此内容。
3.EDI 报文规范资料
针对本次EDI项目中需要传输的三种EDI单据:ORDERS采购订单、DESADV发货通知以及INVOIC发票,HornBach分别提供了与之匹配的EDI报文规范,作为处理EDI报文的映射关系以及注明各EDI字段业务含义的重要参考,并提供了不同业务场景下的示例报文。
此外HornBach还会向供应商提供一个 EDI Agreements文档,供应商需要阅读并同意此文档的内容。
集成方案
根据HornBach提供的上述EDI资料以及邮件沟通,确认了本次项目中使用的传输协议、报文标准以及业务单据类型,接下来需要确认使用何种方式集成W公司内部Salesforce系统。我们的项目经理与W公司的项目负责人沟通之后,最终决定采用接口调用的方式实现集成。接收来自HornBach的订单数据时,由知行之桥调W公司的接口推送数据;向HornBach发送发货通知以及发票时,由W公司调知行之桥的接口推送数据。
项目成果
根据上述需求,在知行之桥EDI系统中搭建如下所示的工作流:
上图中的每一个小方块即为一个端口(功能模块),蓝色连接线连接各个功能模块,箭头所指方向即为数据流向。将AS2连接、报文格式转换、数据映射处理、系统集成等不同的功能封装在不同的端口中,用户能够掌握数据流向,快速定位问题。作为一款低代码的EDI软件产品,实现与交易伙伴的EDI对接的绝大部分操作都只需要在可视化界面中操作即可。
第一行工作流实现的功能为:通过AS2,接收HornBach发来的ORDERS采购订单,并将其转换为JSON,通过接口调用,将数据从知行之桥EDI系统获取到Salesforce系统中,实现与供应商Salesforce 系统的集成。
第二行工作流实现的功能为:从Salesforce处获取包含INVOIC发票以及DESADV发货通知数据的JSON文件,将其转换为HornBach要求的EDI报文,并通过AS2发送给HornBach。
AS2连接测试
对接HornBach时,需要注意HornBach的EDI ID为其GLN编号,对供应商而言,在EDI传输过程中的EDI ID也需要是供应商的GLN编号,如果没有则需要先申请这个编号。
准备好供应商的GLN编号、供应商编号以及VAT编号之后,还需要准备3个商品的GTINS以及相应的供应商内部货号,HornBach将会基于这些内容生成一份测试订单,通过邮件发给供应商。写邮件给HornBach,请求进行AS2连接测试。
需要注意,虽然HornBach提供的文档中提供了生产和测试两套AS2连接信息,但实际项目中直接进行了生产系统的连接测试,测试环境HornBach并未启用。
基于知行之桥EDI系统配置HornBach的AS2连接信息,需要在工作流 AS2 端口的设置 选项卡下进行配置。需要配置的信息包括:AS2 ID、交易伙伴 URL、加密算法以及交易伙伴证书。如下所示:
根据HornBach提供的EN_Technical_data_Sheet_HORNBACH 文档中的内容进行配置即可,需要注意在配置 交易伙伴证书 的时候,需要将文档中 AS2(http)下的证书配置在上图中的 加密证书 位置;将AS2(https)下的证书配置在上图中的 TLS服务器证书 位置。
EDI业务测试
ORDERS 采购订单
1.HornBach 的订单类型
HornBach的订单编号总是以商店编号开始的7位数字。订单类型体现在ORDERS报文的BGM字段中,由3位数字作为标识:
"220"表示HornBach 商店的库存订单
"221"表示初始设备
"224"表示从供应商发货的网店订单
"227"表示客户订单/特别订单
针对以上4种订单类型,ORDERS EDI 规范中提供了对应的4个报文。
如果是从供应商发货的网点订单,则报文中将会出现两次 NAD+UC 字段:
- 最终客户的私人送货地址
- HornBach商店 地址,店内取货
2.ORDERS订单中的ID
HornBach 要求ORDERS报文中的买方ID、收货方ID、供应商ID、最终用户ID等都需要填写为相应角色的GLN编号。
3.在知行之桥EDI系统中的设置
根据HornBach发来的ODRERS报文,需要修改EDIFACT端口下关于EDI分隔符的默认配置,如下所示:
在 高级设置 选项卡下找到重复元素分隔符,在这里输入 空格,点击右上角的 保存变更 按钮即可。
DESADV 发货通知
1.本次对接HornBach的EDI项目中,W公司所处的业务模式为直发卖场,没有涉及到SSCC的信息,报文中不体现包装部分内容。
2.HornBach的发货场景包括:
- 一个DESADV对应一个ORDERS订单
如果当前DESADV仅针对一个ORDERS订单发货,则只需要在主信息中体现订单号。
- 一个DESADV对应多个ORDERS订单
如果当前DESADV中需要包含多条订单信息,则需要在报文的明细中(RFF字段),填写各物料对应的订单号。
3.发货通知单号由不超过10位的字母+数字组成。
4.在知行之桥EDI系统中的设置
与订单相同,通过知行之桥EDI系统生成DESADV的时候,需要将 EDIFACT端口->高级设置 选项卡 下的重复元素分隔符设置为空格。
INVOIC发票
1.关于自由文本的注意事项
INVOIC报文的FTX字段,当限定符为 SUR的时候,表示供应商注释,这里HornBach规定了3段文字,供应商需要根据实际情况进行填写。包含的场景有:
- 对于在德国为税务目的注册的发票方,如果同意后续费用减少(例如现金折扣,奖金),则第1点的文本是强制性的。
- 对于欧盟内部的免税配送,第二点的内容是强制性的。
- 对于欧盟内的免税送货到罗马尼亚发票收件人,从第3点的文本是强制性的。
2.在INVOIC单据中,供应商提供的发票数据如果遇到需要填写国家,注意需要填写ISO3166标准下的两位国家代码。
3.多税率的情况
在INVOIC报文中,税率信息被存储在TAX字段,如果涉及到不同税率,TAX字段需要出现多次。
示例:如果物料A和物料B的税率为X,物料C和物料D的税率为Y,则在INVOIC中,需要将相同税率的物料进行汇总。