Odoo中文网|Odoo实施培训

标题: OpenERP的人力资源模块功能 [打印本页]

作者: 花千骨    时间: 2015-8-27 17:36
标题: OpenERP的人力资源模块功能
1. 人力资源管理概述    
    一般企业里,和人力资源相关的工作有:1)员工合同管理,即员工基本档案管理;2)招聘管理,即岗位及岗位人员补充管理;3)员工薪资计算; 4)员工考勤;5)员工休假管理;6)员工绩效评估;7)员工报销;8)员工工作日报。
2. 员工合同管理(Human Resources)    
    合同管理,即员工档案管理,主要管理员工两个信息,一个是员工基本信息,如姓名、年龄、地址、身份证号、工资卡等。一个是员工合同,如基本薪资、合同起止日期、职位、试用期起止日期等。系统里对应的有两个表单,Employees和Contracts,分别管理员工基本信息和合同信息。

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

4. 员工薪资计算(Payroll)
    员工薪资计算一般原理是,在合同确定的基本薪资的基础上,加上各种津贴(Allowance),减去社保、公积金、个人所得税等各种扣款(Deduction),得出应发工资。此外,还要计算社保、公积金等的公司承担部分(Company Contributions)。
    不同地区,不同职位,津贴、扣款的项目不同,同一项目的算法不同,因此工资的计算是相当复杂的。系统里工资计算的重要概念有:


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

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

7. 员工绩效评估(Evaluations)    
    员工绩效评估,通常做法是,HR制定评估计划和评估表格,主管或HR按计划,根据评估表格定期对员工作绩效评估。评估计划的主要内容包括,计划名称、开始时间(月份)、间隔月份、评估过程(Evaluation Plan Phases,如分自评、主管考评、HR考评、Boss考评等阶段)。评估表格(Appraisal Form),系统里是用问卷调查表(Survey)实现的,即HR拟定若干问题(评估项目),评估者对每个评估项目打分。    
    在员工基本信息里,为每个员工设定适用的绩效评估计划,当计划的评估时间到了,系统会自动生成评估要求(Interview Requests),并EMail通知相关人员进行评估。评估者和被评估者进入系统,填写评估结果。

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

9. 员工日报(Time Tracking)
    员工在Timesheets里,每天填写工作内容(Description),工作时间(Quantity),成本项(Analytic Account,即该项工作Charge到哪个成本项目)。系统自动统计员工工作时间和项目成本。
作者: 花千骨    时间: 2015-8-27 17:37
本帖最后由 花千骨 于 2015-8-27 17:40 编辑

考勤及休假
1 产品头信息和一般信息

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

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

Leave Type:休假类型,可自定义,如病假、事假等
Duration:休假期间,精确到小时。

    工资单计算时候,系统会自动将当月发生的所有请假记录添加到工资单的Worked Days中,并自动计算请假时数和日数,Leave Type是Worked Days的Code。
作者: 花千骨    时间: 2015-8-27 17:43
本帖最后由 花千骨 于 2015-8-27 17:49 编辑
花千骨 发表于 2015-8-27 17:37
考勤及休假
1 产品头信息和一般信息


工资计算

1工资单

    菜单“HR Payroll Employee Payslips”,创建工资单,工资条如下图。
Structure:工资结构,工资结构包括若干条工资计算规则,每一条工资计算规则对应到工资单上的一个工资项,工资项的金额由工资规则计算而得。
Salary Computation:工资项,本例中各项目的计算规则如下。
    合同工资 = 8000,
    销售提成 = 销售额 * 5% = 1000
    考勤扣除 = 合同工资 * 当月无薪假小时数 / 当月应工作小时数
    税前工资 = 合同工资 + 销售提成 – 考勤扣除
    个税计算规则: 税前工资 <= 5000,免税,5000到1000间,5%个税,10000以上,8%个税

    应发工资 = 税前工资 – 个税扣除
    上述规则都在“工资计算规则”中设置。
[attach]45[/attach]
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)计算工资项。销售提成,其他扣除,迟到等扣除都可以在此处录入数据,自动计算金额。
[attach]46[/attach]

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

[attach]47[/attach]
Name:工资结构名称,任意文字。
Reference:工资结构代码,任意字符
Parent:上级工资结构,上级工资结构中定义的一些Rule会自动应用到本级工资结构
Salary Rules: 工资计算规则,

[attach]48[/attach]
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间是另一个税率,等等,如下图:
[attach]49[/attach]
Python Expression:适用条件是一个Python表达式。如下图:
[attach]50[/attach]

在这个表达式中,可以应用加减乘除、括号、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)。
[attach]51[/attach]

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引用该录入值。
[attach]52[/attach]

工资条的Other Inputs中,录入销售额:
[attach]53[/attach]3分类账

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%减去免税额。


作者: 花千骨    时间: 2015-8-27 17:47
本帖最后由 花千骨 于 2015-8-27 17:48 编辑
花千骨 发表于 2015-8-27 17:43
工资计算

1工资单


费用报销
   
    员工差旅费等的报销,起始于员工提出报销单,终止于员工收到报销款项。整个业务涉及的典型处理流程如下:
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,此时系统自动生成应付账款的会计凭证;出纳支付费用,此时系统自动生成付款会计凭证并核销之前的应付会计凭证。

    费用报销的菜单是“人力资源 | 费用 | 费用”,画面如下:
[attach]54[/attach]
    员工需要报销时候,在系统中创建一张“费用报销单”,如上,填写好报销事项,提交经理审批。经理审批后,财务人员处理报销单,产生应付账款。出纳实际支付报销费用时候,记入费用帐,核销应付帐。

OE的HR简直太强了
居然能配置出社保扣除,个税扣除等全部的中国工资项目计算,一行代码都不用写

作者: 秋刀鱼    时间: 2015-8-30 23:12
貌似hr功能很完善了




欢迎光临 Odoo中文网|Odoo实施培训 (http://www.chinaodoo.net/) Powered by Discuz! X3.2