概述

人力资源管理概述

一般企业里,和人力资源相关的工作有: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专业服务商

最新文章

  1. Angular使用$compile为从Ajax加载的HTML绑定ng-click事件
  2. HTML 表
  3. Terra Vista 6.2
  4. js调用刷新
  5. 深入理解 Win32 PE 文件格式
  6. winrt控件
  7. Tomcat中负载的Session解决办法
  8. skyline TerraBuilder 制作MPT方法与技巧(2)
  9. smarty 模板 数字自动添加
  10. Swift --- 面向对象中类和对象的属性
  11. 一些javascript免费中文书籍
  12. tcp dump 截取http
  13. The package does not support the device architecture (x86). You can change the supported architectures in the Android Build section of the Project Opt
  14. violin 结构介绍
  15. DispatcherTimer和Timer(计时器)
  16. 浅谈java中==与equals的区别
  17. Git 安装配置手册
  18. Python-写文件
  19. Firefox 中出现的 “Network Protocol Error”怎么办
  20. linux下python3调用c代码或者python3调用c++代码

热门文章

  1. springboot: thymeleaf 使用详解
  2. mac 登录亚马逊云服务器报错:Permission denied (publickey).
  3. MySQL varchar类型数据转tinyint类型
  4. java集合HashMap、HashTable、HashSet详解
  5. wireshark使用方法
  6. 找不到 blog.csdn.net 的服务器 DNS 地址
  7. salesforce lightning零基础学习(四) 事件(component events)简单介绍
  8. Nagios安装、配置、问题记录
  9. MyEclipse代码提示设置
  10. Android 打造任意层级树形控件 考验你的数据结构和设计