如何制作Peppol文件?

Peppol (Pan-European Public Procurement Online) 是一种用于跨境电子采购的标准协议和网络。它允许企业和政府机构以电子方式交换文件,如电子发票、订单和发货单。如果你需要制作Peppol文件,可以参考如下步骤:

准备必要工具和资源
1.Peppol 接入点 (Access Point)

这是连接到Peppol 网络所需的服务提供商,需要选择与认证的服务提供商合作。西安知行软件有限公司(KA Software Co. Limited)即为国内的一家Peppol 接入点提供商,能够为企业创建Peppol ID。这里提供了一个Peppol 接入点的名单,企业可以搜索 KA Software Co. Limited ,即可在这个名单中查询到知行软件。

Peppol_EDI1.png

Peppol ID 简介:要想实现Peppol对接,企业需要使用 PEPPOL ID 自动识别彼此身份。可以将Peppol ID比作个人的电话号码。例如,当一个人(或公司)通过电话向你发送信息时,你可以通过电话号码识别发信人。同理,一个 Peppol ID 可以使发送者和接收者在 Peppol 网络上很容易地识别出对方。PEPPOL ID由唯一编号组成,企业不会对数据发送者和接收者的身份产生误解,也不可能出现错误的发票信息。

点击了解更多 Peppol网络的对接流程,本文不再赘述。

2.编写符合 Peppol规范的XML

点击获取 Peppol Invoice的详细规范。

需要注意:

        1..1 表示该字段必须出现且只能出现一次

        0..1 表示该字段出现且只能出现一次或者不出现

        0..n 表示该字段可以不出现或者出现无数次

选择 Peppol 业务文档格式

Peppol 支持多种业务文档格式,最常见的是上文提到的电子发票格式。当前使用的是 UBL(Universal Business Language)格式。

创建 Peppol 电子发票(以 UBL 为例)
步骤 1:定义 XML 结构

UBL 文档是基于 XML 的,因此需要创建一个符合 UBL 2.1 或更高版本规范的 XML 文件。以下是一个简单的 UBL 电子发票示例:

<pre>
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
         xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2">
  <cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>
  <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
  <cbc:ID>INV-12345</cbc:ID>
  <cbc:IssueDate>2024-05-29</cbc:IssueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <!-- 供应商信息 -->
  <cac:AccountingSupplierParty>
    <cac:Party>
      <cbc:EndpointID schemeID="GLN">1234567890123</cbc:EndpointID>
      <cac:PartyName>
        <cbc:Name>供应商公司名称</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>供应商街道地址</cbc:StreetName>
        <cbc:CityName>供应商城市</cbc:CityName>
        <cbc:PostalZone>12345</cbc:PostalZone>
        <cac:Country>
          <cbc:IdentificationCode>CN</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
    </cac:Party>
  </cac:AccountingSupplierParty>
  <!-- 买方信息 -->
  <cac:AccountingCustomerParty>
    <cac:Party>
      <cbc:EndpointID schemeID="GLN">9876543210987</cbc:EndpointID>
      <cac:PartyName>
        <cbc:Name>买方公司名称</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>买方街道地址</cbc:StreetName>
        <cbc:CityName>买方城市</cbc:CityName>
        <cbc:PostalZone>54321</cbc:PostalZone>
        <cac:Country>
          <cbc:IdentificationCode>CN</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
    </cac:Party>
  </cac:AccountingCustomerParty>
  <!-- 发票明细 -->
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="EA">10</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Description>产品描述</cbc:Description>
      <cbc:Name>产品名称</cbc:Name>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="EUR">10.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>
</Invoice>
</pre>

制作Peppol文件的编写流程

1.按照自己的税务类型和其他信息从Peppol官方模板中选择相同业务类型的模板。
2.用户在制作 Peppol 发票时,可以在上述示例的基础上,填写自己的发票信息。
3.接下来需要验证INVOICE的正确性

步骤 2:验证 XML 文件

使用 UBL 验证工具来验证 XML 文件是否符合规范,如果您需要获取类似的验证工具可以联系我们。如果需要验证 UBL Invoice,可以选择类型为:OpenPeppol UBL Invoice (2023.5) (aka BIS Billing 3.xx)

步骤 3:通过 Peppol 接入点发送文件

联系 Peppol 接入点服务提供商(知行软件),按照指示配置和发送 Peppol 文件。

与Peppol接入点的沟通

首先企业需要提供电子发票接收方的Peppol ID,知行的开发人员将会查询此接收方的信息,确认是否能够对接。

接下来知行的开发人员将会为您提供电子发票的规范文档等资料,企业可以开始准备做上文提到的发票XML文件,可以使用 Visual Stdio等工具编辑这个XML文件。

知行的开发人员将会根据企业的实体名称以及所处国家为企业申请 Peppol ID,这个ID需要被妥善保管。

接下来企业需要确定向合作伙伴发送 Peppol发票的具体时间,通常情况下需要预留几个小时给知行方做准备,一旦发送成功,合作伙伴将会立即收到此发票。

通过这些步骤,你可以创建并发送符合 Peppol 标准的电子发票。

如果您希望了解更多 EDI 相关信息,欢迎交流。

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

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

相关文章

STC设计与RTX51--RTX51操作系统

知不足而奋进 望远山而前行 目录 文章目录 前言 内容 操作系统 我们认知的操作系统 最小的操作系统 RTX51系统 RTX51 Real-Time Kernel RTX51 Tiny环境搭建 库函数与RTX51 RTX51的延时问题 K_TMO与K_IVL的区别 K_SIG信号等待 总结 前言 理解操作系统功能学会使用…

Docker搭建redis-cluster集群

1. 前期准备 1.1 拉redis镜像 docker search redis docker pull redis1. 2 创建网卡 docker network create myredis --subnet 172.28.0.0/16#查看创建的网卡 docker network inspect myredisdocker network rm myredis #删除网卡命令 多个中间 空格隔开 docker network --h…

排序数组 ---- 分治-快排

题目链接 题目: 分析: 回顾一下快速排序, 快速排序的思想就是找一个基准值key, 按照基准值, 将数组分成两块, 分别是<key和>key的区域,然后继续对这两个区域划分, 那么快速排序的时间复杂度是O(N*logN), 但是如果数组中有许多相同的元素, 如果我们选定的基准值就有相同…

补上缺失的一环----一种数据库系统主动对外推送表的增删改实时变动数据的实践

在实践中&#xff0c;一些应用程序或模块需要实时获取某些数据库表的增删改变动数据。 对此需求&#xff0c;常见的方案有: 1、应用程序通过轮循查询数据库方式获取数据库表的增删改变动数据. 2、应用程序在把数据写入数据库表之前&#xff0c;通过事件方式向外通知数据库表的增…

【HarmonyOS】应用振动效果实现

一、问题背景&#xff1a; 应用在强提醒场景下&#xff0c;一般会有马达振动的效果&#xff0c;提示用户注意力的关注。 比如消息提醒&#xff0c;扫码提示&#xff0c;删除键确认提示等。 针对高定制化或者固定的振动方式&#xff0c;我们需要有不同的方案实现&#xff0c;马…

【已解决】c++ QT继承基类界面页面丢失问题

本博文源于自己在工位上遇到的一个问题&#xff0c;这个问题不只犯了一次了。首先我继承CBaseDialog里的一个标题栏&#xff0c;结果发现&#xff0c;界面本来想这样结果变成这样&#xff1a; 结果变成这个样子&#xff1a; 问题原因 在于ui.setupUi这个层面&#xff0c;错…

C语言王国——字符函数和字符串函数(2)

目录 5 strtok函数 5.1 函数的表达式 5.2 函数模拟 6 strstr函数 6.1 函数表达式 7 strerror函数 7.1 函数表达式 7.2 例子 7.3 perror 8 strncpy、strncat、strncmp函数 四 结论 5 strtok函数 strtok函数我的理解是他是一个分割字符串的函数 5.1 函数的表达式 cha…

光伏无人机踏勘需要使用哪些设备?用到哪些原理?

随着全球能源结构的转型和绿色能源的大力推广&#xff0c;光伏电站的建设和运维正成为能源领域的热点。然而&#xff0c;光伏电站的选址、建设和后期运维过程中&#xff0c;往往面临着地形复杂、设备分散、巡检难度大等挑战。在这一背景下&#xff0c;无人机踏勘技术以其独特的…

最新 Navicat Data Modeler 4 | 产品介绍

在过去的几周里&#xff0c;我们已经介绍了 Navicat 版本 17&#xff0c;现在我们来把注意力转移到另外两个值得关注的产品上&#xff0c;即 Navicat Data Modeler 和 Navicat BI&#xff08;之前称为 Navicat Chart Creator&#xff09;。今天的博客将介绍 Navicat Data Model…

draw.io 如何设置图形圆角?

draw.io 如何设置图形圆角呢&#xff1f; draw.io 是一款强大的&#xff0c;免费的开源工具&#xff0c;我经常用它来画流程图&#xff0c;但是我发现 draw.io 对于图形圆角的设置&#xff0c;只提供了一个设置选项&#xff0c;如下图&#xff1a; 当你选中某个图形&#xff0…

go语言进阶 init() 函数

go 语言包 在一个项目中通常我们需要引入第三方包&#xff0c;我们来看下 当我们导入一个包的时候 发生了什么&#xff1a; 首先我们先详细介绍下两个函数&#xff1a; init(), main() 是 go 语言中的保留函数。我们可以在源码中 定义 init()函数&#xff0c; 此函数会在包导入…

谷粒商城实战(031 业务-秒杀功能2)

Java项目《谷粒商城》架构师级Java项目实战&#xff0c;对标阿里P6-P7&#xff0c;全网最强 总时长 104:45:00 共408P 此文章包含第315p-第p318的内容 秒杀上架 定时上架功能 EnableAsync 异步 EnableScheduling 定时调度 Configuration 配置类 创建上架定时任务类和方法 …

抖店商家疑惑,自然流量突然下滑,为什么呢?

大家好&#xff0c;我是喷火龙。 很多的抖店商家会遇到一种情况&#xff0c;那就是自己店铺的流量好好的&#xff0c;不知道怎么的就突然没流量了&#xff0c;各方面的数据都断崖式的下降。 为什么会这样呢&#xff1f;原因有以下几点&#xff0c;大家可以检查一下&#xff0…

Typora配置自动上传图片到图床

Typora配置自动上传图片到图床 在多平台发布文章时&#xff0c;如果遇到图片不能导入的问题&#xff0c;推荐使用图床&#xff01;推荐使用阿里云或腾讯云&#xff0c;免费的不用考虑了&#xff01; PicGo下载 链接&#xff1a;夸克网盘分享 使用手册&#xff1a; PicGo is…

《python开发》cannot allocate memory in static TLS block-报错问题解决

阿丹&#xff1a; 今天在配置跑rasa训练的时候出现问题&#xff0c;找了国内论坛有解决的人&#xff0c;但是说的不明白。查阅了很多论坛之后发现了解决的方案。 https://github.com/keras-team/keras-tuner/issues/317 问题描述以及错误&#xff1a; 关键错误 &#xff1a;c…

升级最新版openssh-9.7p1及openssl-1.1.1h详细步骤及常见问题总结

近期因为openssh相继被漏洞扫描工具扫出存在漏洞&#xff0c;所以考虑升级操作系统中的openssh和openssl为最新版本&#xff0c;来避免漏洞风险。期间的升级过程及遇到的疑难问题&#xff0c;特此记录下来&#xff0c;供有需要的人参考。 本次目标是升级 openssh 为 9.7p1 版本…

ios v品会 api-sign算法

vip品会 api-sign算法还原 ios入门案例 视频系列 IOS逆向合集-前言哔哩哔哩bilibili 一、ios难度与安卓对比 这里直接复制 杨如画大佬的文章的内容&#xff1a; ios难度与安卓对比 很多人说ios逆向比安卓简单&#xff0c;有以下几个原因 1 首先就是闭源&#xff0c;安卓开源…

UIScrollView代理

场景&#xff1a; 想要监控某组件&#xff0c;可以通过addTarget&#xff0c;但是复杂一点的&#xff0c;如UIScrollView的滚动监听就需要通过代理来实现了。代理本质是官方定义好的协议&#xff08;接口&#xff09;&#xff0c;你只要用官方给出的API接口&#xff0c;就能实…

osg库的下载和安装

下载 下载地址:https://github.com/openscenegraph/OpenSceneGraph 安装 打开Cmake.exe,将上述下载的osg文件下的CMakeLists.txt文件拖入Cmake界面中。 在其路径下新建一个build文件 并配置cmake,点击Configure 修改如下几个选项 ACTUAL_3RDPARTY_DIR BUILD_OSG_EXAM…

Open vSwitch 数据包转发

一、数据包转发流程 Open vSwitch 数据包转发流程如下图所示&#xff0c;其中红色数字序号表示数据包转发的步骤顺序。 以下步骤为一个数据包通过 OVS 时的首次处理流程&#xff1a;&#xff08;步骤序号和图中序号一一对应&#xff09; OVS 从设备接口中获取数据包并交…