odoo人力资源管理「odoo erp」
今天给大家普及一下odoo人力资源管理「odoo erp」相关知识,最近很多在问odoo人力资源管理「odoo erp」,希望能帮助到您。
概述人力资源管理概述
一般企业里,和人力资源相关的工作有:1)员工合同管理,即员工基本档案管理;2)招聘管理,即岗位及岗位人员补充管理;3)员工薪资计算; 4)员工考勤;5)员工休假管理;6)员工绩效评估;7)员工报销;8)员工工作日报
员工合同管理(Human Resources)
合同管理,即员工档案管理,主要管理员工两个信息,一个是员工基本信息,如姓名、年龄、地址、身份证号、工资卡等。一个是员工合同,如基本薪资、合同起止日期、职位、试用期起止日期等。系统里对应的有两个表单,Employees和Contracts,分别管理员工基本信息和合同信息。
招聘管理(Recruitment)
招聘管理,主要管理岗位和人员招聘。岗位管理,系统里是表单Job Postions,记录岗位名称、部分、职责描述、岗位要求描述等。人员招聘,系统里是表单Applicants,记录应聘人员基本信息,以及应聘过程及结果管理。每一个人员应聘的处理都有初试、复试、录用等不同阶段,每一阶段都要记录面试结果等信息。实际应用上,如果开发一个接口,从51job等网站上自动拉下应聘简历,生成系统的Applicants,公司内部的招聘过程通过Applicants进行管理,那么,招聘管理功能就比较完善了。
员工薪资计算(Payroll)
员工薪资计算一般原理是,在合同确定的基本薪资的基础上,加上各种津贴(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)
系统有Sign in / Sign out 按钮,用于签到签出。实际应用中,如果开发一个到门禁系统的接口,自动收集签到签出数据,考勤功能就比较完善了。
员工休假管理(Holidays)
包括个人休假申请(Leave Requests)及审批、公司统一休假安排(Allocation Requests),休假报表汇总(Leaves Summary)。
员工绩效评估(Evaluations)
员工绩效评估,通常做法是,HR制定评估计划和评估表格,主管或HR按计划,根据评估表格定期对员工作绩效评估。评估计划的主要内容包括,计划名称、开始时间(月份)、间隔月份、评估过程(Evaluation Plan Phases,如分自评、主管考评、HR考评、Boss考评等阶段)。评估表格(Appraisal Form),系统里是用问卷调查表(Survey)实现的,即HR拟定若干问题(评估项目),评估者对每个评估项目打分。
在员工基本信息里,为每个员工设定适用的绩效评估计划,当计划的评估时间到了,系统会自动生成评估要求(Interview Requests),并EMail通知相关人员进行评估。评估者和被评估者进入系统,填写评估结果。
员工报销(Expenses)
员工新建报销单,填写报销事项,报销金额、时间、原始单据号码等信息,提交主管审批。主管审批后,再进入财务审批及付款。
员工日报(Time Tracking)
员工在Timesheets里,每天填写工作内容(Description),工作时间(Quantity),成本项(Analytic Account,即该项工作Charge到哪个成本项目)。系统自动统计员工工作时间和项目成本。
考勤及休假产品头信息和一般信息
菜单“Attendances Attendances”记录考勤数据,如下图:
点击上图中红圈处,表示签到、签出。如果和打卡机接口(需要另外开发打卡机接口程序),系统可以自动记录签到签出时间。下图是考勤数据的详细结构,考勤数据记录了谁、什么时间、什么动作(签到、签出、其他)、什么原因
休假
下图是系统记录的请休假表单。计算工资时候,系统会将休假记录自动添加到工资条的worked_days中,工资计算的Python Code代码中可以引用休假记录计算工资。
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%个税
应发工资 = 税前工资 – 个税扣除
上述规则都在“工资计算规则”中设置。
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)计算工资项。销售提成,其他扣除,迟到等扣除都可以在此处录入数据,自动计算金额。
本例的考勤扣除引用此处设置的“无薪请假时数”和“月度工作时数”计算扣除金额,其金额 = 8000 * 12 / 198 = 484.85;销售提成用到此处输入的销售额计算销售提成,其金额 = 20000 * 5% = 1000。
工资计算规则
Name:工资结构名称,任意文字。
Reference:工资结构代码,任意字符
Parent:上级工资结构,上级工资结构中定义的一些Rule会自动应用到本级工资结构
Salary Rules: 工资计算规则,
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间是另一个税率,等等,如下图:
Python Expression:适用条件是一个Python表达式。如下图:
在这个表达式中,可以应用加减乘除、括号、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)。
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引用该录入值。
工资条的Other Inputs中,录入销售额:
分类账
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,此时系统自动生成应付账款的会计凭证;出纳支付费用,此时系统自动生成付款会计凭证并核销之前的应付会计凭证。
费用报销的菜单是“人力资源 | 费用 | 费用”,画面如下:
员工需要报销时候,在系统中创建一张“费用报销单”,如上,填写好报销事项,提交经理审批。经理审批后,财务人员处理报销单,产生应付账款。出纳实际支付报销费用时候,记入费用帐,核销应付帐。
文章编辑:开源智造(OSCG) - 源自欧洲,业界领先的免费开源ERP专业服务商