沙特阿拉伯

模块

以下与沙特阿拉伯本地化相关的模块可用:

名称

技术名称

描述

沙特阿拉伯 - 会计

l10n_sa

沙特阿拉伯的默认财务本地化包,支持第一阶段二维码。

沙特阿拉伯 - 会计报告

l10n_sa_reports

沙特阿拉伯的会计报表

沙特阿拉伯 - 电子发票

l10n_sa_edi

启用 ZATCA 第二阶段 API 集成以实现电子发票合规性。

沙特阿拉伯 - 电子发票 (简化版)

l10n_sa_edi_pos

通过 POS 启用电子发票。

沙特阿拉伯 - 销售点

l10n_sa_pos

为 POS 发票添加合规字段和行为。

沙特阿拉伯 - 预扣税

l10n_sa_withholding_tax

强制安装付款预扣税模块。

注解

本地化核心模块会随本地化包自动安装。其余模块可以手动安装

本地化概述

沙特阿拉伯本地化包确保符合沙特阿拉伯财政和会计法规。它包括管理税务、财务状况、报告的工具,以及为沙特阿拉伯标准量身定制的预定义会计科目表。

沙特阿拉伯本地化包提供以下关键功能,以确保符合当地财政和会计法规:

沙特阿拉伯本地化包括预配置的销售、采购和预扣税务

  • 标准增值税(15%):适用于王国境内供应的大多数商品和服务的现行税率。
    供应商对销售收取 15% 增值税(销项税),并且通常有权扣除其业务采购支付的增值税(进项税)。

    Example

    大多数商业销售、零售商品、电信服务、非免税私立教育和非免税私立医疗。

  • 零税率增值税(0%):这些是应税供应,适用的税率为 0%。
    供应商对销售不收取增值税,但关键的是,完全有权收回与提供这些供应相关的成本所支付的进项税。

    Example

    • 出口:向非GCC(海湾合作委员会)居民或在王国境外消费的商品和服务供应。

    • 国际运输:国际旅客和货物运输服务及相关服务。

    • 特定商品:按照 ZATCA/卫生部规定的合格药品和合格医疗设备的供应。

    • 住宅房产:首次向沙特公民供应新住宅建筑/房产,价值不超过 1,000,000 沙特里亚尔(须符合特定条件)。

    • 投资金属:纯度达到或超过 99% 的合格黄金、白银和铂金(供投资使用)。

  • 免税交易:这些交易不属于增值税范围,即不需缴纳该税。
    供应商在销售时不收取任何增值税,也无权抵扣与这些供应相关的成本所支付的进项增值税(导致无法抵扣的成本)。

    Example

    • 金融服务:贷款利息、提供信用、经常/存款/储蓄账户业务、货币或证券的发行或转让,以及人寿保险。

    • 房地产:住宅房产的空置出租(租赁)。

  • 进口增值税:对从非海湾合作委员会国家进入沙特王国的货物征收增值税。
    增值税通常按标准税率(15%)计算,并在进口时向海关当局缴纳。

重要

在为发票分配折扣时,需在包含全局折扣的行上分配 15% 的税,以符合沙特税务和海关管理局规定。

反向征税机制(RCM)

  • 说明:该机制将增值税核算责任从非居民供应商转移到居民商品或服务接收方。

  • 机制:已登记增值税的接收方必须在其增值税申报表中计算并核算增值税(同时作为销项增值税和进项增值税)。如果进项税可完全抵扣,这通常会在增值税申报表中产生净零效应。

  • 适用范围:主要用于非居民供应商向沙特阿拉伯已登记增值税的企业提供 B2B 服务。

预扣税

有两种可用的预扣税计算方法:总额法和扣除法。

  • 总额预扣:这是主要配置方式,预扣金额在账单总额之外计算。例如,如果输入的账单总额为 115 沙特里亚尔,系统会在基础金额上计算预扣税(WHT),而不减少付款金额。

  • 扣除的预扣税:它直接通过预扣税金额减少应付金额,这意味着总付款额预先反映了扣除额。这会影响会计分录和应付款行的记录方式。

注解

扣除预扣税默认不启用。要激活它,请前往会计→ 配置 → 税,并启用相关预扣税。

以下预扣税(WHT)配置已预加载并可供使用:

  • 5% 预扣税:适用于租金、股息、技术和咨询服务、航空和海运运费,以及利息、保险和再保险费的付款。

  • 15% 预扣税:适用于向非居民支付的特许权使用费和其他一般服务费用。

  • 20% 预扣税:适用于管理费和特定的高价值服务付款。

税务报告

VAT 和预扣税申报表提供了应税、零税率、免税和预扣交易的详细明细。与其他财务报告一样,VAT预扣税申报表可以按期间过滤、与其他期间进行比较,并以 Excel 和 PDF 格式导出,从而确保符合沙特阿拉伯税法。

公司和联系人

为确保与ZATCA正确集成,公司记录上需要以下字段:

  • 公司名稱,限制為最多63個字元以符合ZATCA要求。

  • 所有相关地址字段,包括区域建筑编号地块标识

  • 识别方案

    • 税务识别号

    • 商业登记号

    • Momra 许可证

    • MLSD 许可证

    • 700 号码

    • Sagia 许可证

  • VAT 号码

  • 货币必须设置为SAR

重要

所有字段必须准确填写,以避免在ZATCA 入职期间被拒绝。

注解

相同的配置适用于所有相关联系人表单。

分支机构配置

按照ZATCA 规则设置您的公司分支机构

重要

在分支机构联系人表单上,输入与母公司相同的VAT 号码,并在识别方案字段中输入分支机构的商业登记号(CRN)

注解

可以使用母公司的销售日记账来遵循集中计费系统模型,或者入职一个新的特定分支机构日记账来设置具有并行发票处理的多线程系统。

发票语言

发票可以以不同语言签发,以满足两个级别的区域或客户特定要求:

  • 客户级别:要为客户指定首选语言,请前往会计 ‣ 客户 ‣ 客户POS ‣ 订单 ‣ 客户,并打开相关客户表单。在语言字段中,更新语言。之后,所有文档将自动以所选语言为该客户生成。

    重要

    沙特阿拉伯的增值税法规要求税务发票简化税务发票(以及相应的贷项通知单或借项通知单)必须使用阿拉伯语。发票可以是双语的,包括英语。

  • 公司级别:要添加阿拉伯语作为第二语言以满足沙特阿拉伯增值税法规:

    • 对于税务发票:转到会计 ‣ 配置 ‣ 设置,在客户发票部分。

    • 对于POS收据:前往POS ‣ 配置 ‣ 设置,并导航到账单与收据部分。

    然后,启用海湾合作委员会格式选项,并点击保存

使用ZATCA进行电子发票

ZATCA 电子发票系统旨在为在沙特阿拉伯运营的企业简化和数字化发票流程。

ZATCA第二阶段对企业对企业(B2B)交易采用清算电子发票模式。相反,对于企业对消费者(B2C)交易,Odoo会生成二维码,并随后将这些交易报告给Fatoora报告端点。

在B2B场景中,会开具税务发票,而在B2C场景中,则生成简化税务发票

分步流程

当接入ZATCA(第二阶段)时,有三种模式:

  • 沙盒:通用的预配置测试环境;使用它可以开箱即用地模拟集成功能。

  • 模拟(预生产):用户特定的测试环境;使用它来模拟您的独特集成。

  • 生产:实时环境

沙盒

小技巧

在公司设置中使用增值税号399999999900003进行沙盒测试。

  1. 设置数据库
    前往会计 ‣ 配置 ‣ 设置,在沙特阿拉伯电子发票部分中,确保ZATCA API模式设置为沙盒
  2. 公司信息验证
    确保所有公司信息完整。
  3. 加入销售日记账

    • 前往会计 ‣ 配置 ‣ 日记账

    • 打开销售日记账。

    • 在ZATCA选项卡下,点击注册

    • 输入OTP窗口中,6位数OTP已预填充。点击确认

  4. 发票测试

    • 创建确认客户发票。

    • 发票确认后,会出现蓝色横幅,点击立即处理

    • 确保API响应操作成功。如果不是,请查看消息记录中显示的API响应并采取适当措施。

模拟(预生产)

  1. 设置数据库

    • 复制您的正式/生产数据库。

    • 进入会计 ‣ 配置 ‣ 设置,在沙特阿拉伯电子发票部分,确保ZATCA API模式设置为模拟(预生产)

  2. 公司信息验证
    确保所有公司信息完整。
  3. 加入销售日记账

    • 前往会计 ‣ 配置 ‣ 日记账

    • 打开销售日记账。

    • 在ZATCA选项卡下,点击注册

    • 输入OTP窗口中,输入从Fatoora模拟门户测试环境下检索到的6位数OTP。然后点击确认

  4. 发票测试

    • 创建确认客户发票。

    • 发票确认后,会出现蓝色横幅,点击立即处理

    • 确保API响应操作成功。如果不是,请查看消息记录中显示的API响应并采取适当措施。

注解

模拟(预生产)模式的发票不具有法律效力。

生产

  1. 在您的正式/生产数据库中
    进入会计 ‣ 配置 ‣ 设置,在沙特阿拉伯电子发票部分,确保ZATCA API模式设置为生产
  2. 公司信息验证
    确保所有公司信息完整。
  3. 加入销售日记账

    • 前往会计 ‣ 配置 ‣ 日记账

    • 打开销售日记账。

    • 在ZATCA选项卡下,点击注册

    • 输入OTP窗口中,输入从Fatoora门户生产环境下检索到的6位数OTP。然后点击确认

  4. 发票同步

    • 创建确认客户发票。

    • 发票确认后,会出现蓝色横幅,点击立即处理

    • 确保API响应操作成功。如果不是,请查看消息记录中显示的API响应并采取适当措施。

注解

每个销售日记账必须单独注册。

如果某个销售日记账不再需要作为ZATCA解决方案单元,请确保在您的Fatoora门户中撤销它。为此,点击查看解决方案和设备列表,在撤销CSID下选择相关解决方案和设备,然后点击撤销确认

警告

  • 一旦API模式切换到生产并且发票已提交给ZATCA,就无法再改回沙盒模拟(预生产)

  • 从Fatoora模拟或生产门户生成的OTP会在60分钟后过期,需要重新生成。

發票提交至 ZATCA

向 ZATCA 提交發票後,API 會在討論區中返回結構化回應訊息。

Example

[202] BR-KSA-F-13:[BR-KSA-F-13] - 請重新檢查其他賣方/買方 ID(BT-29 或 BT-46),因為它包含無效值。

可能收到的常見代碼:

代码

操作

200 - 操作成功

無需採取任何操作。

202 - 操作成功(有警告)

  • 與解決方案提供商分享警告,以便盡快更正。

  • 警告暫時接受,但將來可能會被拒絕。

  • 頻繁的警告可能會觸發 ZATCA 的調查、教育或審計。

303 - 清算已關閉

透過報告流程提交發票,而非清算。

400 - 操作失敗(已拒絕)

查看詳細的錯誤訊息,更正問題並重新提交。

401 - 未授權

  • 檢查驗證憑證和密鑰。

  • 更正憑證並重新提交。

413 - 負載過大(未收到發票)

減少發票負載大小並重新發送。

429 - 請求過多(未收到發票)

重新发送发票。

500 – 内部服务器错误(未收到发票)

重新发送发票。

503 – 服务不可用(未收到发票)

重新发送发票。

504 – 请求超时(未收到发票)

重新发送发票。

发票确认并提交后,在讨论记录中显示的消息颜色表示以下信息:

  • 绿色:发票成功接受 - 发票完全符合要求,已成功通过 ZATCA 验证。

  • 黄色:发票接受但有警告 - 发票在法律上有效,但接受时带有警告。应审查并在未来提交时更正该问题。

  • 红色:发票被拒绝 - 发票未被 ZATCA 接受,在法律上无效。必须更正并重新提交。

如果发票被拒绝,发票的讨论记录中会显示错误消息。根据消息描述中的基本问题在发票或公司设置中进行更正。然后,要重新提交发票,点击重试

重要

二维码验证

要验证发票上的二维码,请使用官方`ZATCA 应用<https://zatca.gov.sa/en/AboutUs/ZATCAApps/Pages/default.aspx>`_扫描。

进入应用后,点击服务。在电子发票验证部分,点击开始服务。然后,开始扫描发票的二维码。

注解

  • 二维码验证输出不显示货币符号。发票金额始终显示为纯数字值,与使用的货币无关。

  • 具有相关联系人(例如,开票地址)的发票将发送到清关 API(B2B)。

借记单和信用单

要创建信用借记票据,请在信用/借记窗口的ZATCA 原因字段中包含 ZATCA 批准的原因,这是 ZATCA 法规要求的:

  • 供应发生后全部或部分取消或暂停。

  • 供应发生重大变更或修订,导致应缴增值税发生变化。

  • 修订供应商和消费者之间预先商定的供应价值。

  • 商品或服务退款。

  • 卖方或买方信息变更。

小技巧

ZATCA 原因字段也可在信用/借记票据的其他信息选项卡中找到。

注解

当信用/借记票据与原始发票无关/独立时,请在客户参考字段中填写信用/借记票据相关的原始发票的顺序编号。

预付款(提前付款)

按照ZATCA 指南处理预付款(提前付款)

保留

保留金是客户根据商业合同临时扣留的金额,用于确保工作的质量和完成。它通常是发票金额的百分比(例如 5-10%),作为防止未来缺陷的保证;一旦保修期到期,最终将退还给承包商。

对于 ZATCA,通常适用的规则是,即使客户将一部分作为保留金扣留,增值税也应根据发票全额计算。ZATCA 建议纳税人首先确定税务立场,特别是保留金金额是否减少应税金额。税务立场取决于合同条款。

Odoo 保留金工作流程通过税务立场确保保留金金额不会减少应税金额。

注解

任何启用了是保留金复选框的负税率(例如 -20%)对 UBL 2.1 没有影响。它仅在该保留金税与发票行上的通用税(例如 15%)一起使用时适用,并代表该发票行的百分比。例如,如果纳税人想要保留 20% 的开票商品,则 15% 税率和 -20% 保留金税率都将应用于发票行。

在同一税务立场内,保留金也可以作为单独的负发票行在发票级别应用,使用 0%(不征收增值税)税率。

警告

  • 在发票行上添加启用了是保留金的负税和一般税,或在发票级别添加单独的负发票行(税率为0%(不适用增值税)),通常表示已对全额应税金额支付了增值税。因此,释放保留金金额的最终发票不符合税务发票的资格,不应提交给ZATCA。

  • 0%(不征收增值税)税率已根据 ZATCA 规则预先配置;请勿修改。

重要

  • 创建新保留金税时,请创建保留金税组并将其分配给此新创建的保留金税以符合 ZATCA 规则。

  • 要将保留金金额作为备注添加到发票行上,请点击添加备注以符合 ZATCA 规则。例如 - 保留金金额:[保留金金额] SAR

生成的单据

发票提交后,会生成 UBL 2.1 XML 文件并发送到 ZATCA API 端点。为了可审计性,此 XML 文件存储在聊天记录中。要显示它,请点击(附件)图标。

此外,使用发送时生成的发票 PDF 会显示在聊天记录中。XML 和 PDF 文件都永久附加到发票上,无法删除以确保符合 ZATCA 法规。

重要

成功提交到 ZATCA 的发票只能在沙盒模拟(预生产)模式下重置为草稿。

小技巧

要自动生成嵌入 UBL 2.1 的 PDF/A-3,请点击发送

POS:

ZATCA 集成配置

注解

确保沙特阿拉伯 - 电子发票(简化)(l10n_sa_edi_pos)模块已安装

POS 订单必须按照 ZATCA 第二阶段的要求进行正确报告。为此,请遵循以下步骤:

  • POS设置中引入发票默认日记账:

    • 前往POS ‣ 配置 ‣ 设置。在黄色横幅中,选择相关的POS,然后导航至会计部分。

    • 默认日记账部分,找到发票字段并点击(向右箭头)打开默认的销售日记账。

    • 在ZATCA选项卡下,点击注册

    • 输入OTP窗口中,输入从Fatoora门户生产环境下检索到的6位数OTP。然后点击确认

  • 在完成交易之前,为订单分配客户

这些步骤确保每张收据都作为合规的电子发票处理,并实时报告至 ZATCA 门户。生成收据后,第二阶段二维码将自动显示在打印收据和 PDF 上。