SAP HCM薪酬解决方案的核心自然是payroll的运行。
在这之前我们需要先了解几个名次。
- payroll period: 它由两部分组成,一个是period参数,例如每周,每月等。另一个是日期设定(date modifiers),即设定每一期的开始和结束时间,例如当月16日到下月15日,每两个星期等等。
- payment date: 薪酬给付的日期。
- payroll area: 一个payroll period和一个payment date,构成了唯一的一个payroll area。
我们先从这个树形图上看一下整个payroll的流程情况。
这个流程就是树状图排列的顺序。
- Simulation:HR可以在正式运行payroll前,先用模拟的方式计算薪酬,查看一下是否有错误,数值是否有不正确的地方。使用这个步骤运行后得到的数据结果都是临时的结果,是不会存入到系统数据库的。
- Release Payroll:这个步骤是开始薪酬运算前的准备部分。在这个阶段中,会将相应员工的主数据和时间数据都锁定。在整个薪酬计算运行的过程中这些数据是不允许进行改动的。这个限定也是符合常理的,因为一旦数据有改动,那么得到的payroll结果也就不对了。另外,payroll period也会自动加一。
- Start Payroll:这个步骤就是运行payroll
- Check Payroll:系统会检测一些基本的逻辑,是否发送错误。如果有错误会列出发生错误的员工,在infotype 0003中也会有显示。对于发生错误的员工,他的员工号会记录进Matchcode W中。
- Corrections:这一步代表的是修正运行,是对之前发生问题的员工进行修正计算,对发生错误的员工,可以先将他的错误数据修改正确后,再锁定后重新计算。如果员工运行成功且无错,Matchcode W中会将此员工删除。
- Exit Payroll:主数据会被解锁。但是Payroll area还是被锁定的,只有当下一次release payroll的时候payroll area才会重新unlock,然后把需要运行的员工都加入进payroll area中。这个时候对于这个period,payroll area里面都是payroll运行成功的人,即Matchcode W里面是空的,所以如果W里面还有未成功的人,exit payroll会报错。 如果exit之后还需要改infotype,还是可以再进行retro的。
- Remuneration Statement:显示薪酬运行后的一些结果和日志,SAP系统中一般以ALV的形式呈现。
- Remuneration Statement with HR Forms:将运行后的薪酬数据写入对应HR报表中,这部分报表可能会是政府规定的,或者是企业自己设计的。
了解完整个流程之后,我们就可以来看payroll真正运行的程序。在SAP系统中成为 payroll driver。如下是它的截图。
从上往下的,由如下部分组成。
- Payroll period:
- payroll area: 设定你要运行的payroll period处在哪个payroll area
- period: 设定你要运行payroll到哪一个月份。current period就是系统当前的月份。other period可以指定月份。
- Selection:
- personnel number: 填写需要运行薪酬的员工号码,这个号码是与在infotype中同一员工的号码相同的。
- payroll area: 设定你要运行payroll的员工所处的payroll area。这个和上面一处payroll area不同的地方是,上面是针对period所处的area,而这里针对员工的area。通常这两个值是相同的。
- General program control:
- payroll reason/off-cycle payroll: 设定你所期望运行的off-cycle的payroll原因。如果是运行regular的payroll,这个地方是不需要填的。但如果你需要运行奖金或其它额外的,不固定的薪酬,那么可以在这里指定,并且在代码里面做相应逻辑开发。
- payroll schema: 填写你所指定的薪酬规则,如果想要详细了解schema,可以看这一篇:https://blog.csdn.net/elikai/article/details/88026492
-
- forced retro. accounting as of: 这里填写日期,可以强制让你的payroll retro到这里指定的日期。retro就是重新运行那些已经运行过payroll的月份。
- test run: 测试运行payroll,数据不计入数据库中。
- Log: 显示日志的一些选项,可以在日志中看到你运行的payroll中,对应的wagetype等的值,方便检测payroll运行的情况,和结果的正确性。
- Remuneration statement parameters: 生成报表的一些参数设置。
通过填入参数后,可以看到这样的payroll日志,点开里面的节点可以看到更详细的信息。
仔细查看,你会发现payroll log中的节点布局和你设计的schema是一样的,这也正好印证了schema中的payroll计算流程。