沙特阿拉伯

沙特阿拉伯薪资本地化涵盖员工薪资计算,包括国家级和省级法规。

在配置沙特阿拉伯本地化之前,请参阅通用 薪资 文档,其中包含所有本地化的基础信息,以及所有通用设置和字段。

应用与模块

如需获得沙特阿拉伯薪资本地化的全部功能,请 安装 以下模块:

名称

技术名称

依赖

描述

Saudi Arabia - Payroll (沙特阿拉伯 - 薪资)

l10n_sa_hr_payroll

  • hr_payroll

  • hr_contract_reports

  • hr_work_entry_holidays

  • hr_payroll_holidays

提供沙特阿拉伯薪资基础功能,包括薪资结构(基本/应发/实发)。

Saudi Arabia - Payroll with Accounting (沙特阿拉伯 - 薪资与会计)

l10n_sa_hr_payroll_account

  • hr_payroll_account

  • l10n_sa

  • l10n_sa_hr_payroll

通过创建日记账分录(如有需要,可每张工资单一笔)将薪资与会计关联,把薪资记录到公司账簿中。

常规配置

首先必须配置公司。导航到 设置应用 ‣ 用户与公司 ‣ 公司 。在列表中,选择所需的公司,并配置以下字段:

  • 公司名称:在此字段中输入企业名称。

  • Address:填写完整地址,包括 City、State、Zip Code 和 Country。

  • VAT Number:输入公司唯一的 15 位 VAT 号。

  • Company ID:输入企业的 MoL(人力资源和社会发展部)编号。

  • Currency:默认选择 SAR。若不是,请从下拉菜单中选择 SAR。

  • Phone:输入公司电话号码。

  • Email:输入用于一般联络的邮箱。

人事管理

每位领薪员工都必须按照沙特阿拉伯薪资本地化配置员工档案。为沙特阿拉伯配置数据库后会显示额外字段。

要更新员工表单,请打开 员工 应用并点击所需的员工记录。在员工表单上,于相关选项卡中配置必填字段。

工作选项卡

在 工作 选项卡的 位置 部分中,为员工输入 工作地址 。

个人选项卡

通过下拉菜单为员工选择正确的 Nationality (Country)。所选国籍决定 GOSI 费率。

确保员工至少有一个受信任的 银行账户 列在 私人联系信息 部分的 银行账户 字段中。

员工的 银行账户 即其 IBAN,员工按照 WPS 规定通过该账户领取工资。

没有 受信任 银行账户 的员工 无法 处理薪资。如果未设置受信任的银行账户,薪资 仪表盘上会出现警告,运行薪资时会报错。

员工档案中银行账户信息所在的位置。

薪资选项卡

合同概览部分

此部分包含驱动薪资计算的信息。请确保配置了以下字段:

  • Contract:可根据需要更新薪酬条款的有效期。

  • 薪资类型:选择员工的支付方式。

    • 对于每个发薪周期领取相同金额的受薪员工,请选择 固定工资 。

    • 对于按工时计酬的员工,请选择 计时工资 。

    小技巧

    在薪资 结构类型 中设置默认的 工资类型,即可批量配置员工。如有需要,可以在单个员工记录上覆盖该默认值。

  • 合同类型:决定员工的支付与分类方式,例如 长期 、临时 、季节性 。

  • Pay Category:此字段选择 KSA Employee。该类别定义员工的发薪时间、默认工作日程及其适用的工作记录类型。

薪资选项卡中员工表单的合同概览部分。

排班部分

  • 工作记录来源:定义在指定发薪周期内如何为薪资生成 工作记录 。选项如下:

  • 额外工时:勾选此复选框以允许 考勤 应用添加员工记录的任何额外工作记录。

  • Working Hours:通过下拉菜单选择默认工作日程。这对可能领取加班费的员工尤为重要(通常是时薪员工,而非固定薪资员工)。

沙特薪资信息区域

在此字段中输入员工唯一的 10 位 Saudi National / IQAMA ID 号码。该号码由 Ministerial Agency of Civil Affairs (沙特内政部民事事务司)签发给沙特公民,用于导出 WPS 报告。

Annual Leave Balance (年假余额)字段不可编辑,用于显示员工可用的年假天数。

津贴部分

本部分决定员工享受的各项福利。输入公司每月向员工支付的、用于 Housing (住房)、Transportation (交通)和 Other (其他)费用的沙特里亚尔金额。

输入公司每年为沙特 Iqama 支付的费用( iqama 是阿拉伯语 residence permit 一词,意为居留许可 )。Iqama 是一张官方的居留与身份证件,类似于签证。所有 外籍人员都必须持有有效的 Iqama,才能在沙特阿拉伯工作、生活并获得各项服务。

在相应字段中输入雇主为员工支付的年度 Medical Insurance (医疗保险)金额。

如果员工需要 Work Permit (工作许可),请输入公司为其支付的年度费用。

离职准备金部分

在沙特阿拉伯,员工每在公司工作一年,即可获得其年度工资一定比例的报酬。该金额根据其工资计算。员工离职时,将一次性获得这笔补偿。

在相应字段中输入员工每年获得的补偿天数 Number of Days。公司每年预留这笔金额,以便员工离职时可以支取。

薪资配置

Payroll 应用中的多个部分会安装沙特阿拉伯专用的 Salary Structure(工资结构)、Structure Type(结构类型)、Rules(规则)和 Parameters(参数)。此外,运行沙特阿拉伯薪资还需要其他一些配置。

薪资设置

进入 薪资 ‣ 配置 ‣ 设置,即可访问沙特阿拉伯所需的 Payroll 应用设置。

首先,必须按照 WPS 规定配置用于向员工付款的公司银行账户。点击 Establishment Bank Account 字段下方的下拉区域,然后点击 Create…。此时会打开 Create Establishment’s Bank Account 弹出窗口。配置公司的银行账户,并确保其被标记为 trusted。点击 Save 保存信息并关闭窗口。

接下来,输入公司的 MoL Establishment ID。该 ID 号码由沙特阿拉伯劳动部提供。

最后,选择用于计算的 休假类型,再选择用于计算的 休假类型,以计算员工 档案 中设置的 年假余额。

薪资结构与结构类型

当 l10n_sa_hr_payroll 模块 安装 后,会安装一个新的 Salary Structure (工资结构),即 KSA Employee。该结构包含两个 Structure Types (结构类型):Saudi Arabia: Monthly Pay 和 SA Salary Advance And Loan Structure。

Salary Structure (工资结构)包含所有单项 薪资规则,用于告知 Payroll 应用如何计算员工工资单。

薪资结构列表中的沙特阿拉伯工资结构。

薪酬规则

要查看指导工资结构如何运作的薪资规则,请进入 薪资应用 ‣ 配置 ‣ 结构,展开 KSA Employee 分组以显示两种可用的结构类型。点击 Saudi Arabia: Monthly Pay 查看该结构类型的详细薪资规则。

美国薪资规则的上半部分。

每条规则定义工资的计算方式,并考虑津贴、扣除和雇主缴款等因素。

规则参数

某些计算需要与之关联的特定税率或工资封顶额。规则参数 能够列出一个百分比或固定金额值,以便在薪资规则中引用。

大多数规则从参数模块中提取所存储的信息,以获取规则税率(百分比)和封顶额(金额)。

要查看规则参数,请导航到 薪资应用 ‣ 配置 ‣ 规则参数 。在此,所有规则参数都会连同其关联且可访问的 薪资规则 一同显示。通过查找规则的 名称 来查看与某条规则关联的参数,并按需进行任何编辑。

沙特阿拉伯薪资本地化附带四个规则参数:

  • Saudi GOSI Company Contribution:该规则参数用于确定雇主必须为沙特阿拉伯员工缴纳的 GOSI(沙特社会保险)部分如何计算。

  • Non-Saudi GOSI Company Contribution:该规则参数用于确定雇主必须为每位非沙特员工缴纳的 GOSI 部分如何计算。

  • Saudi GOSI Employee Contribution:该规则参数用于确定员工必须缴纳并从其工资中扣除的 GOSI 部分如何计算。

  • Saudi Arabia Overtime Rate:该规则参数用于确定员工的加班费率。

重要

Odoo 会为当前日历年添加更新后的规则参数。不 建议编辑规则参数,除非国家或省级参数已发生变化,且与 Odoo 创建的规则参数不同。在更改任何规则参数 之前,请核对所有地方和国家法规。

运行沙特阿拉伯薪资

在运行薪资之前,薪资专员必须核实员工的 工作记录 ,以确认工资准确并发现错误。这包括检查所有休假是否已获批准,以及任何加班是否恰当。

工作记录根据员工的 合同 配置进行同步。Odoo 从指定的工作日程、考勤记录、排班日程和已批准的休假中获取数据。

必须先解决所有 差异或冲突,然后才能 重新生成 工作记录。

一切确认无误后,可以 单独创建 工资单草稿,或在 分组 中创建,在 薪资 应用中称为 薪资批次。

某次发薪批次的工作记录,其中部分工作记录已录入休假。

注解

为节省薪资专员的时间,通常按批次处理工资单,可按工资类型(固定工资或时薪)、发薪计划(每周、双周、每月等)、部门(直接成本或行政管理),或其他最适合公司的分组方式。

运行薪资的流程包括需要执行的多项操作,以确保员工实际收到的净工资正确、各项扣除或分配正确,并且工时计算反映员工的实际工作时间等。

运行薪资批次时,在开始分析或验证数据 之前,请检查所涵盖的期间、公司和员工是否正确。

工资单生成草稿后,检查其准确性。查看 Worked Days & Inputs 标签页,确保所列的工作时间以及其他录入项正确。补充缺失的录入项,如提成、小费、报销等。

接下来,检查各项合计(应发工资、津贴、缴款等),如有修改,点击 Compute Sheet 更新工资计算。如果一切正确,点击 Validate。

工资单的工作天数标签页。

年假计提计算

年假计提用于计算每月累计的年假计提金额。它不影响支付给员工的总金额,仅供公司内部使用。

计算方法为:将员工的月工资(月工资 = 工资 + 津贴)除以 30,得出日薪。

每月计提额的计算方式如下:

\[\text{Monthly Provision} = \left(\text{Daily Salary} \times \text{Eligible Leave Days}\right) \div 12\]

员工休假时,该休假的支付金额从已计提的金额中列支,系统会自动计算一条支付明细并添加到工资单明细中。

雇主其他成本

除员工工资外,还有需要核算的其他雇主成本。这些成本包括医疗保险、工作许可和员工的 Iqama。

这些成本在员工记录的 薪资 选项卡中以年度金额定义,并按月确认为其他雇主费用。它们会在员工工资单上计算,但不影响应付给员工的净额,也不会出现在提供给员工的工资单 PDF 中。

员工净成本

为了让薪资专员能够跟踪员工净工资之外的总员工成本,系统会在每张工资单生成时自动计算员工的净成本,其中包括直接成本和间接成本。直接成本代表应付给员工的金额,而间接成本包括其他雇主成本以及 GOSI 等缴款。

尽管这些金额已在系统中计算并可用于内部报告和分析,但它们不会出现在为员工生成的工资单 PDF 中。

示例

如果员工的应付净工资为 10,500 SAR,并有以下间接成本:

  • 医疗保险每年 20,000 SAR(每月 1,666.67 SAR)。

  • GOSI 公司缴款为 1,057.5 SAR。

净成本为:10,500 + 1,666.67 + 1,057.5 = 13,224.17 SAR

会计检查

运行薪资时的会计流程包含两个部分:创建日记账分录 和 登记付款。

创建日记账分录

工资单确认并验证后,日记账分录可逐张或按批次过账。日记账分录首先以草稿形式创建。

重要

在运行薪资 之前,必须确定日记账分录是逐张创建还是按批次创建。

所有处于草稿状态的工资单。

沙特阿拉伯 CoA 中的十五个科目随薪资本地化一并包含:

  • 400003 Basic Salary:记录支付给员工的基本工资。

  • 400004 Housing Allowance:记录向员工提供的住房津贴支付。

  • 400005 Transportation Allowance:记录向员工支付的交通津贴。

  • 400012 Staff Other Allowances:涵盖不符合标准类别的员工津贴。

  • 106012 Prepaid Employee Expenses:将雇主支付的 非 工资项目(例如 Iqama 费用和医疗保险)记录为预付资产,并随消耗计入费用。

  • 201006 Leave Days Provision:计提带薪休假成本;休假时余额相应减少,未休完的假期可在离职时折现支付。

  • 201022 GOSI Employee Payable:记录应付 GOSI 社会保险缴款金额,包括员工和雇主双方部分。

  • 202001 End of Service Provision:按月累计离职福利金额,以便员工离职时根据服务年限和原因(部分或全部)支付。

  • 400007 Leave Salary:记录员工带薪休假期间实际支付的工资。

  • 400008 End of Service Indemnity:记录公司为资助离职福利而预留的费用(与准备金相对应的费用方科目)。

  • 400009 Medical Insurance:核算与员工医疗保险保费相关的雇主费用。

  • 400010 Life Insurance:跟踪雇主为人寿/职业保险或雇主应承担的社会保险部分支付的费用。

  • 400014 Visa Expenses:用于跟踪非沙特员工的签证及相关办理/续签费用。

  • 400074 Salary Deductions:反映对员工工资应用的扣除(如预支、罚款、法定扣除)。

  • 201002 Payables:显示应付员工的工资(期末未付工资负债)。

如果日记账分录草稿一切正确,请过账这些日记账分录。

已过账的日记账分录。

登记付款

在 日记账分录 通过确认后,Odoo 即可生成付款。

重要

要从工资单生成付款,员工 必须 拥有 trusted 银行账户。如果员工的银行账户 未 标记为 trusted,则 无法 通过 Odoo 生成 WPS 文件。

如果薪资规则关联了某个伙伴,付款可按 Grouped by Partner (按伙伴分组)方式生成。

状态为已支付的工资单。

关闭薪资

如果没有错误,该发薪周期的薪资工作即告完成。

病假

病假规则定义员工休病假时工资单会受到怎样的影响。

病假分为三种情况:

  • 全薪病假:员工每个日历年可享受 30 天。

  • 75% 带薪病假:在首个 30 天全薪病假之后,员工还可享受 60 天。

  • 无薪病假:超过前 90 天的任何病假均视为无薪。

重要

上述病假待遇限额按一年周期计算。该周期从员工首次休病假之日起算,在此期间所休的任何后续病假均计入员工的病假额度。

病假补偿按以下公式计算,其中月度薪金总额为员工的基本工资加上员工合同中定义的所有津贴:

\[\text{Sick Leave Amount} = \left(\frac{\text{Gross Monthly Salary}}{30}\right) \times \text{Number of Sick Leave Days} \times \text{Percentage}\]

注解

系统只有一个病假休假类型,即 病假。系统会自动跟踪员工已休的病假总天数,并根据累计额度适用相应的百分比。

员工合作终止

当员工与公司的服务关系结束时,员工可能有权获得离职福利(End of Service Benefit,EOS),具体取决于:

  • 其服务时长。

  • 雇佣关系终止的原因。

终止原因可能属于以下类别之一:

合同到期/退休

如果员工的服务时长为一年至五年,则员工有权按每服务一年获得其最近月薪的一半。

对于超过第五年的每一年,员工每年有权获得一整月的工资。

辞职

如果员工在完成两至五年服务后辞职,则有权获得通常按 合同到期 情形发放的 EOS 金额的三分之一。

示例

如果员工工作了三年后辞职,系统会先按终止原因为 合同到期 计算 EOS,然后员工可获得该金额的三分之一。

解雇

如果员工被解雇,则无论其服务时长如何,均无权获得 EOS。

休假工资预支

员工在休带薪假时,可以申请预支工资,尤其是当休假跨越多个月份时。

预支工资单包含员工在当前月份已工作天数的工资以及休假期间的工资。当休假延续到当前月份之后时,系统会自动计算需要额外补偿的天数,并将其作为额外录入项添加到工资单中。

在接下来的一个月,任何已预支的金额会通过一条薪资录入行自动从员工工资中扣除,以避免重复支付。

要生成预支休假工资单,请前往休假类型为 Annual Leave 的已批准员工休假申请,然后点击 创建预支休假工资单。

员工贷款与预支

员工可以申请工资 贷款 或 预支。贷款 通过创建工资调整来处理,而 预支 则需手动创建和管理。

员工贷款

员工可以预支 贷款,并以后续工资的自动扣除方式偿还。这些贷款通过 创建工资调整 记录贷款总额并设置还款计划,以及 为贷款总额创建工资单 来处理。随后,员工按照工资调整中配置的分期金额 偿还贷款。

创建薪资调整

当员工申请贷款时,首先进行 工资调整,在其中配置贷款总额和还款计划。

要创建贷款和还款计划,请进入 薪资应用 ‣ 员工 ‣ 工资调整。点击 New,系统将加载空白的 Salary Adjustment 表单。

在表单上配置以下字段:

  • Employees:使用下拉菜单选择申请贷款的员工。

  • Type:使用下拉菜单选择 Loan Deduction。

  • Payslip Amount:输入每期工资单需偿还的 SAR 金额。

  • Duration:勾选 Limited 选项后,会显示 until (金额) paid 字段。首先,使用日历选择器输入还款开始日期。然后,在 until 之后的字段中输入贷款总额。两个字段配置完成后,Odoo 会计算贷款还清的时间,并按如下格式显示日期:end in # years: (date)。

  • Note:在此字段中输入有关该贷款的任何详细信息。

填写完成的员工贷款工资调整表单。

生成贷款工资单

创建工资调整后,表单上方会出现一个名为 Create Loan Payslip 的按钮。点击 Create Loan Payslip,Odoo 会自动生成一张按 工资调整 中设定金额配置的贷款工资单。

检查工资单,确保所有字段和选项卡均正确。Structure 应为 SA Salary Advance And Loan Structure。Salary Inputs 选项卡应列出 Loan Deduction,并且 Total 应为贷款全额。

点击 Other Info 选项卡,在 Payment Date 字段中输入员工收到款项的日期。

工资单表单确认无误后,点击 Compute Sheet,然后点击 Create Draft Entry,并在确认弹窗中点击 OK。接下来,点击 Pay 将付款标记为已支付,再点击 Create Payment Report 以 生成 WPS 报告。

配置完成的贷款工资单。

向雇主偿还贷款

自 工资调整 上设定的日期起,后续所有工资都会扣除配置的还款金额用于偿还贷款。贷款还清后,扣除即停止。

注解

根据工资调整,扣除应在总额还清后结束。为确保贷款还清后款项 停止 从员工工资中扣除,请打开工资调整记录。如果工资调整的状态仍为 Running,点击 Mark as Completed 按钮,状态将变为 Closed,付款随之停止。

工资预支

员工可以在正常发薪周期之外申请工资预支。该流程通过 手动创建的工资单 向员工付款完成,随后员工偿还预支:可以在下一期工资单中 一次性全额 偿还,也可以在后续工资中 分多次 偿还直至还清。

创建预支工资单

要发放预支款项,请进入 薪资应用 ‣ 工资单 ‣ 工资单。点击 New Off-Cycle 按钮,系统将加载空白的 Employee Payslips 表单。

在工资单上配置以下字段:

  • Employees:使用下拉菜单选择申请预支的员工。

    注解

    选择 Employee 后,Employee Record 字段会自动填充最近的员工版本(合同)。

  • Structure:使用下拉菜单选择 SA Salary Advance And Loan Structure。

  • 期间:使用日历选择器在两个对应字段中设置工资单的开始日期和结束日期。

接下来,点击 薪资录入项 选项卡,在 录入项 部分中,将预支金额输入 预支工资 字段。

工资单配置完成后,点击 计算工资单,然后点击 创建草稿分录,并在确认弹窗中点击 确定。点击 支付 将付款标记为已支付,然后点击 创建付款报表 以 生成 WPS 报表。

配置完成的贷款工资单。

自动全额偿还

生成员工的下一期工资单(使用 Saudi Arabia: Monthly Pay 结构)时,Other Inputs 选项卡下会自动添加一行,标题为 Advanced Recovery。

该金额基于员工此前预支的金额。如果员工无法在当期工资中全额偿还,可以将还款拆分为 多次付款。

多次付款

当员工无法在未来的工资单中全额偿还预支时,可以分期偿还直至还清。为此,必须手动修改从员工工资中扣除的金额。

打开员工的工资单,在 Salary Inputs 选项卡下修改 Advanced Recovery 行上指定的金额。

Odoo 会自动计算预支的剩余金额,并在后续工资单中为余额添加一行 Advanced Recovery。如果员工无法全额支付第二期款项,可以在下一期工资单中编辑 Advanced Recovery 行。

迟到跟踪

监控迟到是考勤跟踪和员工纪律的重要方面。在考勤模块中,可以通过为每周的每一天设置工作安排和签到时间来管理此事。当员工在预期开始时间之后签到时,该记录会被标记,交由人力资源负责人审批;一经批准,便会在员工的下次工资中生效。

安装 Saudi Arabia Payroll - Attendance 模块后,人力资源经理需要在薪资设置中配置宽限期。该宽限期定义了允许员工迟到而不会触发迟到考勤规则的时间长度。

如果未设置宽限期或迟到超出宽限期,系统会跟踪员工迟到了多少分钟,并且需要人力资源经理审批以确认迟到。

确认后,在下一张工资单上,迟到小时数会反映在 薪资录入项 选项卡下的工资单中,并按以下公式对员工进行扣款:

\[\frac{\text{Basic Wage} \div 30}{\text{Number of hours per day}} \times\text{Number of late hours}\]

注解

如果员工的迟到时间超过宽限期时长,则宽限期时长本身也将被视为迟到时间的一部分。

GOSI 集成

社会保险总组织(GOSI)是沙特阿拉伯的政府机构,负责实施《社会保险法》、向雇主征收缴款,并向符合条件的缴款人及其家庭提供保险保障和福利。

保险体系由三个主要分支组成:年金分支、职业危害分支和失业保险(SANED)分支。

与 GOSI 集成后,可自动获取员工和雇主在全部三个分支中的缴款比例。这些比例随后用于计算员工工资单中的社会保险缴款,确保薪资计算准确且合规。

要设置集成,请进入 薪资 ‣ 配置 ‣ 设置。在 GOSI 集成 部分,根据从 GOSI 门户获取的信息配置以下字段:

  • 注册号

  • API 密钥

  • 客户端 ID

  • 客户端密钥

  • DPoP 密钥

  • API 模式

重要

DPoP 必须严格遵循 GOSI 提供的准确格式。任何缺失的空格或字符都会导致错误。所有详细信息填写并保存后,测试连接 按钮即可使用。点击它会验证所提供的凭据。集成成功后,请确保在员工档案的 薪资 选项卡下正确设置了员工的 Iqama 号码。配置正确后,系统会获取每个保险分支的缴款比例。在员工工资单上,使用两条薪资规则计算员工和雇主在全部三个保险分支中的缴款总额。

注解

尽管员工和雇主双方的缴款都会在工资单上计算,但最终与员工共享的 PDF 中只显示员工的缴款。

沙特化率报表

跟踪沙特化比例是遵守人力资源部在 Nitaqat 计划下制定的沙特化法规的要求。

跟踪必须在公司和部门两个层面进行,并基于为每个部门定义的最低工资,该最低工资可在 部门 记录上配置。

可通过进入 员工 ‣ 报表 ‣ 沙特化率报表 访问该报表。

该报表包含部门、参考日期等筛选器。根据这些筛选条件,它会显示得出的沙特化比例,并附上符合所选筛选条件的员工链接。

WPS 报告

WPS 报告是所有沙特阿拉伯公司必须向政府提供的强制性报告。该报告确认员工工资情况,包括支付时间和金额。WPS 报告可按单张工资单或按每次发薪生成。

注解

该报告按照 MHRSD(沙特人力资源和社会发展部)发布的技术指南进行编制。

重要

要运行 WPS 报告,必须 为该公司 配置 Establishment Bank Account 和 Ministry of Labor Establishment ID 字段。

确保 Establishment Bank Account 已配置 Bank Establishment ID 和 Bank SARIE Code 字段,并且该银行被标记为 Trusted。

确保报告中包含的所有员工都在其员工档案中设置了 Saudi National / IQAMA ID。

首先,生成工资单或发薪,然后 过账日记账分录。

在 Pay Runs 仪表盘、单次发薪或单张工资单上点击 Payment Report 按钮,系统将加载付款报告弹窗。

默认情况下,Export Format 字段中选择 Saudi WPS,并且 Payment Date 和 WPS Value Date 字段均会根据所选工资单或发薪自动填充。

WPS Debit Date 是一个可选字段,用于指定公司实际向员工付款(将资金从公司账户转入员工账户)的日期。

所有字段配置完成后,点击 Generate,即可生成 WPS 报告。