薪资¶
在 Odoo 中,工资由五个因素计算和确定:工资结构类型、工资结构、规则、规则参数和其他输入类型。这些因素共同决定如何计算每位员工的工资。
每个*结构类型*包含一个或多个*结构*。每个*结构*包含一组*规则*,每条*规则*使用*参数*来定义如何计算特定金额。还可以包括额外的输入(例如奖金或扣除)来调整最终工资。
在计算工资单时,Odoo 从员工的工作条目中计算员工的工作时间,然后应用员工分配的结构类型中的相关结构、规则和参数来确定他们的总工资。
工资结构类型¶
在 Odoo 中,*结构类型*将相关的工资结构分组。当合同指定结构类型时,**仅**使用该类型内的结构来计算员工的工资。每个结构类型包含各个结构,每个结构都包含一组用于处理工时单条目的规则。
结构类型定义工资单配置的关键方面,包括员工的付薪频率、工作时间、默认工资结构,以及工资是固定的(基于薪水)还是可变的(基于小时)。
Example
名为”员工”的结构类型包含两个不同的结构:”正常工资”结构,其中包含处理正常工资的所有单独规则;”年终奖金”结构,其中**仅**包含年终奖金的规则。两者都属于同一个”员工”结构类型。
通过导航至查看现有*结构类型*。
Odoo 中预配置了两种默认结构类型:员工和工人。
通常,员工用于领薪员工,这就是为什么默认工资类型是固定工资,而工人通常用于按小时计薪的员工,因此工资类型是小时工资。
注解
如果使用特定国家/地区的工资单本地化,建议使用相应国家/地区本地化文档中的结构。
新结构类型¶
如果默认结构类型不符合公司需求,请转到并点击新建以创建自定义结构类型。
警告
创建新的工资结构类型时,请确保考虑所有地方和国家法律。配置工资单结构时,请与会计部门确认,以确保满足所有要求。
继续在字段中输入以下信息:
结构类型:输入新结构类型的名称,例如”员工”或”工人”。
国家/地区:从下拉菜单中选择新结构类型适用的国家/地区。
工资类型:为结构选择工资类型:
固定工资:适用于每个支付期间收到相同工资的受薪员工。
时薪:适用于根据支付期间工作小时数支付的员工。
默认预定支付:从下拉菜单中选择新结构类型的典型支付计划。这表示此特定类型的结构多久支付一次。
默认工作时间:从下拉菜单中选择新结构类型的默认工作时间。下拉菜单中显示当前所选公司的所有可用工作时间。默认工作时间为标准40小时/周选项。如果所需的工作时间未出现在列表中,可以创建新的默认工作时间集。
常规工资结构:输入常规工资结构的名称。在生成工资单时用作默认选项。
默认工作条目类型:选择用于为员工创建所有工作条目的默认工作条目类型。
新的默认工作时间¶
要创建新的默认工作时间,在新结构类型表单的默认工作时间字段中输入新工作时间的名称。点击创建并编辑。默认工作时间表单会弹出。默认工作时间表单有两个部分:常规信息部分和列出按日期和时间划分的所有单个工作时间的选项卡。完成表单后,点击保存并关闭。
名称:输入新默认工作时间的名称。应该具有描述性且易于理解,例如`标准20小时/周`。
灵活工时:勾选此复选框,允许员工调整其开始和结束时间,同时保持每日总工时不变。
公司全职:输入员工每周需要工作多少小时才能被视为全职员工。通常约为40小时,此数字会影响员工根据其就业状态(全职与兼职)可以获得的福利类型。
每天平均小时数:根据工作时间选项卡中的工作时间自动填充。此条目通过确定每个工作日可以使用多少资源来影响资源计划。
工作时间率:此百分比根据公司全职的输入和工作时间选项卡中配置的工作时间自动生成。此数字应介于`0.00%`和`100%`之间,因此如果百分比超过`100%`,则表明工作时间和/或公司全职小时需要调整。
公司:从下拉菜单中选择可以使用这些新默认工作时间的公司。如果这些时间适用于所有公司,请将此字段留空。
时区:从下拉菜单中选择用于新默认工作时间的时区。
工作时间选项卡:此选项卡列出每天的具体工作时间。创建新的默认工作小时表单时,工作时间选项卡预填充了默认的40小时工作周,每天分为三个时间段。
每天包括上午(8:00–12:00)、午餐(12:00–13:00)和下午(13:00–17:00)时段,使用24小时时间格式配置。
要调整任何这些时间,点击该字段并使用下拉菜单修改时间,或直接输入所需的时间。
注解
工作时间是特定于公司的,不能在公司之间共享。
小技巧
如果每周的工作时间不一致,而是采用双周工作时间,请点击新的默认工作时间表格顶部的 切换到 2 周日历 按钮。这将更改 工作时间 选项卡,以显示可调整的两周工作时间。
结构¶
*工资结构*是员工在特定*结构*内可能获得报酬的不同情况,并由各种规则明确定义。
公司为每种结构类型需要的结构数量取决于员工获得报酬的方式有多少种,以及如何计算他们的报酬。额外结构的一个常见示例是`奖金`。
要查看每种结构类型的所有不同结构,请转到。
每种 :ref:`结构类型 <payroll/structure-types>`都列出了与之相关的各种结构,而每个结构都包含了一组定义规则。
点击结构以查看其Salary Rules。这些规则定义了如何为员工计算工资单。
注解
安装工资单本地化后,相关结构将被安装并显示在此列表中。
薪资规则¶
每个*结构*都有一套用于计算薪酬中各项金额的薪资*规则*。这些规则由本地化配置决定,并影响薪资的计算过程。
警告
规则的修改或创建应**仅**在必要时进行。
要查看所有规则,请前往 。点击某个结构(例如 常规薪资),即可查看所有规则。
添加新规则¶
要创建新规则,请点击 新建,系统将加载空白 :guilabel:`薪资规则`表单。在表单上半部分输入以下信息:
规则名称:为规则输入名称。此名称将显示在工资单上。
代码:输入用于新规则的代码。此字段区分大小写,将作为 规则ID 使用。此字段为**必填项**。
类别:使用下拉菜单选择规则适用的类别,或输入新类别。该类别用于分组规则并获取其总和。
薪资结构:使用下拉菜单选择规则适用的薪资结构,或输入新结构。此字段为**必填项**。
序列号:输入一个数字,用于表示该规则在所有规则中的*计算顺序*。规则将根据其序列号依次处理。序列号较低的规则优先计算,其结果可供序列号较高的规则使用。此字段为**必填项**。
显示在工资单上:勾选此复选框,该规则将显示在员工工资单 PDF 文件中。
计入雇主成本:勾选此复选框,在计算工资单的*雇主成本*时包含该规则。
常规选项卡¶
请填写 :guilabel:`常规`选项卡中的以下部分。这些配置决定规则的*计算顺序*和*计算方式*。
条件¶
计算依据条件:使用下拉菜单选择规则是否在工资单表格视图中计算并显示为一行。可选以下选项之一:
始终为真:该规则始终被计算。此部分无需其他配置。
薪资输入:此项为结构引入动态福利。该字段将显示在*员工*表单的*薪酬管理*选项卡、工资单的*输入*选项卡中,或同时出现在两处。该字段的数值将加至规则金额中。若选中此项,则需配置以下附加字段:
输入位置:指定该字段应显示的位置及其所属对象,可选: 员工、 工资单 或两者兼有。若同时选择两者,工资单上的数值将自动默认采用员工记录中的值,但可在特定薪资周期内直接在工资单上覆盖该值。
分组模块:此功能将多个输入项在表单视图中组合为一个可展开的分区。默认仅提供一个选项: 输入项。
单位:点击对应的单选按钮以确定福利的显示方式。可选项包括:
货币:带货币单位的数字。
数量:一个数字。
百分比:带%符号的数字。
复选框:用于表示布尔值(是 / 否)。
录入项说明:输入该录入项适用场景的简短说明。
默认值:输入默认值,可以是货币金额、数量或百分比。具体类型取决于所选的 单位。如有必要,可在该值右侧的字段中添加 后缀,例如
每公里。注解
如果为 单元 选中 复选框,此字段将变为 默认选中。点击复选框可使规则默认处于激活状态。
依赖于:选择另一条具有工资输入的规则,并使用其值来确定是否应隐藏此规则。
其他输入:选择此项可检查是否存在类型相同的工资条行项。选中后将显示 其他输入条件`字段。通过下拉菜单选择规则基于的输入类型,例如 :guilabel:`扣除项、 :guilabel:`报销项`等。
Python 表达式:选择此项可使用 Python 脚本计算规则。脚本将通过本地字典进行评估。右侧列出了 可用变量 和 输出:
可用变量:
工资单:
hr.payslip对象。员工:
hr.employee对象。版本:
hr.version对象。result_rules:包含规则金额、数量、费率和总计(先前计算)的字典。
类别:包含计算所得薪资规则类别的字典(该类别下所有规则金额之和):
总计:规则总计
金额:规则金额
数量:规则数量
rate:规则费率
ytd:薪资规则的本年累计值
worked_days:存储已计算出勤天数的字典,其中每个键是一个工作条目类型代码,每个值是一个
worked_days对象。该对象包含多个变量,其中最重要的包括:number_of_days:工资单周期内该类型出勤天数
number_of_hours:工资单周期内该类型出勤小时数
is_paid:该工时记录在当前工资结构中是否为带薪类型
inputs:存储已计算附加项的字典。键:其他附加项类型编码;值:相同编码的工资单附加项行汇总金额。
输出
结果:如果应计算该规则,则布尔值为 True;否则为 False。
域:选择此选项,仅当规则与配置的 适用域`匹配时才应用该规则。选中此选项后,请配置其下方显示的 :guilabel:`适用域。
计算¶
本节确定规则的最终数值,由基础金额、数量和费率组成。规则的总金额计算公式为 总额 = 基数 × 数量 × (比率 / 100)。
重要
若 条件依据 字段设置为 薪资输入 项,本区域将**不**显示。
请使用下拉菜单,为 金额类型 字段选择以下选项之一:
百分比 (%):定义总计计算的数值。选中后,请配置以下字段:
百分比计算依据:使用
localdict评估一个 Python 表达式,并将结果赋值给规则金额。数量:通过
localdict求值一个 Python 表达式,并将结果赋值给规则的数量字段。百分比 (%):分配给规则费率的十进制数。
固定金额:金额和数量已确定,税率为100%。
数量:通过
localdict求值一个 Python 表达式,并将结果赋值给规则的数量字段。固定金额:输入一个小数,该数值将作为规则金额。
其他输入:选择此项可从工资单输入行中提取规则金额,这些行需具有相同的 其他输入类型,且费率为
100%、数量为1.0。选择后,其下方会出现一个 其他输入金额 字段。使用下拉菜单选择该输入的 类型,例如 扣除项、小费 或 费用。Python 代码:这是 百分比 (%) 选项的更复杂版本,其中需要编写完整的 Python 脚本,然后通过
localdict进行求值。这包括一个 可用变量 列表和一个 输出 列表。可用变量:
工资单:hr.payslip 对象
员工:hr.employee 对象
版本:hr.version 对象
result_rules:一个包含规则金额、数量、比率和总计(先前计算)的字典,其中键是规则代码,值是包含以下键的字典:
总计:规则总计
金额:规则金额
数量:规则数量
rate:规则费率
ytd:薪资规则的本年累计值
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上的外观,并定义规则的美观性。
首先,使用颜色选择器为规则选择一个颜色。接下来,勾选标题复选框以**仅**显示工资规则的*标题*和*描述*,并隐藏任何数值。
勾选缩进、上方空白、粗体、下划线和斜体复选框以激活这些选项。
最后,输入规则的描述,它显示在规则名称下方。
会计选项卡¶
本节确定规则如何影响各种会计日记账以及如何计算员工的净工资。在本节中配置以下字段:
借记科目:使用下拉菜单,选择规则的借记科目。
贷记科目:使用下拉菜单,选择规则的贷记科目。
按名称拆分:启用此选项可根据工资单明细名称拆分此规则的会计分录。拆分分录可以为扣除和报销或工资调整提供更高的可见性。
从净额中排除:选中此复选框可将该规则的计算从日记账分录中的净工资规则中排除。应设置特定的借记和信用账户以独立分类。
在账户明细上设置员工:选中此复选框可使员工姓名在日记账项目中可见。
重要
此选项卡仅在安装了会计应用程序时可用。
规则参数¶
规则参数告知 Odoo 如何计算工资单的每一行。要查看配置的规则参数,请转到。
显示所有规则参数。点击单个规则参数可查看详细信息。
每个规则参数显示规则名称、代码、规则何时生效以及参数值。
Example
加班费的规则参数告知 Odoo,员工工作超过 40 小时时将获得 1.5 倍工资。
其他输入类型¶
创建工资单时,有时需要为特定情况添加其他条目,如小费、佣金、费用或扣款。这些其他输入可以通过转到找到。
如果需要一个列表中没有的新输入类型,请点击新建按钮创建新的输入类型。输入描述、代码,并在结构中的可用性字段中选择适用的结构。
如果输入应为工资附件,请选中在附件中可用复选框。
重要
Code用于工资规则中以计算工资单。如果Availability in Structure字段留空,表示新输入类型适用于所有工资单,不限于特定结构。