薪酬规则

在 Odoo 中,每个 工资结构 都有一组用于计算薪酬中各项金额的薪资 规则。这些规则由本地化配置,并影响工资的计算。

警告

仅 在必要时才应对规则进行修改或新建。

要查看所有规则,请进入 薪资应用 ‣ 配置 ‣ 规则。点击某个结构,例如 Regular Pay,即可查看所有规则。

添加新规则

要创建新规则,请点击 新建,系统会加载空白的 薪资规则 表单。请在表单上半部分输入以下信息:

  • 规则名称:输入规则名称。该名称将直接显示在员工工资单上。

  • 代码:输入新规则的代码。代码区分大小写,被视为 规则 ID。此字段为 必填项。

  • 类别:从下拉菜单中选择规则所属的类别,或输入新类别。类别用于对规则进行分组,并计算该类别的总额。

  • 工资结构:从下拉菜单中选择适用此规则的工资结构。此字段为 必填项。

  • 序列:输入一个数字以确定该规则在所有规则中的计算顺序。系统按序列号从小到大依次处理。较小序列号的规则先计算,其计算结果可供后续较大序列号的规则使用。此字段为 必填项。

  • 显示在工资单上:启用此复选框,可使该规则显示在员工工资单 PDF 上。

  • 计入雇主成本:启用此复选框,以便在计算工资单的 雇主成本 时包含该规则。

常规选项卡

请填写 常规 选项卡的以下部分。这些配置决定规则的 计算时机 和 计算方式。

条件

  • 条件基于:通过下拉菜单选择何时计算该规则并将其作为一行显示在工资单视图中。选项包括:

    • 始终为真:规则始终参与计算。选择此项后无需进一步配置条件。

    • 工资输入:为结构引入动态福利。它会作为字段显示在 员工 表单的 工资表 选项卡、工资单的 输入 选项卡,或两者中。该字段的数值将计入规则金额。选择此项后,必须配置以下额外字段:

      • 输入位置:指定此字段应出现的位置及其所属对象:员工、工资单 或两者。如果选择两者,工资单上的初始值将默认取自员工记录,但在特定的工资运行中可以直接在工资单上进行覆盖。

      • 部分:此字段将多个输入项归入表单视图中的一个可展开部分。默认情况下,只有一个可用选项:输入项。

      • 单位:选择单选按钮以确定福利数值的显示方式。选项包括:

        • 货币:带有币种符号的数值。

        • 数量:纯数字。

        • 百分比:带有 % 符号的数值。

        • 复选框:表示布尔值(是/否)。

      • 输入说明:输入简短描述,解释该输入项的适用场景。

      • 默认值:输入默认数值(金额、数量或百分比),具体取决于所选的 单位。如有需要,可在右侧字段添加 后缀,例如 每公里。

        注解

        如果 单位 选择为 复选框,该字段将变为 默认选中。勾选此项可使该规则默认启用。

      • 依赖于:选择另一个具有工资输入项的规则,并利用其数值来决定当前规则是否应被隐藏。

    • 其他输入:选择此项以检查是否存在相同 类型 的工资单行。选择后会出现 其他输入条件 字段。请从下拉菜单中选择规则所依据的输入类型,如 扣除、报销 等。

    • Python 表达式:选择此项以通过 Python 脚本计算规则。脚本将基于本地字典(localdict)进行求值。右侧列出了 可用变量 和 输出 规范:

      • 可用变量:

        • payslip:hr.payslip (工资单)对象。

        • employee:hr.employee (员工)对象。

        • version:hr.version (版本)对象。

        • result_rules:包含(此前已计算完毕的)规则金额、数量、比率和总额的字典。

        • categories:包含已计算工资规则类别的字典(该类别下所有规则金额的总和):

          • total:规则总额

          • amount:规则金额

          • quantity:规则数量

          • rate:规则比率

          • ytd:规则本年累计值(Year To Date)

        • worked_days:包含已计算工作日的字典。每个键是工作分录类型代码,每个值是一个 worked_days 对象。该对象包含多个变量,最重要的包括:

          • number_of_days:在该工资单周期内,以此工作分录类型登记的天数。

          • number_of_hours:在该工资单周期内,以此工作分录类型登记的小时数。

          • is_paid:该工作分录类型在此工资结构中是否被视为有薪(若为否,则作为无薪分录添加)。

        • inputs:包含已计算输入项的字典。键 是其他输入类型代码,值 是具有相同代码的工资单输入行总和。

      • 输出:

        • result:布尔值。如果规则应计算,则为 True,否则为 False。

  • 域:选择此选项以使规则 仅 在符合 适用范围(域) 时应用。选择后,请配置下方出现的筛选条件。

计算方式

本部分决定规则的最终值,由基本金额、数量和比率组成。规则总额公式为:总额 = 金额 *数量* (比率/100)。

重要

如果 条件基于 字段设为 工资输入,则此字段 不会 出现。

从下拉菜单中为 金额类型 字段选择以下选项之一:

  • 百分比 (%):定义总额计算的数值。选择后,需配置以下字段:

    • 百分比基于:使用 localdict 评估 Python 表达式,其结果将作为规则金额。

    • 数量:使用 localdict 评估 Python 表达式,其结果将作为规则数量。

    • 百分比 (%):分配给规则比率的小数值。

  • 固定金额:定义固定的金额和数量,比率默认为 100%。

    • 数量:使用 localdict 评估 Python 表达式,其结果将作为规则数量。

    • 固定金额:输入分配给规则金额的小数值。

  • 其他输入:选择此项可从具有相同 其他输入类型 的工资单输入行中获取规则金额(比率默认为 100%,数量为 1.0)。选择后下方会出现 其他输入金额 字段,请选择其输入类型,如 扣除、小费 或 报销费用。

  • Python 代码:这是比 百分比 (%) 更复杂的版本。你可以编写完整的 Python 脚本并使用 localdict 进行评估。这包含一个 可用变量 列表和 输出 规范。

    • 可用变量:

      • payslip:hr.payslip(工资单)对象

      • employee:hr.employee(员工)对象

      • version:hr.version(版本)对象

      • result_rules:包含(此前已计算完毕的)规则金额、数量、比率和总额的字典。键为规则代码,值为包含以下键的子字典:

        • total:规则总额

        • amount:规则金额

        • quantity:规则数量

        • rate:规则比率

        • ytd:规则本年累计值(Year To Date)

      • categories:包含已计算工资规则类别的字典(该类别下所有规则金额的总和)。键为类别代码,值为该类别下规则总额之和。

      • worked_days:包含已计算工作日的字典。键 为工作分录类型代码,值 为包含多个变量的 worked_days 对象,最重要的变量包括:

        • number_of_days:在该工资单周期内,以此工作分录类型登记的天数。

        • number_of_hours:在该工资单周期内,以此工作分录类型登记的小时数。

        • is_paid:决定此工作分录类型是否以此工资结构中的无薪分录形式添加。

      • inputs:一个字典,包含计算得出的输入项,其中 键 是其他输入类型代码,值 是代码相同的工资单输入行之和。

    • 输出:

      • result:浮点数,规则的基本金额

      • result_rate:浮点数,默认为 100.0 (%)

      • result_qty:浮点数,数量,默认为 1

      • result_name:字符串,明细行名称。默认为工资规则的名称(在名称需依赖于规则计算结果时非常有用)。

公司缴费/贡献

通过下拉菜单选择参与向员工支付薪资的第三方机构(如社会保险机构)。

显示选项卡

本部分决定规则在员工工资单 PDF 上的呈现方式,并定义其视觉样式。

首先,使用颜色选择器为规则选择 颜色。接着,启用 标题 复选框,以 仅 显示薪资规则的 标题 和 描述,并隐藏所有数值。

启用 缩进、上方间距、粗体、下划线 和 斜体 复选框,以启用相应选项。

最后,为规则输入 说明,该内容将显示在规则名称下方。

会计选项卡

本部分决定规则如何影响各类会计日记账,以及员工净工资的计算方式。请配置以下字段:

  • 借方科目:从下拉菜单中选择该规则对应的借方科目。

  • 贷方科目:从下拉菜单中选择该规则对应的贷方科目。

  • 按名称拆分:启用此选项可根据工资单明细行名称拆分该规则的会计分录。这能为扣减、报销或工资调整提供更高的账务可见性。

  • 从净额中排除:勾选此项可将会计分录中的此规则计算结果从净工资规则中排除。应设置特定的借方和贷方科目对其进行独立归类。

  • 在分录行设置员工:勾选此项可使员工姓名显示在日记账分录行中。

重要

仅当安装了 会计(Accounting) 应用时,此选项卡才 可见。

规则参数

规则参数告知 Odoo 如何计算工资单的每一行。要查看已配置的规则参数,请前往 工资表应用 ‣ 配置 ‣ 规则参数。

系统将显示所有规则参数。点击单个参数即可查看详情。

每个规则参数都会显示规则名称、代码、激活状态以及参数值。

规则类别

每条规则都与一个规则类别关联。要查看各类别,请进入 薪资应用 ‣ 配置 ‣ 规则类别。

所有规则类别均以列表视图显示,并显示类别的 名称、代码 和 国家。

要创建新的规则类别,请点击 新建 按钮。在相应字段中为类别输入 名称 和 代码。如果该类别位于 父级 类别之下,请使用下拉菜单选择父级类别。如果该类别特定于某个国家/地区,请使用下拉菜单选择 国家。