如何通过EDI向Daimler发送发票?

此前的文章:Daimler EDI 项目案例 中,我们已经成功对接Daimler,接下来我将为大家介绍如何将发票由Daimler的发票系统切换至EDI。

EDI需求背景

在Daimler的前期需求中,只涉及到了VDA4905交付预测以及VDA4913发货通知两种报文。对于发票,供应商都是通过Daimler的发票系统来传输的。但Daimler的发票系统对每日发票数有限制,每天最多只能传输500个发票。对供应商X公司而言,这并不能满足其需求。而EDI并没有这个限制,因此需要将发票切换至EDI。

由于Daimler的发票业务所使用的OFTP传输通道与其他业务不同,因此在增加发票需求时,不能使用此前对接Daimler的OFTP传输通道。需要根据最近的OFTP连接信息创建新的传输通道。

将发票从Daimler发票系统切换至 VDA 4938

供应商可以与Daimler进行协商,由Daimler发票系统切换至VDA 4938。如果涉及Daimler多个工厂的话,需要说明涉及的工厂代码。

以下是实施Daimler VDA 4938的步骤:

1.注册供应商信息

供应商需要给Daimler提供联系人信息,包括:联系人姓名、邮箱地址、电话号码。

2.测试流程

注册完成之后,针对每个工厂都需要进行测试。因此需要确认涉及到的工厂代码,此外还需要确认工厂是属于 Mercedes-Benz AG还是属于 Daimler Truck AG。

OFTP连接测试

针对 VDA 4938,Daimler 提供了新的OFTP连接信息(SSID以及SFID)。意味着供应商需要与Daimler单独再搭建一个OFTP传输通道。体现在知行之桥EDI系统中,则意味着需要使用一个全新的 OFTP 端口,并配置Daimler 提供的新的 OFTP 连接信息。

由于本次项目中涉及到3个工厂,在进行 OFTP连接测试时,需要向Daimler 发送分别针对不同工厂的3个发票文件。

Daimler_EDI_Invoice1.png

供应商可以在 OFTP 端口的 输入 选项卡下,查看已发送给Daimler的VDA4938发票文件。针对每个成功发送的发票文件,Daimler将会回复一个APERAK以及一个CONTRL。

业务测试

本次EDI需求中只涉及到发票一种单据,但由于涉及到了三个不同工厂,因此需要在工作流中进行区分。需要注意:

  • 工厂代码必须是3位数字
  • 填写发票模板时,需要注意采购方信息与发票接收方信息的具体地址,不同工厂对应的地址会有不同。

Daimler 方接收到供应商发送的VDA 4938后会进行报文结构验证以及数据验证,以上测试通过后并不代表测试已完成。Daimler还会在其内部系统中,根据供应商通过EDI提供的发票数据生成一个PDF形式的发票,只有最终能够成功生成这个PDF文件才表示发票测试完成。

3.签署 EDI agreement

与Daimler建立EDI连接的企业都需要签署 EDI agreement,Daimler将会生成这个agreement并发送给各签署人。供应商需要提供以下信息:

供应商的发送方ID(OFTP通信过程中将会用到)
计划开始日期
签署人签名,姓名
电子邮件地址

项目成果

在知行之桥EDI系统中需要搭建如下所示的工作流:

Daimler_EDI_Invoice2.png

由于本次EDI项目中,只涉及到向Daimler发送发票的需求,因此数据流向为:按照蓝色箭头所指方向,从左到右。

通常情况下,单独实现Daimler一个工厂的EDI发票对接需要四个端口:

EmailReceive 端口:负责从指定邮箱中抓取邮件到EDI系统中
Excel端口:负责将Excel文件转换为XML
EDIFACT端口:负责将XML转换为Daimler要求的VDA4938
OFTP端口:负责将VDA 4938发送给Daimler

此项目中,由于需要对接Daimler 3个不同工厂,因此需要分别使用3个Excel端口以及EDIFACT端口。这样做的好处是,能够清晰准确地定位各个工厂的数据处理流程,如果用户希望进行数据溯源,只需要定位到相应工厂的指定端口即可,清晰准确,处理逻辑一目了然。

除了基础端口之外,还使用到了一个Branch端口,用于对文件进行筛选分流。在上图中可以看到,采用的筛选模式是依据文件名进行筛选。知行之桥EDI系统中的Branch端口为免费端口。

至此,实现供应商与Daimler的三个工厂通过EDI传输 VDA4938的需求共使用8个端口。

供应商需要填写的发票模板

Daimler_EDI_Invoice3.png

对于供应商而言,只需要填写上图所示EDI顾问设计的Excel模板,并将其发送至指定邮箱即可。模板中还会将可能涉及到的取值进行备注,方便用户快速填写。对于必填值,将会用黄色高亮重点标记,用户漏填必填值将会导致Daimler无法正常处理发票文件而产生报错。因此在项目前期测试环节中,请务必确认好必填字段和非必填字段中需要填写的业务值。

当然,实现企业内部业务系统与EDI系统之间的互联互通有很多方式,上文中我们提到的仅是Excel方案,这是由于供应商在此前对接Daimler的项目中使用的是Excel方案,因此本次新增的需求仍旧沿用Excel方案。

知行之桥EDI系统支持的集成方案还包括:中间数据库、Webservice以及API等。

了解更多 EDI 相关信息,欢迎联系我们。

扩展阅读:EDI是什么?

阅读原文:如何通过EDI向Daimler发送发票?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/227912.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java版王者荣耀(源代码)

1.项目结构截图 2.源代码 2.1 backgroud package com.sxt;import javax.swing.*; import java.awt.*;public class Background extends GameObject {public Background(GameFrame gameFrame) {super(gameFrame);// TODO Auto-generated constructor stub}Image bg Toolkit.ge…

直方图均衡化实现

一 直方图均衡化的概念 直方图均衡化(Histogram Equalization)是一种**增强图像对比度**(Image Contrast)的方法,其主要思想是将一副图像的**灰度直方图分布**通过**累积分布函数**变成**近似均匀分布**(直观上在某个灰阶范围内像素值保持一致 &#xf…

Linux信号量

📟作者主页:慢热的陕西人 🌴专栏链接:Linux 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容感性认识了信号量,并且认识了IPC资源在操作…

为什么要数据库优化?

为什么数据库需要进行优化? 数据库性能瓶颈 数据库服务器的性能受许多因素影响,包括硬件能力、系统规模、业务模型及架构、代码设计、数据库表设计、系统环境等。 因此,可以从几个方面进行数据库优化, 喜欢点赞收藏转发&#xff…

小红书AI文章写作工具,免费的小红书AI写作工具有哪些

社交媒体已经成为人们交流、分享生活和获取信息的主要平台之一。而在这众多社交媒体中,小红书以其独特的社区氛围和内容特色而备受瞩目。如何更高效地进行小红书文章创作,本文将深入研究小红书文章AI写作工具。 小红书文章AI写作工具背后的技术 随着人工…

JS基础面试题之手写bind

JS基础面试题之手写bind 手写bind返回函数的模拟实现传参的模拟实现构造函数效果的模拟实现构造函数效果的优化实现最终版 手写bind bind()方法会创建一个新的函数。当这个函数被调用时,bind()的第一个参数将作为它的运行时的this,之后的一序列参数将会在…

VSCode SSH登录服务器 提示XHR failed

设置->搜索“代理” 把图中的√去掉 重启 即可

【Linux】diff命令使用

diff命令 是一个用于比较两个文件或目录之间差异的命令。它可以显示两个文件之间的行级别差异,并以易于阅读的格式输出结果。 著者 由保罗艾格特、迈克海特尔、大卫海耶斯、理查德史泰尔曼和Len Tower撰写。 diff命令 -Linux手册页 语法 diff [选项] [文件1]…

Python-滑雪大冒险【附源码】

滑雪大冒险 《滑雪大冒险》是一款充满趣味性和挑战性的休闲竞技游戏,在游戏中,玩家将扮演一位勇敢的滑雪者,在雪山上展示他们的滑雪技巧,游戏采用2D图形界面,以第三人称视角呈现 运行效果:用方向键及方向键…

高端的露营装备网站搭建的作用是什么

近些年发展促进了露营热潮,周边游也多了起来,城市中高频工作带来的烦恼使得很多人想要放松,露营无疑是接触大自然很好的方式,而选择好的露营装备同样重要,还包括门店经营者,选择好的品牌合作也能带来很多生…

解决谷粒学苑新建父工程,pom 依赖大量飘红

解决谷粒学苑新建父工程&#xff0c;pom 依赖大量飘红 找到dependencyManagement标签&#xff0c;注释掉该标签&#xff08;同时注释掉对应的</dependencyManagement>标签&#xff09;。 重新加载 maven 项目 经过上面两个步骤&#xff0c;应该大部分依赖都已经引入。&a…

第21章总结 网络通信

21.1 网络程序设计基础 网络程序设计编写的是与其他计算机进行通信的程序。Java已经将网络程序所需要的元素封装成不同的类&#xff0c;用户只要创建这些类的对象&#xff0c;使用相应的方法&#xff0c;即使不具备有关的网络知识&#xff0c;也可以编写出高质量的网络通信程序…

二氧化碳注气开采石油中的无线传输解决方案

一、应用背景 在传统的石油开采过程中&#xff0c;只能采收到地下原油储层中约30%至40%的石油。二氧化碳强化石油开采技术是一种利用二氧化碳来提高石油采收率的技术。将工业尾气中的二氧化碳被捕集起来&#xff0c;注入油田地下油层&#xff0c;把原油"驱赶”出来&#…

经验分享|MySQL分区实战(RANGE)

概述 分区概述 在 MySQL 中&#xff0c; InnoDB存储引擎长期以来一直支持表空间的概念。在 MySQL 8.0 中&#xff0c;同一个分区表的所有分区必须使用相同的存储引擎。但是&#xff0c;也可以为同一 MySQL 服务器甚至同一数据库中的不同分区表使用不同的存储引擎。 通俗地讲…

洞察 丨 中国智能电动车发展趋势分析

中国弯道超车的愿景&#xff1a;多年的用市场换技术的方针&#xff0c;并没有在传统汽油车里完美实现&#xff0c;然而电动车的三电技术&#xff08;电池&#xff0c;电控&#xff0c;电驱&#xff09;完美避开了传统汽车有的发动机&#xff0c;变速箱&#xff0c;发动机控制器…

java集合之HashMap详解

HashMap详解 介绍 HashMap是在项目中使用的最多的Map&#xff0c;实现了Map接口&#xff0c;继承AbstractMap。基于哈希表的Map接口实现&#xff0c;不包含重复的键&#xff0c;一个键对应一个值&#xff0c;在HashMap存储的时候会将key、value作为一个整体Entry进行存储。 Has…

Codeforces Round 911 (Div. 2)补题

Cover in Water 题目大意&#xff1a;我们有一排房间&#xff0c;一些房间是空的&#xff0c;一些房间是阻塞的&#xff0c;现在需要将所有的空房间都填满水&#xff0c;我们能做的只有两个操作&#xff1a;1.往一个空房间内放入水&#xff1b;2.将一个房间中的水取出放入另一…

UEM 在企业 IT 管理数字化转型有什么帮助

近年大多数公司都在努力实现数字化转型&#xff0c;业务应用程序正在迁移到云端&#xff0c;日常 IT 运营正变得更加面向移动化&#xff0c;高管们使用各种设备。员工不仅使用公司提供的台式机&#xff0c;还经常使用公司拥有的、个人启用的&#xff08;COPE&#xff09;笔记本…

基于springboot实现的宠物医院管理系统

一、系统架构 前端&#xff1a;html | jquery | echarts | css 后端&#xff1a;springboot | thymeleaf | mybatis 环境&#xff1a;jdk1.8 | mysql | maven 二、代码及数据库 三、功能介绍 01. 登录页 02. 系统设置-用户管理 03. 系统设置-页面管理 04. 系统设置-角…

接口测试方向

一、Http接口测试 前面我们已经有了接口文档&#xff0c;那么我们就要根据接口文档来拼接参数调用接口&#xff0c;那么怎么调用呢&#xff1f; 1、接口请求报文拼接---传参方式 1&#xff09;key-value形式 这种是最简单的一种&#xff0c;问号前面是请求url&#xff0c;后…