沙特阿拉伯

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

名称技术名称描述
沙特阿拉伯 – 会计[l10n_sa]沙特阿拉伯默认 财政本地化包,支持第一阶段 QR 码。
沙特阿拉伯 – 会计报表[l10n_sa_reports]沙特阿拉伯的会计报表。
沙特阿拉伯 – 电子发票[l10n_sa_edi]启用 ZATCA 第二阶段 API,满足电子发票合规要求。
沙特阿拉伯 – 电子发票(简化)[l10n_sa_edi_pos]通过 POS 实现电子发票。
沙特阿拉伯 – 销售点(POS)[l10n_sa_pos]为 POS 发票添加合规字段和行为。
沙特阿拉伯 – 预扣税[l10n_sa_withholding_tax]强制安装 付款预扣税 模块。

:::note 注意
本地化的核心模块会随本地化一起自动安装,其余模块可手动 安装 </applications/general/apps_modules>。 :::

:::seealso 沙特阿拉伯工资单本地化文档 <../../hr/payroll/payroll_localizations/saudi_arabia> :::

沙特阿拉伯本地化包确保符合当地财政与会计法规,提供税务管理、财政位置、报表以及符合沙特标准的预设科目表等工具。

本地化包的关键特性:

  • ../accounting/get_started/chart_of_accounts:符合沙特法规的预设科目结构
  • localizations/saudi-arabia/taxes:预配置税率(15% 标准增值税、零税率、免税等)
  • ../accounting/taxes/fiscal_positions:依据客户/供应商登记状态自动调整税务
  • 预扣税 <localizations/saudi-arabia/withholding-taxes>:预设适用服务类别的预扣税规则
  • localizations/saudi-arabia/tax-reporting:自动化税务报表
  • 电子发票 (ZATCA) <localizations/saudi-arabia/zatca>:符合沙特政府要求的电子发票集成

沙特本地化预配置了销售、采购和预扣 税种 <../accounting/taxes>

  • 标准增值税 (15%):对王国内大多数商品与服务适用。供应商对销售收取 15% 增值税(输出税),并可抵扣业务采购产生的增值税(输入税)。

    :::example 适用范围:商业销售、零售商品、电信服务、非免税私立教育、非免税私立医疗等。 :::

  • 零税率增值税 (0%):税率为 0%,但供应商可全额抵扣与该供应相关的输入税。

    :::example

    • 出口:向非 GCC 居民或境外消费的货物/服务
    • 国际运输:客货国际运输及相关服务
    • 特定商品:符合 ZATCA/卫生部规定的合格药品与医疗设备
    • 住宅物业:首次向沙特公民提供的新住宅建筑,金额 ≤ 1,000,000 SAR(有特定条件)
    • 投资金属:99% 以上纯度的金、银、铂金(用于投资)
      :::
  • 免税交易:不属于增值税征收范围,供应商既不收取增值税,也不能抵扣对应的输入税。

    :::example

    • 金融服务:贷款利息、信用提供、活期/定期/储蓄账户、货币或证券转移、寿险等
    • 房地产:住宅物业的纯租赁
      :::
  • 进口增值税:对从非 GCC 国家进口到沙特的商品征收增值税,通常按 15% 计税,并在海关缴纳。

:::important 重要
在为发票分配 折扣 <../../sales/sales/products_prices/prices/discounts> 时,需在全局折扣行上加收 15% 税,以符合 ZATCA 规定。 :::

  • 描述:将增值税的会计责任从非居民供应商转移至本地收货人。
  • 机制:增值税登记的收货人需在 增值税申报 <accounting/tax-returns/vat-report> 中自行计算并计入输出税和输入税,通常对申报结果净额为零(若输入税可全额抵扣)。
  • 适用:主要用于非居民向沙特增值税登记企业提供的 B2B 服务。

预扣税可采用 总额已扣 两种计税方式:

  • 总额预扣(默认):在账单总额基础上额外计算预扣税。例如账单为 115 SAR,系统会在原金额上再加上预扣税,不会减少实际付款金额。
  • 已扣预扣:直接从应付金额中扣除预扣税,付款金额已减去预扣额,影响会计分录与应付行的记账方式。

:::note 注意
已扣预扣税默认未启用。若需启用,请进入 会计 → 配置 → 税务 并勾选相应预扣税。 :::

预置的预扣税配置:

  • 5% 预扣税:适用于租金、股息、技术/咨询服务、航空及海运运费、利息、保险及再保险保费。
  • 15% 预扣税:适用于版税及向非居民支付的其他一般服务费用。
  • 20% 预扣税:专用于管理费及特定高价值服务费用。

增值税及预扣税申报 <accounting/tax-returns/vat-report> 提供可税、零税率、免税及预扣交易的详细分解。报表可按期间过滤、与其他期间对比,并可导出为 Excel 或 PDF,确保符合沙特税法。

为配合 ZATCA <localizations/saudi-arabia/zatca>,公司记录必须完整填写以下字段:

  • 公司名称(须与增值税证书完全一致)
  • 地址:包括区、楼号、地块编号等全部必填项
  • 识别方案:税号、工商注册号、Momra 许可证、MLSD 许可证、700 编号、Sagia 许可证
  • 增值税号
  • 币种:必须设为 SAR

:::important 重要
所有字段必须准确填写,否则在 ZATCA 对接时会被拒绝。 :::

:::note 注意
上述配置同样适用于所有相关的 联系人 <../../essentials/contacts> 表单。 :::

按照 ZATCA 规则 <localizations/saudi-arabia/company-contacts> 设置公司 分支 <general/branches>

:::important 重要
在分支联系人表单中,VAT 编号必须与总公司相同,分支的 工商注册号 (CRN) 填入 识别方案 字段。 :::

:::note 注意
可使用总公司的销售日记账实现集中开票,或为分支单独创建日记账实现多线程并行开票。 :::

发票可根据地区或客户需求使用不同语言,分为两层设置:

  • 客户层面:在 会计 → 客户 → 客户POS → 订单 → 客户 中为客户指定 语言,系统会自动使用该语言生成所有单据。

    :::important 重要
    沙特增值税规定 税票简易税票(以及相应的贷记/借记单)必须使用阿拉伯语,且必须为阿语。发票可以双语(含英文)。 :::

  • 公司层面:为满足沙特增值税要求,可在以下位置启用阿拉伯语第二语言:

    • 税票会计 → 配置 → 设置客户发票 区块
    • POS 收据POS → 配置 → 设置账单与收据 区块

    勾选 海湾合作委员会格式 选项并保存。

ZATCA 电子发票系统旨在为沙特企业的开票流程实现数字化、自动化。

  • Phase 2 采用 B2B 清关模型;B2C 场景则在发票上生成 QR 码并向 Fatoora 报告端点上报。
  • B2B 场景开具 税票,B2C 场景开具 简易税票

:::seealso ZATCA 电子发票官方页面 :::

对接 ZATCA(Phase 2)时有三种模式:

  1. Sandbox:预置的测试环境,用于快速模拟集成。
  2. Simulation (Pre‑Production):用户自定义的预生产环境。
  3. Production:正式线上环境。

:::tip 提示
在 Sandbox 环境中,公司的 VAT 编号使用 399999999900003。 :::

  1. 设置数据库
    会计 → 配置 → 设置沙特电子发票 区块,将 ZATCA API 模式 设为 Sandbox
  2. 核对公司信息:确保公司资料完整。
  3. 上报销售日记账会计 → 配置 → 日记账 → 打开 Sales,在 ZATCA 标签页点击 Onboard,系统会自动填入 6 位 OTP,点击 确认
  4. 发票测试:创建并确认客户发票,出现蓝色横幅后点击 立即处理,确认 API 返回 Action Successful
  1. 复制正式库并在设置中将 ZATCA API 模式 改为 Simulation (Pre‑Production)
  2. 核对公司信息
  3. 上报销售日记账:同上,OTP 需从 Fatoora Simulation Portal 获取。
  4. 发票测试:同上。

注意:Simulation 模式下的发票不具备法律效力。

  1. 在正式库的 ZATCA API 模式 设为 Production
  2. 核对公司信息
  3. 上报销售日记账:OTP 从 Fatoora Production Portal 获取。
  4. 发票同步:同上。

注意:每个 Sales 日记账需单独上报。若不再使用,请在 Fatoora 门户中撤销对应解决方案。

:::warning

  • 切换到 Production 并提交发票后,无法再回到 Sandbox 或 Simulation。
  • OTP 在 60 分钟后失效,需要重新生成。 :::

发票提交后,API 会在聊天窗口返回结构化响应信息。

[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缩小发票负载后重发。
429 / 500 / 503 / 504服务器或请求限流错误,重新发送。

聊天窗口的颜色指示:

  • 绿色:发票已成功接受,完全合规。
  • 黄色:已接受但带警告,仍具法律效力,需整改。
  • 红色:被拒绝,需纠正后重新提交。

重要:被 ZATCA 拒绝的发票会保持在 Rejected 状态,不能视为合法发票。若因系统故障或紧急情况导致无法生成电子发票,请及时通过官方渠道通知 ZATCA,问题解决后再重新提交。

使用官方 ZATCA App 扫描发票上的 QR 码进行验证:

  1. 打开 App,点击 服务电子发票验证开始服务
  2. 扫描发票 QR 码即可查看验证结果。

注意:验证结果不显示货币符号,金额仅为纯数字。B2B 发票若关联联系人,将走清关 API。

创建 贷记单借记单 时,需要在 ZATCA Reason 字段中选择 ZATCA 批准的原因:

  • 供应后取消或中止(全部或部分)
  • 供应内容实质性变更导致增值税变化
  • 供应价值变更(双方事先约定)
  • 商品或服务退款
  • 销售方或买方信息变更

:::tip 提示
ZATCA Reason 同时出现在 其他信息 选项卡中。 :::

注意:若借/贷记单与原发票无关联,请在 Customer Reference 字段填写原发票号。

按照 Z