匈牙利的在线开票处理

本文档描述在在线开票交易。打开 (AAS390) 中为匈牙利执行的在线开票流程,在这个流程中会创建客户发票交易的 XML 文件,用于传输到匈牙利税务机关。

背景

匈牙利税务机关要求匈牙利纳税人使用的发票软件必须与权威机构直接进行数据传输,其中销售发票数据必须在准备开票后立即以 XML 格式实时报告,无需人工干预。此负债适用于匈牙利国内纳税人之间的企业对企业交易,目前适用于增值税金额至少为 100.000 匈牙利福林 (HUF) 的发票。此外,对包含匈牙利增值税的现有客户发票的更改必须包括在报告中。

该报表采用 XML 格式,并根据匈牙利国家税务和海关总署 (NTCA) 发布的 invoiceData.xsd 模式进行验证。

解决方案概述

M3 BE 为符合匈牙利在线开票先决条件的每个客户发票创建 XML 文件。此 XML 文件放置在 MvxFileTransfer 文件夹中,该文件夹由 Local.ly 连接工具监视,该工具将 XML 文件传输到匈牙利税务机关 NAV。NAV 发送响应文件,指示 XML 文件是否已接受。基于此响应,IEC 服务器使用 Financial Business Messages (FBM) 通过 API AAS390MI(交易UpdInvStatus)更新 M3 BE 中发票记录的状态。

匈牙利的发票验证

在线开票处理中仅包含符合在线开票前提条件的发票。除了 在线开票处理 中引用的验证之外,匈牙利还有一些附加验证可以决定是否应该在在线开票中包含通过 (GLS040) 处理或在 (AAS390) 中手动添加的客户发票。这些附加验证是:

  • 在设置程序 (AAS900) 中,必须存在针对使用 (CRS045/E) 上的 ISO 代码“HU”或“HUN”定义的国家代码的设置。如果不存在,则在当前部门中不对匈牙利使用在线开票。
  • FAM 功能必须是设置程序 (AAS900) 中已启用的 FAM 功能之一。您可以选择 (AAS900/E) 上的复选框,以此决定哪些受支持的 FAM 功能应该包含在在线开票中。
  • 必须使用 (CRS045/E) 上的 ISO 代码“HU”或“HUN”定义发票中用作主要国家/地区代码 (BSCD) 和自/至国家/地区代码 (FTCO) 的国家/地区代码。这表明发票已从匈牙利发送到匈牙利,表示国内销售。
  • 客户必须存在税号。首先,验证组织编号 2 (COR2)。如果未在“客户。打开” (CRS610/J) 上填充 COR2,则验证增值税登记号 (VRNO)。从 FGLEDG 中发票的增值税交易中检索 VRNO。如果 VRNO 以“HU”开头,则表明它是匈牙利的增值税登记号,这是可接受的。如果不是这种情况,并且未填充 COR2,则该发票不符合包含在匈牙利在线开票的条件。
  • 发票的总增值税额(以匈牙利福林计)必须等于或超过 (AAS900/E) 上定义的增值税额限制。总增值税额(以匈牙利福林计)是根据 FGLEDG 表中凭证的所有增值税交易(其中 TRCD=11 和 AT04 = 1 或 2)计算得出的。如果总增值税额(以匈牙利福林计)等于或超过 (AAS900) 中定义的增值税额限制,则该发票将包含在匈牙利的在线开票中。如果发票是更正发票,则总增值税额(以匈牙利福林计)不仅考虑更正发票,而且还考虑原始发票和之前影响原始发票的任何其他更正发票。如果原始发票先前已包含在在线开票中,因此可以在 (AAS390) 中找到,则无论总增值税额(以匈牙利福林计)如何,都将更正发票包含在在线开票中。
  • 如果在 (AAS390/B) 上手动添加了客户发票,则将执行所有验证,就像通过 (GLS040) 自动添加的发票一样。但是,有一个区别:如果发票的增值税额不等于或超过 (AAS900) 中定义的增值税额限制,您仍然可以在 (AAS390) 中手动添加,但在 (AAS390/E) 上会显示警告消息。

更正发票和增值税额验证

创建普通发票后,如果满足所有其他先决条件,则增值税额将确定是否将其包括在在线开票中。如果此发票以后通过更正发票更改,则需要考虑两个参数来决定是否应将更正发票包括在在线开票中:
  • 是否已报告原始发票,以及
  • 原始发票加上更正发票的累计增值税金额。

原始发票:

  • 如果增值税额小于 (AAS900) 中定义的金额限制,则不会创建 XML 文件。
  • 如果增值税额等于或大于 (AAS900) 中定义的金额限制,则会创建 XML 文件。

更正发票:

  • 如果以前已经报告过原始发票(它存在于 FONINT 交易表中),则不管累积的增值税额如何,为更正发票创建 XML文件。
  • 如果以前没有报告过原始发票(不存在于 FONINT 交易表中),则必须验证原始发票和更正发票的累计增值税额。如果该金额等于或大于 (AAS900) 中定义的金额限制,则将为更正发票创建 XML 文件。

要确定发票是否正在更正较早的发票,请使用应收账款附加信息类别 235(用于更正发票)和 255(用于贷方票据)。如果“客户发票。显示附加信息” (ARS216) 中的发票存在此类附加信息类别,则可在字段应收账款附加信息中找到原始发票号和原始发票年份。

对于原始发票,应收账款附加信息类别 236 包含有关更正发票号和更正发票年份的信息。同样,如果原始发票已通过贷方票据更改,则应收账款附加信息类别 256 保存有关贷方票据和贷方票据年份的信息。

如果原始发票已由多张更正发票或贷方票据更改,则可能找到原始发票的多个应收账款附加信息 236 和/或 256。如果是这种情况,应累积原始发票的增值税额以及所有引用该原始发票的发票增值税额,并将其与 (AAS900) 中定义的金额限制进行比较,以确定是否应为处理后的更正发票创建 XML 文件。

报告更正发票时参考原始发票

如“更正发票和增值税额验证”部分中所述,如果报告涉及更正发票或贷方票据,则在决定是否将更正发票包含在在线开票中时,也必须考虑原始发票。

如果应报告更正发票,则标签“invoiceReference”下的要素必须包含在 XML 文件中。这些要素包含有关原始发票号的信息,以及以后是否还有引用相同原始发票的更正发票。

如果涉及更正发票,则标签“lineModificationReference”下的要素也应包括在报告中。

例如:

  • 原始发票:2018100000015
  • 更正发票 1:9999999900033
  • 更正发票 2:9999999900039

对于原始发票,只有一个物料行,其净额为 7.000.000 匈牙利福林,增值税额为 350.000 匈牙利福林,还有一行 1.000.000 匈牙利福林的标题收费(不加增值税)。此发票的 XML 文件中共包含两个发票行。

接下来,使用 (OIS380) 中的更正方法 1 更正原始发票,而将行金额从 7.000.000 匈牙利福林更改为 8.000.000 匈牙利福林。因此,此更正发票中包含金额分别为 -7.000.000 匈牙利福林和 8.000.000 匈牙利福林的两个物料行,以及增值税 -350.000 匈牙利福林和 400.000 匈牙利福林(净付款金额 50.000 匈牙利福林)。此更正发票的 XML 文件中共包含两个发票行。

接下来,使用 (OIS380) 中的更正方法 1 再次更正原始发票,将发票冲销。结果,更正发票中包括金额为 -8.000.000 匈牙利福林和增值税额为 -400.000 匈牙利福林的物料行,以及一行 -1.000.000 匈牙利福林的标题收费冲销。此更正发票的 XML 文件中共包含两个发票行。

该表显示发票和行金额:

发票号 发票类型 行金额 增值税额
2018100000015 原始金额

物料 +7.000.000 匈牙利福林

标题收费 1.000.000 匈牙利福林

350.000 匈牙利福林

不适用

9999999900033 更正 1

物料 - 7.000.000 匈牙利福林

物料 +8.000.000 匈牙利福林

-350.000 匈牙利福林

+400.000 匈牙利福林

9999999900039 更正 2

物料 -8.000.000 匈牙利福林

标题收费 -1.000.000 匈牙利福林

-400.000 匈牙利福林

不适用

处理第一个更正发票 9999999900033 以进行在线开票。要找出此发票是否正在更正较早的发票,请使用应收账款附加信息类别 235(用于更正发票)和 255(用于贷方票据)。如果发票存在此类附加信息类别,则可以在 (ARS216) 中找到原始发票号和原始发票年份。对于此更正发票,我们在应收账款附加信息类别 235 中找到原始发票号 2018100000015 和原始发票年份 2018。

要确定其他任何更正发票是否已更改原始发票,可以在 (ARS216) 中搜索应收账款附加信息类别 236(用于更正发票)以查找原始发票。同样,如果原始发票已通过贷方票据更改,则使用应收账款附加信息类别 256 获取有关贷方票据和年份的信息。对于此原始发票,更正发票编号 9999999900039 也已更改过此发票。

发票抬头级别:

在更正发票的发票抬头级别上,有关原始发票号的信息、更正发票的发票日期、原始发票的最新更正发票的发票号(如果有)以及之前是否已报告原始发票的信息都在 XML 文件中“invoiceReference”标签下的要素中列出。

在此示例中,我们无法在 (AAS390) 中找到原始发票,这意味着该发票之前尚未报告给匈牙利税务机关。这样会使“modifyWithoutMaster”要素设置为“true”。如果原始发票之前已经报告过,则此要素已设置为“false”。

发票行级别:

在更正发票的发票行级别上,有关原始发票的连续行号信息会在 XML 文件中“lineModificationReference”标签下的要素中列出。

在此示例中,原始发票 2018100000015 包含 2 个发票行,而更正发票 9999999900033 也包含 2 个发票行。这意味着更正发票 9999999900033 的第 1 行对应于原始发票的第 3 行,而更正发票 9999999900033 的第 2 行对应于原始发票的第 4 行。同样,如果要报告第二个更正发票 9999999900039,其中也包含 2 个发票行,则更正发票 9999999900039 的第 1 个发票行将与原始发票的第 5 行相对应,并且更正发票 9999999900039 的第 2 行与原始发票的第 6 行相对应。原始发票的连续行号在“lineNumberReference”要素中列出。

“lineOperation”要素始终保留值“CREATE”,因为在 M3 Business Engine 内对原始发票进行的所有更改都会导致新交易的创建。在使用更正发票 9999999900033 的示例中,行金额从 7.000.000 匈牙利福林更改为8.000.000 匈牙利福林。然后使用 -7.000.000 匈牙利福林和 8.000.000 匈牙利福林创建两个新的发票行。

对于客户订单发票,除了“发票。显示行”(OIS351) 中的“csk”费用外,行类型 (IVTP) 31、60、65、50、51 和 67 的每个发票行都在 XML 文件中报告为单独的行。因此,在计算“lineNumberReference”要素的行数时,也会考虑这些发票行类型。

预开发票和“最终发票” – 增值税额验证

对于客户订单,可以在客户订单。预开发票 (OIS105) 中创建预开发票,并且可以在付款请求。打开 (OIS125) 中创建付款请求。将货物交付给客户后,将发放最终发票。当此类最终发票经过在线开票验证后,必须计算预开发票(或预付款发票)和最终发票的总增值税额(以匈牙利福林计),以便根据设置 - 在线开票 (AAS900) 中定义的增值税额限制来进行验证。这样做的原因是,如果也不考虑预开发票的增值税额,则最终发票的增值税额可能不符合增值税额限制。

例如:

创建 400.000 匈牙利福林的预开发票,加上 108.000 匈牙利福林增值税。由于增值税额超过 (AAS900) 中定义的增值税额限制 100.000 匈牙利福林,因此此发票已报告给匈牙利税务机关 (NAV)。

向客户交货后,将发放 500.000 匈牙利福林加 135.000 匈牙利福林增值税的最终发票。由于客户已支付了 400.000 匈牙利福林加上 108.000 匈牙利福林的增值税,因此这些金额将从最终发票中撤销。这意味着客户只需支付 100.000 匈牙利福林(500.000 – 400.000)加上 27.000 匈牙利福林的增值税(135.000 – 108.000)即可最终交货。此发票经过在线开票验证后,27.000 匈牙利福林的增值税额将根据 (AAS900) 中的设置进行验证,由于不符合增值税额限制,因此该发票不会报告给 NAV。

但是,这是不正确的。因为预开发票(108.000 匈牙利福林)和最终发票(27.000 匈牙利福林)的总增值税额(135.000 匈牙利福林)超过了 (AAS900) 中的增值税额限制,因此最终发票应包含在在线开票中。请注意,此最终发票的已报告增值税额仍为 27.000 匈牙利福林,因为先前已报告 108.000 匈牙利福林用于预开发票。

如果为客户订单发放最终发票,且之前已发放了预开发票(或预付款发票),则会参考预开发票号使用表 FSLEDX 中的应收账款附加信息类别 294 更新最终发票。此更新通过程序 (OIS195) 和 (OIS197) 进行。此信息显示在客户发票。显示附加信息 (ARS216) 中。

如果已为客户订单发放了一张以上的预开发票(或预付款发票),则最终发票将参考之前的每张发票进行更新,这意味着最终发票可能存在不止一次应收账款附加信息类别 294。

当最终发票经过在线开票验证后,计算预开发票(或预付款发票)和最终发票的总增值税额(以匈牙利福林计),以便根据 (AAS900) 中定义的增值税额限制来进行验证。总增值税额(以匈牙利福林计)是根据表 FGLEDG 中凭证的所有增值税交易(其中 TRCD=11 和 AT04 = 1 或 2)计算得出的。如果总增值税额(以匈牙利福林计)等于或超过 (AAS900) 中定义的增值税额限制,则该最终发票将包含在匈牙利的在线开票中。

要确定发票是否为最终发票,请检查表 FSLEDX 以获取应收账款附加信息类别 294。如果表 FSLEDX 中的发票存在此附加信息类别,则该发票被视为最终发票。

报告预开发票和最终发票

为客户订单发放预开发票或预付款发票时,应报告行类型 (IVTP) 50 的发票行,并将要素“advanceIndicator”设置为“true”。此要素在要素“lineDescription”之前的开始标记“invoiceLines”下创建。

除了专门为预开发票创建的此要素外,为预开发票和最终发票创建的 XML 文件与为普通客户订单发票创建的 XML 文件没有区别。

匈牙利在线开票的通用设置

在“设置 - 在线开票”(AAS900) 中为匈牙利使用的国家/地区代码(在“国家/地区。打开”(CRS045) 中用 ISO 代码“HU”或“HUN”定义)定义在线开票设置。

对于匈牙利,您可以定义需要报告的最低增值税额、在线开票应考虑的 FAM 功能以及应在其中创建 XML 文件的 MvxFileTransfer 文件夹。

(AAS900/E) 上定义的增值税额限制使用与 (CRS045) 中的国家/地区代码链接的货币表示,设置应用于该国家/地区。对于匈牙利,增值税额限制以匈牙利福林表示。增值税额限制字段不能在 (AAS900/E) 上留空。如果所有客户发票都应包含在在线开票报告中,则应将此值设置为零。

在线开票仅考虑通过指定 FAM 功能创建的发票。在 (AAS900/E) 上,选择应包括的 FAM 功能。必须至少选择一种 FAM 功能。当前,仅支持通过 FAM 功能 AR10、AR20、CO20、FA50、MF01、OI20、PO20 和 SO20 创建的客户发票。

文件夹名称可以在 (AAS900/E) 上保留空,在这种情况下,XML 文件将存储在 MvxFileTransfer 文件夹中,而没有子文件夹。如果指定了文件夹名称,则 XML 文件将存储在 MvxFileTransfer 文件夹内的该子文件夹中。指定的子文件夹必须存在,因此在 (AAS900/E) 上选择子文件夹之前必须手动创建。

注意

我们不建议在发放发票时使用空白分部,但是这样做,仍应创建用于在线开票报告的 XML 文件。为了能够处理使用空白分部时发放的发票的在线开票,用户必须在 (AAS900) 中为空白分部定义“虚拟记录”。可以为任何主要国家/地区代码定义此记录,因为它仅用于 (AAS900) 中存在在线开票设置的初始控制。开票分部发票的主要国家/地区代码的实际设置稍后仍可在工作流中控制,以确保根据设置进行在线开票报告。

货币匈牙利福林 (HUF)

如果要在不位于匈牙利但涉及匈牙利财务代表的分部中使用在线开票功能,则必须在“货币。打开”(CRS055) 中定义货币 HUF(匈牙利福林),并且必须在“汇率。按日期打开”(CRS058) 中为使用的汇率类型定义当前汇率。当涉及财务代表时,对于使用匈牙利福林以外的其他货币发放的发票,此汇率检索到要素<exchangeRate>。

名称和地址信息

名称和地址信息检索到 XML 文件中的适用要素。这些信息包含在以下标签中:

  • 有关发票发放人的信息包含在“supplierInfo”下,并可从“公司。连接分部”(MNS100) 中检索。
  • 有关发票接收方的信息包含在“customerInfo”下,并可从“客户。打开”(CRS610) 中检索。
  • 关于财务代表的信息(如果有)包含在“fiscalRepresentativeInfo”下,并可从“供应商。连接地址”(CRS622) 中检索。

    首先,使用地址类型 01。如果不存在,则使用地址类型 02。如果 (CRS622) 中不存在这些地址类型,则从“供应商。打开”(CRS620) 中的字段“SUNM”中检索供应商名称,并且 XML 文件中不包含该财务代表的地址信息。

下表显示了默认的信息检索方式:

要素 公司 (MNS100/E) 客户 (CRS610/E) 供应商 (CRS622/E)
name CONM CUNM SUNM
countryCode CSCD CSCD CSCD
postalCode PONO PONO PONO
city 城镇 城镇 城镇
additionalAddressDetail COA1、COA2、COA3、COA4 CUA1、CUA2、CUA3、CUA4 ADR1、ADR2、ADR3、ADR4

如果以其他方式指定了名称和地址信息,则可以在“业务消息数据转换。显示”(CRS881) 和“业务消息数据。转换”(CRS882) 中定义转换。此设置可以按分部进行。

通过 (AAS395) 运行一次在线开票,可自动创建要在 (CRS881) 中进行转换的标题记录。第一次运行后,在 (CRS881) 中选择适用的记录,然后使用 (CRS881) 中的相关选项 11=“转换”打开 (CRS882) 来指定转换。

“name”要素

默认情况下,通过从 (MNS100)、(CRS610) 和 (CRS622)/(CRS620) 中用于名称的字段中检索信息来填充“name”要素,但是为了指示也应包括来自地址字段之一的信息,在 (CRS882) 中定义了转换。如果名称的长度超过字段允许的范围(例如,(CRS610) 中的CUNM),这样可能很有用。

通过 (AAS395) 运行一次在线开票,可自动创建要在 (CRS881) 中进行转换的标题记录。首次运行后,请在 (CRS881) 中标识“name”要素,其中包含以下值:

描述 字段
标准消息 MSTD M3BE
版本 MVRS 1
消息 BMSG HU-TaxAuthAuditData
I/O IBOB O
父要素 ELMP name
数据要素 ELMD name

要定义名称信息的翻译,请使用 (CRS881) 中的相关选项11=“转换”打开 (CRS882)。在 (CRS882) 中指定设置。

M3 数据设置为:

  • “COMP”,用作公司名称的翻译
  • “CUST”,用作客户名称的翻译
  • “SUPP”,用作财务代表名称的翻译。

消息数据设置为:

  • 1,以包括地址字段 1
  • 2,以包括地址字段 2
  • 3,以包括地址字段 3
  • 4,以包括地址字段 4

下表显示了如何指定设置:

描述 字段
外部合作伙伴 EXTP 空白
M3 数据 MVXD COMP、CUST 或 SUPP
消息数据 MBMD 1、2、3 和/或 4

下表显示了设置的示例:

(CRS882) 中的行 M3 数据 消息数据
1 CUST 1
2 SUPP 1
  • 如果未为“COMP”定义公司翻译,则将从 (MNS100) 中的字段 CONM 中检索“供应商名称”,这是默认设置。
  • 当“CUST”的消息数据设置为包括地址字段 1 时,将从 (CRS610) 中的 CUNM 和 CUA1 字段中检索“customerName”。
  • 当“SUPP”的消息数据设置为包括地址字段 1 时,将从 (CRS622) 中的 SUNM 和 ADR1 字段中检索“fiscalRepresentativeName”。

“city”要素

默认情况下,通过从 (MNS100)、(CRS610) 和 (CRS622)/(CRS620) 中用于城市 (TOWN) 的字段中检索信息来分别填充“city”要素,但为了指示应使用来自地址字段之一的信息,在 (CRS882) 中定义了转换。如果城市名称长于字段 TOWN 允许的范围,这样可能很有用。

通过 (AAS395) 运行一次在线开票,可自动创建要在 (CRS881) 中进行转换的标题记录。首次运行后,请在 (CRS881) 中标识“city”要素,其中包含以下值:

描述 字段
标准消息 MSTD M3BE
版本 MVRS 1
消息 BMSG HU-TaxAuthAuditData
I/O IBOB O
父要素 ELMP simpleAddress
数据要素 ELMD city

要定义城市信息的翻译,请使用 (CRS881) 中的相关选项11=“转换”打开 (CRS882)。在 (CRS882) 中指定设置。

M3 数据设置为:

  • “COMP”,用作公司城市的翻译
  • “CUST”,用作客户城市的翻译
  • “SUPP”,用作财务代表城市的翻译。

消息数据设置为:

  • 1,以包括地址字段 1
  • 2,以包括地址字段 2
  • 3,以包括地址字段 3
  • 4,以包括地址字段 4

下表显示了如何指定设置:

描述 字段
外部合作伙伴 EXTP 空白
M3 数据 MVXD COMP、CUST 或 SUPP
消息数据 MBMD 1、2、3 和/或 4

下表显示了设置的示例:

(CRS882) 中的行 M3 数据 消息数据
1 COMP 2
2 CUST 4
3 SUPP 3

在此示例中,将不会从“TOWN”字段中检索信息以填充“city”要素。

  • 当“COMP”的消息数据设置为包括地址字段 2 时,将从 (MNS100) 中的字段 COA2 中检索“city”。
  • 当“CUST”的消息数据设置为包括地址字段 4 时,将从 (CRS610) 中的字段 CUA4 中检索“city”。
  • 当“SUPP”的消息数据设置为包括地址字段 3 时,将从 (CRS622) 中的字段 ADR3 中检索“city”。

“additionalAddressDetail”要素

默认情况下,通过从所有四个地址字段中检索信息来填充要素“ additionalAddressDetail”。如果此要素中仅包含一个或几个地址字段,则可以在 (CRS882) 中定义转换。

通过 (AAS395) 运行一次在线开票,可自动创建要在 (CRS881) 中进行转换的标题记录。首次运行后,请在 (CRS881) 中标识“additionalAddressDetail”要素,其中包含以下值:

描述 字段
标准消息 MSTD M3BE
版本 MVRS 1
消息 BMSG HU-TaxAuthAuditData
I/O IBOB O
父要素 ELMP simpleAddress
数据要素 ELMD additionalAddressDetail

要定义地址信息的翻译,请使用 (CRS881) 中的相关选项11=“转换”打开 (CRS882)。在 (CRS882) 中指定设置。

M3 数据设置为:

  • “COMP”,用作公司地址明细的翻译
  • “CUST”,用作客户地址明细的翻译
  • “SUPP”,用作财务代表地址明细的翻译。

消息数据设置为:

  • 1,以包括地址字段 1
  • 2,以包括地址字段 2
  • 3,以包括地址字段 3
  • 4,以包括地址字段 4

下表显示了如何指定设置:

描述 字段
外部合作伙伴 EXTP 空白
M3 数据 MVXD COMP、CUST 或 SUPP
消息数据 MBMD 1、2、3 和/或 4

下表显示了设置的示例:

(CRS882) 中的行 M3 数据 消息数据
1 COMP 1
2 CUST 23
3 SUPP 2

在此示例中,将不会从所有四个地址字段中检索信息以填充“additionalAddressDetail”要素。

  • 当“COMP”的消息数据设置为包括地址字段 1 时,将从 (MNS100) 中的字段 COA1 中检索“additionalAddressDetail”。
  • 当“CUST”的消息数据设置为包括地址字段 2 和 3 时,将从 (CRS610) 中的 CUA2 和 CUA3 字段中检索“additionalAddressDetail”。
  • 当“SUPP”的消息数据设置为包括地址字段 2 时,将从 (CRS622) 中的字段 ADR2 中检索“additionalAddressDetail”。

增值税登记号

对于匈牙利公司,增值税登记号带有前缀“HU”。增值税登记号应指定为 11 位,不包含任何破折号。

增值税登记号填充 XML 文件中的“communityVatNumber”要素。如果增值税登记号包含空格、破折号或任何其他受限制的字符,则在填充“communityVatNumber”要素之前将其删除。

下表显示了增值税登记号的定义方式:

设置 XML 文件中的要素
公司 (MNS100/G) 上的 VRNO 字段 communityVatNumber
客户 (CRS610/J) 上的 VRNO 字段 communityVatNumber
财务代表 (CRS620/E) 上的 VRNO 字段 不适用

税号

所有匈牙利公司都分配有一个税号。通常,这是在“组织编号 2”字段 (COR2) 中指定的,但也可以在“增值税登记号”字段 (VRNO) 中指定。如果指定为增值税登记号,则匈牙利的这个编号可能带有前缀“HU”,但在 XML 文件中填充“taxNumber”要素时不包括此前缀。

税号应指定为 11 位,不包含任何破折号。如果税号包含空格、破折号或任何其他受限制的字符,则在填充 XML 文件中的要素之前将其删除。该信息分为三个要素:taxpayerId(前 8 个位置)、vatCode(第 9 个位置)和 countyCode(第 10 个和第 11 个位置)。

下表显示了税号的定义方式:

设置 XML 文件中的要素
公司 (MNS100/G) 上的 COR2 字段 supplierTaxNumber
客户 (CRS610/J) 上的 COR2 字段 customerTaxNumber
财务代表 (CRS620/E) 上的 COR2 字段 fiscalRepresentativeTaxNumber

一些客户是组的成员,在这种情况下,除了“customerTaxNumber”要素外,“groupMemberTaxNumber”要素也应包含在 XML 文件中。要填充这两个要素,应在“组织编号”(CORG) 和“组织编号 2”(COR2) 字段中指定信息。

下表显示了如果客户是组成员,应如何在 (CRS610/J) 上指定信息:

信息 设置 XML 文件中的要素
组成员的税号(客户的个人税号) (CRS610/J) 上的 CORG 字段 groupMemberTaxNumber
组标识号 (CRS610/J) 上的 COR2 字段 customerTaxNumber
注意

如果客户不是组的成员,则应在“组织编号 2”字段 (COR2) 中指定客户的个人税号,用以填充“customerTaxNumber”要素。无论客户是否为组成员,此要素总是用 COR2 字段中的信息进行填充。

为了指示某个客户编号是组的成员,并且应该进行相应的报告,请在“业务消息数据转换。显示”(CRS881) 和“业务消息数据。转换”(CRS882) 中进行设置。此设置可以按分部进行。

通过 (AAS395) 运行一次在线开票,可自动创建要在 (CRS881) 中进行转换的标题记录。首次运行后,请在 (CRS881) 中标识“groupMemberTaxNumber”要素,其中包含以下值:

描述 字段
标准消息 MSTD M3BE
版本 MVRS 1
消息 BMSG HU-TaxAuthAuditData
I/O IBOB O
父要素 ELMP groupMemberTaxNumber
数据要素 ELMD 客户

要定义适用的客户编号,请使用 (CRS881) 中的相关选项11=“转换”打开 (CRS882)。在 (CRS882) 中指定设置。

下表显示了如何指定设置:

描述 字段
外部合作伙伴 EXTP 空白
M3 数据 MVXD 适用客户编号
消息数据 MBMD 空白

如果在 (CRS882) 中找到客户编号作为 M3 数据,则表明该客户是组的成员,并且应该为此特定的客户编号填充“customerTaxNumber”和“groupMemberTaxNumber”要素。

增值税代码

标签“lineVatRate”包含四个不同的要素,但只应创建其中一个。在 (CRS881) 和 (CRS882) 中,四个要素中三个要素的不同增值税代码设置,将根据交易的增值税代码来决定填充哪一个。此设置可以按分部进行。

如果在 (CRS882) 中这三个要素中的任何一个要素存在当前增值税代码的转换,则该要素包含在 XML 文件中。

如果在 (CRS882) 中这三个要素中的任何一个要素都不存在增值税代码的转换,则“vatPercentage”要素包含在 XML 文件中。

“vatExemption”要素

如果该要素的 (CRS881) 和 (CRS882) 中存在该总帐凭证的增值税交易的增值税代码,则表示增值税免除。然后,从 (CRS882) 检索增值税免税文本。如果不存在,则不会创建此要素。

通过 (AAS395) 运行一次在线开票,可自动创建要在 (CRS881) 中进行转换的标题记录。首次运行后,请在 (CRS881) 中标识“vatExemption”要素,其中包含以下值:

描述 字段
标准消息 MSTD M3BE
版本 MVRS 1
消息 BMSG HU-TaxAuthAuditData
I/O IBOB O
父要素 ELMP zaradekok
数据要素 ELMD adoment_hiv

要定义适用增值税代码的转换,请使用 (CRS881) 中的相关选项 11 =“转换”打开 (CRS882)。在 (CRS882) 中指定设置。

下表显示了如何指定设置:

描述 字段
外部合作伙伴 EXTP 空白
M3 数据 MVXD 增值税代码
消息数据 MBMD 增值税免税文本(40 个字符)
注意

应指定不带前导零的增值税代码。例如,如果使用增值税代码 02,请指定 2。

下表显示了设置的示例:

(CRS882) 中的行 M3 数据 消息数据
1 99 CRS882 中的增值税免税文本

在此示例中,增值税代码 99 的增值税交易将会在标签“lineVatRate”下创建“vatExemption”要素。该要素使用文本“CRS882 中的增值税免税文本”进行填充。

“vatOutOfScope”要素

如果该要素的 (CRS881) 和 (CRS882) 中存在该总帐凭证的增值税交易的增值税代码,则表示增值税范围外。然后将该要素指定为“true”。如果不存在,则不会创建此要素。

通过 (AAS395) 运行一次在线开票,可自动创建要在 (CRS881) 中进行转换的标题记录。首次运行后,请在 (CRS881) 中标识“vatOutOfScope”要素,其中包含以下值:

描述 字段
标准消息 MSTD M3BE
版本 MVRS 1
消息 BMSG HU-TaxAuthAuditData
I/O IBOB O
父要素 ELMP vatOutOfScope
数据要素 ELMD vatCode

要定义适用增值税代码的转换,请使用 (CRS881) 中的相关选项 11 =“转换”打开 (CRS882)。在 (CRS882) 中指定设置。

下表显示了如何指定设置:

描述 字段
外部合作伙伴 EXTP 空白
M3 数据 MVXD 增值税代码
消息数据 MBMD 空白
注意

应指定不带前导零的增值税代码。例如,如果使用增值税代码 02,请指定 2。

下表显示了设置的示例:

(CRS882) 中的行 M3 数据 消息数据
1 98 空白

在此示例中,增值税代码 98 的增值税交易将会在标签“lineVatRate”下创建“vatOutOfScope”要素。该要素将指定为“true”。

“vatDomesticReverseCharge”要素

如果该要素的 (CRS881) 和 (CRS882) 中存在该总帐凭证的增值税交易的增值税代码,则表示增值税国内冲销费用。然后将该要素指定为“true”。如果不存在,则不会创建此要素。

通过 (AAS395) 运行一次在线开票,可自动创建要在 (CRS881) 中进行转换的标题记录。首次运行后,请在 (CRS881) 中标识“vatDomesticReverseCharge”要素,其中包含以下值:

描述 字段
标准消息 MSTD M3BE
版本 MVRS 1
消息 BMSG HU-TaxAuthAuditData
I/O IBOB O
父要素 ELMP zaradekok
数据要素 ELMD ford_ado

要定义适用增值税代码的转换,请使用 (CRS881) 中的相关选项 11 =“转换”打开 (CRS882)。在 (CRS882) 中指定设置。

下表显示了如何指定设置:

描述 字段
外部合作伙伴 EXTP 空白
M3 数据 MVXD 增值税代码
消息数据 MBMD 空白
注意

应指定不带前导零的增值税代码。例如,如果使用增值税代码 02,请指定 2。

下表显示了设置的示例:

(CRS882) 中的行 M3 数据 消息数据
1 97 空白

在此示例中,增值税代码 97 的增值税交易将会在标签“lineVatRate”下创建“vatDomesticReverseCharge”要素。该要素将指定为“true”。

CsK 代码

“发票。显示行”(OIS351) 中用于外部行费用 (IVTP 67) 的发票行通常包含在该行费用所连接的物料行 (IVTP 31) 报告的发票行中。这仅适用于环保收费,不适用于其他行收费。可以通过在 (CRS881) 和 (CRS882) 中将其定义为“csk”来识别环保收费。其他外部行费用应在 XML 文件中单独报告为单独的行。

如果链接到包含此类收费的客户订单发票,则此项适用于客户订单发票 (OIS350) 和内部发票 (MFS100)。转换按分部进行定义。

通过 (AAS395) 运行一次在线开票,可自动创建要在 (CRS881) 中进行转换的标题记录。首次运行后,请在 (CRS881) 中标识“vissz_igenytetel”要素,其中包含以下值:

描述 字段
标准消息 MSTD M3BE
版本 MVRS 1
消息 BMSG HU-TaxAuthAuditData
I/O IBOB O
父要素 ELMP vissz_igenytetel
数据要素 ELMD csk

要定义适用外部行费用 ID 的转换,请使用 (CRS881) 中的相关选项 11 =“转换”打开 (CRS882)。在 (CRS882) 中指定设置。

下表显示了如何指定设置:

描述 字段
外部合作伙伴 EXTP 空白
M3 数据 MVXD 外部行费用的 ID(在 CRS275 中定义)
消息数据 MBMD 可能包含匈牙利税务机关定义的“csk”代码

下表显示了设置的示例:

(CRS882) 中的行 M3 数据 消息数据
1 CVB2 E112297
2 MBLN1 E112233

在此示例中,为物料行 (IVTP 31)(要素“lineNetAmount”、“lineVatAmount”和“lineGrossAmountNormal”)报告的金额中包括两个外部行费用(在 (CRS882) 中定义为“csk”)。所有其他外部行费用(在 (CRS882) 中定义为“csk”)将单独报告,在报告中使用单独的行号。

行说明的翻译

对于 XML 文件中的每一行,行说明都包含在要素“lineDescription”中。如果有适用于语言“HU”的翻译,则检索该翻译。否则,标准说明将检索到 XML 文件。

  • 物料说明

    如果“物料。输入名称/语言”(MMS030) 中存在语言“HU”的物料名称和说明,这些名称和说明将作为 XML 文件中要素“lineDescription”中发票行的物料说明进行检索。否则,将按以下方式检索物料说明:

    • 对于客户订单发票,从客户订单。打开行 (OIS101) 中客户订单行上的物料名称中检索物料说明。
    • 对于内部发票和维护订单发票,从物料。打开 (MMS001) 中的物料主文件中检索物料说明。
    • 对于服务订单发票,从服务订单。打开行 (SOS120) 中服务订单行上的物料名称中检索物料说明。
    • 对于项目订单发票,从项目发票。更新行 (POS481) 中项目订单发票行上的物料名称中检索物料说明。
  • 标题收费说明

    如果“客户订单收费。输入名称/语言”(OIS029) 中存在针对语言“HU”的客户订单标题收费说明,将其检索为 XML 文件中要素“lineDescription”中发票行的说明。否则,将按以下方式检索标题收费说明:

    • 对于客户订单发票和维护订单发票,从客户订单费用。打开 (OIS030) 中检索说明。
    • 对于租赁发票,从租赁协议。连接收费 (STS113) 中检索说明
    • 对于服务订单发票,从服务订单。连接费用 (SOS103) 中检索说明
    • 对于项目订单发票,从项目发票。连接费用 (POS487) 中检索说明
  • 服务收费说明

    如果“服务费用。输入名称/语言”(OIS033) 中存在针对语言“HU”的客户订单服务收费说明,将其检索为 XML 文件中要素“lineDescription”中发票行的说明。否则,将从“服务费用。打开”(OIS031) 中检索说明。

  • 行费用说明

    如果“订单行费用。输入名称/语言”(CRS276) 中存在针对语言“HU”的订单行费用说明,将其检索为 XML 文件中要素“lineDescription”中发票行的说明。否则,将从“订单行费用。打开”(CRS275) 中检索说明。