免费开源ERP 人力资源模块操作指南(完美珍藏版)

概述

人力资源管理概述

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

一般企业里,和人力资源相关的工作有:1)员工合同管理,即员工基本档案管理;2)招聘管理,即岗位及岗位人员补充管理;3)员工薪资计算; 4)员工考勤;5)员工休假管理;6)员工绩效评估;7)员工报销;8)员工工作日报

员工合同管理(Human Resources)

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

合同管理,即员工档案管理,主要管理员工两个信息,一个是员工基本信息,如姓名、年龄、地址、身份证号、工资卡等。一个是员工合同,如基本薪资、合同起止日期、职位、试用期起止日期等。系统里对应的有两个表单,Employees和Contracts,分别管理员工基本信息和合同信息。

招聘管理(Recruitment)

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

招聘管理,主要管理岗位和人员招聘。岗位管理,系统里是表单Job Postions,记录岗位名称、部分、职责描述、岗位要求描述等。人员招聘,系统里是表单Applicants,记录应聘人员基本信息,以及应聘过程及结果管理。每一个人员应聘的处理都有初试、复试、录用等不同阶段,每一阶段都要记录面试结果等信息。实际应用上,如果开发一个接口,从51job等网站上自动拉下应聘简历,生成系统的Applicants,公司内部的招聘过程通过Applicants进行管理,那么,招聘管理功能就比较完善了。

员工薪资计算(Payroll)

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

员工薪资计算一般原理是,在合同确定的基本薪资的基础上,加上各种津贴(Allowance),减去社保、公积金、个人所得税等各种扣款(Deduction),得出应发工资。此外,还要计算社保、公积金等的公司承担部分(Company Contributions)。

不同地区,不同职位,津贴、扣款的项目不同,同一项目的算法不同,因此工资的计算是相当复杂的。系统里工资计算的重要概念有:

Basic Salary:基本工资,在合同上写明的基本工资。

Salary Rule:工资计算规则,每个津贴、扣款都是一个Salary Rule。对中国而言,岗位津贴、交通补贴、社保、公积金、个税等都要定义成Salary Rule,考勤扣除、业绩提成等的计算也是设置Salary Rule。系统里可以选择Salary Rule的计算方法(基本工资的百分之多少,或者固定金额,或者函数计算,或者自定义Python代码公式)。百分数计算法,如上海地区的公积金是基本工资的7%。固定金额计算法,如交通补贴固定为300元。函数计算法,如个税额根据基本薪资不同税率不同,金额不同,这个可以用函数计算方法设置Salary Rule。

Salary Structure:工资结构,或者工资类型。不同的职位,工资项目不同,如业务员有通信补贴,一定职位以上才有交通补贴。又如上海的社保,分大城镇保险、小城镇保险、外来人员综合保险,这些工资算法各不相同。一个Salary Structure包含若干项Salary Rule,不同员工适用不同的Salary Structure。员工的Salary Structure在员工合同里指定。

Company Contributions:公司社保金,即定义公司应交的各种社保金额。和Salary Rule类似,可以定义不同基数和算法(百分比、固定金额、函数计算)。在Salary Rule里面,可以为每个Salary Rule定义相应的Company Contributions。如上海的社保金,个人扣款部分是11%,公司应承担部分是37%,系统里设置方法是,在社保金的Salary Rule里设置11%,同时添加一条公司社保金的Company Contributions到社保金的Salary Rule,公司社保金的Company Contributions设置37%。这样,系统计算工资时候,会自动算出个人扣款和公司扣款,并汇成一览表到Contribution Register。

Employee Payslip:个人工资条,每个月都需要为每个员工创建一张工资条。创建工资条时候,系统会自动根据员工合同里的Salary Structure,列出员工的基本工资、各个津贴扣款等工资项目。

Payroll Register:公司工资表,每个月需要创建一张工资表,工资表包含了当月所有员工的工资条,工资表上的每一行是一个员工工资条。Payroll Register有一个审批过程,如果安装了系统的hr_payroll_account,系统会自动生成工资表的会计账务。

员工考勤(Attendances)

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

系统有Sign in / Sign out 按钮,用于签到签出。实际应用中,如果开发一个到门禁系统的接口,自动收集签到签出数据,考勤功能就比较完善了。

员工休假管理(Holidays)

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

包括个人休假申请(Leave Requests)及审批、公司统一休假安排(Allocation Requests),休假报表汇总(Leaves Summary)。

员工绩效评估(Evaluations)

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

员工绩效评估,通常做法是,HR制定评估计划和评估表格,主管或HR按计划,根据评估表格定期对员工作绩效评估。评估计划的主要内容包括,计划名称、开始时间(月份)、间隔月份、评估过程(Evaluation Plan Phases,如分自评、主管考评、HR考评、Boss考评等阶段)。评估表格(Appraisal Form),系统里是用问卷调查表(Survey)实现的,即HR拟定若干问题(评估项目),评估者对每个评估项目打分。

在员工基本信息里,为每个员工设定适用的绩效评估计划,当计划的评估时间到了,系统会自动生成评估要求(Interview Requests),并EMail通知相关人员进行评估。评估者和被评估者进入系统,填写评估结果。

员工报销(Expenses)

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

员工新建报销单,填写报销事项,报销金额、时间、原始单据号码等信息,提交主管审批。主管审批后,再进入财务审批及付款。

员工日报(Time Tracking)

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

员工在Timesheets里,每天填写工作内容(Description),工作时间(Quantity),成本项(Analytic Account,即该项工作Charge到哪个成本项目)。系统自动统计员工工作时间和项目成本。

考勤及休假

产品头信息和一般信息

菜单“Attendances Attendances”记录考勤数据,如下图:

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

点击上图中红圈处,表示签到、签出。如果和打卡机接口(需要另外开发打卡机接口程序),系统可以自动记录签到签出时间。下图是考勤数据的详细结构,考勤数据记录了谁、什么时间、什么动作(签到、签出、其他)、什么原因

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

休假

下图是系统记录的请休假表单。计算工资时候,系统会将休假记录自动添加到工资条的worked_days中,工资计算的Python Code代码中可以引用休假记录计算工资。

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

Leave Type:休假类型,可自定义,如病假、事假等

Duration:休假期间,精确到小时。

工资单计算时候,系统会自动将当月发生的所有请假记录添加到工资单的Worked Days中,并自动计算请假时数和日数,Leave Type是Worked Days的Code。

工资计算

工资单

菜单“HR Payroll Employee Payslips”,创建工资单,工资条如下图。

Structure:工资结构,工资结构包括若干条工资计算规则,每一条工资计算规则对应到工资单上的一个工资项,工资项的金额由工资规则计算而得。

Salary Computation:工资项,本例中各项目的计算规则如下。

合同工资 = 8000,

销售提成 = 销售额 * 5% = 1000

考勤扣除 = 合同工资 * 当月无薪假小时数 / 当月应工作小时数

税前工资 = 合同工资 + 销售提成 – 考勤扣除

个税计算规则: 税前工资 <= 5000,免税,5000到1000间,5%个税,10000以上,8%个税

应发工资 = 税前工资 – 个税扣除

上述规则都在“工资计算规则”中设置。

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

Worked Days & Inputs:工作时数和其他金额输入项目。WORK100是系统自动填写的当月应工作天数和时数。工资单上的员工当月发生的所有请假记录,系统会自动填写到Worked Days上。

1) 请假单的Leave Type是Worked Days上的Code,工作时数

2) 请假单的Days是Worked Days上的Number of Days

3) 系统会自动根据员工合同上的Working Schedule 计算Worked Days上的Number of Hours 此外,也可以手工录入工作时数。

Other Inputs:由手工填写,工资计算规则会用其Code引用输入的金额(Amount)计算工资项。销售提成,其他扣除,迟到等扣除都可以在此处录入数据,自动计算金额。

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

本例的考勤扣除引用此处设置的“无薪请假时数”和“月度工作时数”计算扣除金额,其金额 = 8000 * 12 / 198 = 484.85;销售提成用到此处输入的销售额计算销售提成,其金额 = 20000 * 5% = 1000。

工资计算规则

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

Name:工资结构名称,任意文字。

Reference:工资结构代码,任意字符

Parent:上级工资结构,上级工资结构中定义的一些Rule会自动应用到本级工资结构

Salary Rules: 工资计算规则,

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

Category:规则分类

Code: 规则代码,此代码可用于引用本规则的计算结果

Sequence:序号,序号小者显示在前面

Appear on Payslip:本规则的计算结果是否显示在工资条上。

Condition Based On: 本规则适用的条件,只有符合此处定义的条件,才会计算本规则的结果。如个人所得税,其条件是扣除社保后的工资大于3500才会计算。可选值有Always True、Range、Python Expresstion三个,Range表示,某值(Range Based on)在预定义范围内(Minimum Range 和 Maximum Range),本规则才启用。如个人所得税,值在3500到5000间是一个税率,在5000到8000间是另一个税率,等等,如下图:

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

Python Expression:适用条件是一个Python表达式。如下图:

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

在这个表达式中,可以应用加减乘除、括号、and、or、not 等运算符,可以应用下述对象变量及其字段值:

payslip:待计算的工资条

employee:工资条上的员工信息

contract:工资条上的合同信息,也即该员工的合同信息

rules:之前定义的工资规则(Sequence序号更小的规则),通过rules.code引用之前定义的规则的计算结果

categories:通过categories.code引用某一工资规则分类的汇总值,即该分类的工资规则计算结果之和。

worked_days:工资条上的出勤数据,包括出勤日数,休假日数(及各类别的休假日数),迟到小时数等。可以通过worked_days.code引用各种类别的天数

inputs:工资条上的录入值,如销售提成,需要在工资条上录入,通过inputs.code引用该录入值。

Computation:本工资结构的计算公式,有三个可选值:Percentage(%)、Fixed Amount、Python Code

Percentage(%)表示计算公式是某一指定值的百分之多少,如下图,表示取合同工资(contract.wage)的7%(percentage = 0.07)。

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

Fixed Amount: 表示固定值

Python Code:Python代码计算,写法和前面的Python条件表达式一样,格式为形如

result = contract.wage > 3500 and contract.wage <= 5000 and contract.wage * 0.05 or 500

上述表达式含义是,如果合同工资在3500到5000之间,取合同工资的5%,否则取固定值500。

Inputs:任意输入值,如下例。在工资条上录入“销售额1”的值,在Computation的Python代码中通过inputs.XSE1引用该录入值。

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

工资条的Other Inputs中,录入销售额:

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

分类账

1)合同工资 规则设置示例 result = contract.wage

表示引用合同对象上的字段wage 。

2)销售提成 规则设置示例 result = inputs.XSE.amount * 0.05

表示销售提成是工资单上Other Inputs输入的“销售额(XSE)”的5% 。Other Inputs输入值的引用方法是: inputs.Code.amount

3)考勤扣除 规则设置示例 result = GZ * worked_days.LV10.number_of_hours / worked_days.WORK100.number_of_hours

GZ是合同工资规则中的Code,可以直接用Code引用规则的计算结果。 worked_days.WORK100.number_of_hours 表示工资单上输入的工作时数,工作时数的引用方法是:worked_days.Code. number_of_hours,工作日数的引用方法是 worked_days.Code. number_of_days 。

4)个税扣除 规则设置示例 result = GZ + TC – KQ

GZ是合同工资的Code,TC是销售提成的Code,KQ是考勤扣除的Code。

5)个税扣除 规则设置示例 result = (SQ 5000 and SQ 10000 and (SQ * 0.08 – 400))

SQ是税前工资的Code,上述Python代码的含义是,税前工资少于5000,个税是0,税前工资在5000到10000间是SQ * 5% – 250,即税前工资的5%减去免税额。

费用报销

员工差旅费等的报销,起始于员工提出报销单,终止于员工收到报销款项。整个业务涉及的典型处理流程如下:

1)员工提交报销单,例如报销客户访问Taxi费100元。

2)主管审批报销单(主管的审批点主要是确认报销事项的真实性)

3)人事(有的公司是财务)审批报销单(此步骤审批主要是确认报销事项符合公司政策,例如没有超出公司规定的金额范围,不是假发票,等等)

4)财务(出纳)付款(此步骤,有的公司是直接支付现金,有的公司是打款到工资卡上)

报销流程包括两大业务处理,一个是审批过程,一个是财务处理过程。审批过程是:员工 -> 主管 -> 人事。财务处理过程是:报销涉及的票据的会计记账,出纳付款。

在OpenERP中,为了处理审批过程和财务过程,需要作如下一些配置:

1) 员工信息

OpenERP中员工信息的设置相当复杂。在OpenERP中,员工是一个相当复杂的复合角色:a) 员工是人,因此具有姓名、出生年月、身份证号码、家庭住址等人员信息;b) 员工是一个系统用户(User),他需要登录OpenERP系统完成一些操作,作为系统用户,员工需要用户ID,密码等,最重要的是,他要拥有合适的系统访问权限;c) 员工是一名雇员,作为雇员,具有工资结构、入司年月、职位、部门等信息;d) 员工是一个和公司发生交易的Partner,他为公司干活,公司报销他必要的费用,付与必要的工资;e) 员工向公司销售个人劳动力,因此,和其劳动力对应,需要为员工设置对应的产品。

对应着员工的五重角色,OpenERP中为每个员工需要设置五个业务对象:a) 在Setting中设置员工对应的User,赋予适当访问权限;b) 在Patner中设置员工对应的Partner;c) HR的Eployee中设置员工身份证等个人信息;d) HR的Contracts中设置工资等雇员信息;e) 劳动力产品,该产品是Service类型,以时间为单位,有成本价和销售价,根据员工填写的日报(Timesheet),系统根据该成本价和销售价计算员工工作的成本和价值。

2) 职位信息

和职位相关的信息有,a) 部门、部门结构、部门主管、职位(Job Position)。

3) 其他信息

报销产品:在OpenERP中,报销100元Taxi费用,相当于是公司向员工采购了100元产品“Taxi费用”。为了更精细的区分报销事项,也为了报销的财务记账更清楚,需要为各种报销事项设置对应的产品,如 加班餐费补贴、出差交通费、出差旅馆费、办公用品等等。

会计科目:报销事项,相当于是公司向员工采购产品,因此,需要在员工对应的Partner中恰当设置应收应付科目,在报销产品(如加班餐费)中恰当设置收入科目和成本科目。

上述各项基础数据设置好以后,报销过程的处理如下:员工登录系统,在HR的Expense中提交报销单(填写事项说明、报销产品、数量、金额、发票号等信息);主管登录审批报销单;人事(或财务)登录审批报销单,此时,系统自动生成一张采购发票(Supplier Invoice),该Invoice上,员工对应的Partner是Supplier、报销产品是员工销售给公司的产品;财务确认Invoice,此时系统自动生成应付账款的会计凭证;出纳支付费用,此时系统自动生成付款会计凭证并核销之前的应付会计凭证。

费用报销的菜单是“人力资源 | 费用 | 费用”,画面如下:

Odoo:全球第一免费开源ERP 人力资源模块操作指南(完美珍藏版)

员工需要报销时候,在系统中创建一张“费用报销单”,如上,填写好报销事项,提交经理审批。经理审批后,财务人员处理报销单,产生应付账款。出纳实际支付报销费用时候,记入费用帐,核销应付帐。