沙特阿拉伯¶
模块¶
提供以下与沙特阿拉伯本地化相关的模块:
名称 |
技术名称 |
描述 |
|---|---|---|
沙特阿拉伯 - 会计 |
|
对于沙特阿拉伯,默认为 fiscal localization package,支持第 1 阶段 QR 码。 |
沙特阿拉伯 - 会计报告 |
|
沙特阿拉伯的会计报告 |
沙特阿拉伯 - 电子发票 |
|
启用 ZATCA Phase 2 API 集成,以实现电子发票合规性。 |
沙特阿拉伯 - 电子发票(简体) |
|
通过 PoS 启用电子发票。 |
沙特阿拉伯 - 销售点 |
|
添加 PoS 发票的合规字段和行为。 |
沙特阿拉伯 - 预扣税 |
|
强制安装付款预扣税模块。 |
注解
本地化的核心模块会随本地化一起自动安装。其余的可以手动:doc:installed </applications/general/apps_modules>。
本地化概述¶
沙特阿拉伯本地化包确保遵守沙特阿拉伯的财政和会计法规。它包括用于管理税收、财政状况、报告和根据沙特阿拉伯标准定制的预定义科目表的工具。
沙特阿拉伯本地化包提供以下主要功能,以确保遵守当地财政和会计法规:
科目表:符合沙特阿拉伯法规的预定义结构
税:预先配置的税率,包括标准 15% 增值税、零税率和免税选项
财政状况(税项和科目映射):根据客户或供应商注册状态自动进行税务调整
Withholding taxes:适用服务类别的预定义预扣税规则
税务报告:自动税务报告
E-invoicing (ZATCA):符合沙特阿拉伯政府要求的电子发票集成
税¶
沙特阿拉伯本地化包括预配置的销售、采购和预扣 taxes:
- 标准增值税 (15%):适用于在王国境内提供的大多数商品和服务的现行税率。供应商对销售收取 15% 的增值税(销项增值税),并且通常有权扣除其业务采购时支付的增值税(进项增值税)。
Example
大多数商业销售、零售商品、电信服务、非豁免私人教育和非豁免私人医疗保健。
- 零税率增值税 (0%):这些是适用税率为 0% 的应税供应品。供应商在销售过程中不收取增值税,但最重要的是,供应商完全有权收回与制造这些供应品相关的成本所支付的进项增值税。
Example
出口:向非:abbr:`GCC (Gulf Cooperation Council)`居民提供商品和服务或供王国境外消费。
国际运输:国际旅客和货物运输服务及相关服务。
特定商品:ZATCA/卫生部指定的合格药品和合格医疗设备的供应。
住宅房产:首次向沙特公民提供新的住宅楼/房产,价值不超过 1,000,000 沙特里亚尔(视具体条件而定)。
投资金属:纯度为 99% 或更高的合格金、银和铂(供投资)。
- 免税交易:这些交易不属于增值税范围,这意味着它们无需缴纳税款。供应商不对销售收取任何增值税,并且无权收回与制造这些供应品相关的成本所支付的进项增值税(导致无法收回的成本)。
Example
金融服务:贷款利息、提供信贷、活期/存款/储蓄账户操作、货币或证券发行或转让以及人寿保险。
房地产:住宅物业的裸租(租赁)。
- 进口增值税:对从非 GCC 国家带入王国的货物征收增值税。增值税通常按标准税率 (15%) 计算,并在进口时支付给海关当局。
重要
将 discounts 分配给发票时,请在包含全局折扣的行上分配 15% 的税,以符合 ZATCA 规则。
反向充电机制(RCM)¶
描述:将增值税核算责任从非居民供应商转移到货物或服务的居民接受者的机制。
机制:增值税登记接收人必须在其 VAT return 中计算并核算增值税(销项增值税和进项增值税)。如果进项税可以完全扣除,这通常会对增值税申报产生净零影响。
应用:主要用于非居民供应商向沙特阿拉伯增值税注册企业提供 B2B 服务。
预扣税¶
有两种计算预扣税的方法:总额和扣除。
预扣总额:这是主要配置,除了账单总额之外还计算预扣金额。例如,如果输入的账单总额为 115 SAR,系统将计算基数加上预扣税 (WHT),但不会减少付款金额。
扣除预扣税:直接将应付金额减去预扣税额,这意味着总付款反映了预先扣除的金额。这会影响会计分录和应付行的记账方式。
注解
默认情况下不启用扣除预扣税。要激活它,请转至会计 –> 配置 –> 税并启用相关的预扣税。
以下预扣税 (WHT) 配置已预加载并可供使用:
5% 预扣税:适用于租金、股息、技术和咨询服务、空运和海运以及利息、保险和再保险费的支付。
15% 预扣税:适用于向非居民支付的特许权使用费和其他一般服务付款。
20% 预扣税:预留用于管理费和特定高价值服务付款。
税务报告¶
VAT and Withholding Return 提供应税、零税率、免税和预扣交易的详细细目。与其他财务报告一样,VAT 和 Withholding Return 可以按期间过滤、与其他期间进行比较,并以 Excel 和 PDF 格式导出,确保符合沙特阿拉伯税法。
公司及联系方式¶
为了确保与 ZATCA 正确集成,company record 上需要以下字段:
Company Name,最多限制为 63 个字符,以符合 ZATCA 要求。
所有相关 Address 字段,包括 District、Building Number 和 Plot Identification
Identification Scheme
Tax Identification Number
Commercial Registration Number
Momra License
MLSD License
700 Number
Sagia License
VAT Number
Currency 必须设置为 SAR。
重要
所有字段必须准确填写,以避免在 ZATCA onboarding 期间被拒绝。
注解
相同的配置适用于所有相关的 contact 表单。
分支机构配置¶
按照 ZATCA rules 设立您的公司 branches。
重要
在分公司联系表上,输入与母公司相同的 VAT Number,并在 Identification Scheme 字段中输入分公司 Commercial Registration Number (CRN)。
注解
要么使用母公司的销售日记帐来遵循集中式计费系统模型,要么使用新的分支机构特定日记帐来建立具有并行发票处理功能的多线程系统。
发票语言¶
发票可以以不同语言开具,以满足两个级别的区域或客户特定要求:
客户级别:要为客户分配首选语言,请转至 或 ,然后打开相关客户表单。 在 Language 字段中,更新语言。然后,所有文档都会以该客户所选的语言自动生成。
重要
沙特阿拉伯的增值税法规要求 Tax Invoices 和 :guilabel:`Simplified Tax Invoices`(以及相应的贷方票据或借方票据)必须采用阿拉伯语。发票可以是双语的,包括英语。
公司级别:添加阿拉伯语作为第二语言以满足沙特阿拉伯增值税法规:
对于 Tax Invoices:转到 Customer Invoices 部分中的 。
对于销售点收据:转至 ,然后导航至 Bills & Receipts 部分。
然后,启用 Gulf Cooperation Council Format 选项和 Save。
ZATCA 电子发票¶
ZATCA 电子发票系统旨在简化和数字化在沙特阿拉伯运营的企业的发票流程。
ZATCA 第 2 阶段采用企业对企业 (B2B) 交易的清算电子发票模型。相反,对于企业对消费者 (B2C) 交易,Odoo 会生成 QR 代码,然后将这些交易报告给 Fatoora 报告端点。
在 B2B 场景中,会发出 Tax Invoice,而在 B2C 场景中,会生成 Simplified Tax Invoice。
其他资料
分步过程¶
加入 ZATCA(第 2 阶段)时,有三种模式:
Sandbox:通用预配置测试环境;使用它来模拟开箱即用的集成功能。
Simulation (Pre-Production):用户特定的测试环境;用它来模拟您独特的集成。
Production:生活环境
沙盒¶
小技巧
在您的公司设置中使用增值税号 399999999900003 进行沙箱测试。
- 设置数据库转到 ,并在 Saudi Arabia Electronic Invoicing 部分中,确保 ZATCA API mode 设置为 Sandbox。
- 公司信息验证确保所有 company 信息完整。
船上销售日记帐
转到:menuselection:
Accounting --> Configuration --> Journals。打开 Sales 日志。
在 ZATCA 选项卡下,单击:图标:
fa-refreshOnboard。在 Enter the OTP 窗口中,预先填充了 6 位 OTP。单击:guilabel:
Confirm。
发票测试
发票确认后,会出现蓝色横幅;单击:guilabel:
Process now。确保 response from the API 是 Action Successful。如果没有,请查看聊天中显示的 API 响应并采取适当的操作。
模拟(预生产)¶
设置数据库
复制您的实时/生产数据库。
转到 ,并在 Saudi Arabia Electronic Invoicing 部分中,确保 ZATCA API mode 设置为 Simulation (Pre-Production)。
- 公司信息验证确保所有 company 信息完整。
船上销售日记帐
转到:menuselection:
Accounting --> Configuration --> Journals。打开 Sales 日志。
在 ZATCA 选项卡下,单击:图标:
fa-refreshOnboard。在 Enter the OTP 窗口中,输入从测试环境下的 Fatoora 模拟门户检索到的 6 位 OTP。然后点击 Confirm。
发票测试
发票确认后,会出现蓝色横幅;单击:guilabel:
Process now。确保 response from the API 是 Action Successful。如果没有,请查看聊天中显示的 API 响应并采取适当的操作。
注解
Simulation (Pre-Production) 模式发票不具有法律效力。
生产¶
- 在您的实时/生产数据库中转到 ,并在 Saudi Arabia Electronic Invoicing 部分中,确保 ZATCA API mode 设置为 Production。
- 公司信息验证确保所有 company 信息完整。
船上销售日记帐
转到:menuselection:
Accounting --> Configuration --> Journals。打开 Sales 日志。
在 ZATCA 选项卡下,单击:图标:
fa-refreshOnboard。在 Enter the OTP 窗口中,输入从生产环境下的 Fatoora Portal 检索到的 6 位 OTP。然后点击 Confirm。
发票同步
发票确认后,会出现蓝色横幅;单击:guilabel:
Process now。确保 response from the API 是 Action Successful。如果没有,请查看聊天中显示的 API 响应并采取适当的操作。
注解
每个 Sales 期刊必须单独登录。
如果不再需要销售日志作为 ZATCA 解决方案单元,请确保在您的 Fatoora 门户中撤销它。为此,请单击 View List of Solutions And Devices,在 Revoke CSID 下选择相关解决方案和设备,然后单击 Revoke 和 Confirm。
警告
一旦 API 模式切换到 Production 并向 ZATCA 提交发票,就无法改回 Sandbox 或 Simulation (Pre-Production)。
从 Fatoora 模拟或生产门户生成的 OTP 将在 60 分钟后过期,需要重新生成。
向 ZATCA 提交发票¶
将发票提交给 ZATCA 后,Chatter 中的 API 将返回结构化响应消息。
Example
[202] BR-KSA-F-13:[BR-KSA-F-13] - 请重新检查其他卖家/买家 ID(BT-29 或 BT-46),因为它包含无效值。
可以接收的常用代码:
代码 |
行动 |
|---|---|
200 – Action Successful |
无需采取任何行动。 |
202 – Action Successful (with Warnings) |
|
303 – Clearance Switched Off |
通过报告流程提交发票而不是清关。 |
400 – Action Failed (Rejected) |
查看详细的错误消息,更正问题,然后重新提交。 |
401 – Unauthorized |
|
413 – Payload Too Large (Invoice Not Received) |
减少发票有效负载大小并重新发送。 |
429 – Too Many Requests (Invoice Not Received) |
重新发送发票。 |
500 – Internal Server Error (Invoice Not Received) |
重新发送发票。 |
503 – Service Unavailable (Invoice Not Received) |
重新发送发票。 |
504 – Request Timed Out (Invoice Not Received) |
重新发送发票。 |
发票确认并提交后,Chatter 中显示的消息颜色表示以下信息:
绿色:发票已成功接受 - 发票完全合规且已成功通过 ZATCA 验证。
黄色:发票已接受,但有警告 - 发票合法有效,但已接受,但有警告。应审查并纠正该问题以供将来提交。
红色:发票被拒绝 - ZATCA 不接受发票且不具有法律效力。必须更正并重新提交。
如果发票被拒绝,发票的信息中会显示一条错误消息。更正发票或公司设置中消息说明中描述的根本问题。然后,要重新提交发票,请点击 Retry。
重要
被 ZATCA 拒绝的发票仍处于 Rejected 状态,不被视为具有法律效力。
如果出现任何妨碍生成电子发票/电子收据的事件、技术错误或紧急情况,请通知 ZATCA。问题解决后,请使用相同的沟通渠道再次联系 ZATCA。对于特定的故障场景,请参阅 ZATCA’s guidelines (page 45) 中概述的步骤。
二维码验证¶
要验证发票上的二维码,请使用官方 ZATCA app 进行扫描。
进入应用程序后,点击 Services。在 E-Invoice Validation 部分中,单击 Start Service。然后,开始扫描发票的二维码。
注解
QR 验证输出不显示货币符号。无论使用何种货币,发票金额始终显示为纯数字值。
带有相关联系人(例如发票地址)的发票将发送至清关 API (B2B)。
借方和贷方票据¶
要创建 credit 或 debit 注释,请根据 ZATCA 法规的要求,在 Credit/Debit 窗口中的 ZATCA Reason 字段中包含 ZATCA 批准的原因:
供应发生后全部或部分取消或暂停。
供应发生重大变化或修改,导致应缴增值税发生变化。
修改供应商和消费者之间预先商定的供应价值。
商品或服务退款。
卖方或买方信息的更改。
小技巧
贷项/借项通知单 Other Info 选项卡中也提供 ZATCA Reason 字段。
注解
当贷项/借项通知单不相关/独立时,请在 Customer Reference 字段中填写与贷项/借项通知单相关的原始发票的序号。
预付款(预付款)¶
保留¶
保留金是客户暂时持有的金额,由商业合同定义,以确保工作的质量和完成度。它通常是发票价值的百分比(例如 5-10%),并作为针对未来缺陷的保证;保修期满后最终返还给承包商。
对于 ZATCA,普遍适用的规则是增值税根据发票总额计算,即使客户预扣一部分作为保留也是如此。 ZATCA建议纳税人首先确定纳税状况,特别是保留金额是否减少应税金额。税收状况取决于合同条款。
Odoo 保留工作流程通过纳税状况确保保留金额不会减少应税金额。
注解
启用 Is Retention 复选框后配置的任何负税(例如 -20%)对 UBL 2.1 没有影响。仅当此保留税与发票行上的通用税(例如 15%)结合使用时才适用,并且代表该发票行的百分比。例如,如果纳税人希望保留 20% 的发票货物,则 15% 税和 -20% 保留税都将应用于发票行。
在同一纳税位置中,保留也可以在发票级别应用,作为使用 0%(不缴纳增值税)税率的单独负发票行。
警告
在发票行添加启用了 Is Retention 的负税和一般税,或者在发票级别添加具有 0% (Not Subject to VAT) 税率的单独负发票行,通常表示已按全额应税金额支付增值税。因此,释放保留金额的最终发票不符合 Tax Invoice 的条件,不应提交给 ZATCA。
0%(无需缴纳增值税)税已根据 ZATCA 规则预先配置;不要修改它。
重要
创建新的保留税时,创建一个 Retention 税组并将其分配给这个新创建的保留税,以符合 ZATCA 规则。
要将 Retention Amount 添加为发票行上的注释,请单击 Add a note 以符合 ZATCA 规则。例如 - 保留金额:
[retention amount] SAR
生成的文档¶
提交发票后,将生成 UBL 2.1 XML 文件并将其发送到 ZATCA API 端点。为了便于审计,此 XML 文件存储在 chatter 中。要显示它,请单击 (attachments) 图标。
此外,使用 Send 时生成的发票 PDF 显示在聊天中。 XML 和 PDF 文件都永久附加到发票中且无法删除,以确保符合 ZATCA 法规。
重要
成功通过 ZATCA 提交的发票只能在 Sandbox 或 Simulation (Pre-Production) 模式下重置为草稿。
小技巧
要自动生成嵌入 UBL 2.1 的 PDF/A-3,请单击 Send。
销售点¶
ZATCA 集成配置¶
注解
确保 Saudi Arabia - E-invoicing (Simplified) (l10n_sa_edi_pos) 模块是 installed。
PoS 订单必须按照 ZATCA 第 2 阶段的要求正确报告。为此,请按照以下步骤操作:
在 PoS settings 中载入 Invoices 默认日志:
转到:menuselection:
Point of Sale --> Configuration --> Settings。在黄色横幅中,选择相关的 Point of Sale,然后导航到 Accounting 部分。在 Default Journals 部分中,找到 Invoices 字段,然后单击 (right arrow) 打开默认的 Sales 日记帐。
在 ZATCA 选项卡下,单击:图标:
fa-refreshOnboard。在 Enter the OTP 窗口中,输入从生产环境下的 Fatoora Portal 检索到的 6 位 OTP。然后点击 Confirm。
在完成交易之前 Assign a customer 到订单。
这些步骤可确保每张收据都作为合规的电子发票进行处理,并实时报告给 ZATCA 门户。生成收据后,第 2 阶段 QR 码会自动出现在打印的收据和 PDF 上。