
Recently we went thru a Time Off Implementation. Time Off is a core area and has various tentacles into including, but not limited to Payroll and S/4 ( for CATS based costings Time Sheets, Work Order scheduling in PM etc). I will be demonstrating the configuration of Time Off and the subsequent configuration of interfacing with EC Payroll and S/4. In addition to that I will be demonstrating the calculation of provisions in Payroll (Sometimes referred to as leave provisioning) and will be ending this with a demonstration of Purchase Leave and its interfacing with payroll. This will be a long series and while readers will find this attuned to Australia (and it is), the concepts can be used in other jurisdictions as well.
The series will be divided into five parts:
1. Time Off solution with a demonstration of Entitled-as-Accrued Leave like Annual Leave and its integration/replication with EC Payroll along with the necessary settings for provisioning calculations.
2. An addition of another specific type of leave, which has some calendar based entitlements. Meaning, while the leave accrues at its own clip but the user can only avail it after a certain time frame. Do the time and get the claim. Once again, we will revisit the replication into EC Payroll and provisioning calculations. I will be demonstrating the Long Service Leave along with some flavours.
3. Addition of other leave types which does not attract any provisions. Use-it-or-lose it types( a poor characterisation but...). I will be demonstrating Sick Leave. Additional non account based leaves (think of Wellness Leave, Volunteering and Mental Health leaves etc ) will be covered.
4. Purchase Leave set up, wherein you can take a purchase leave from the organisation for a salary deduction over the period of span of PL.
5. Additional aspects, like integrating Time Off with S/4 and using multiple Time Off Types on a same quota etc and notes around various Time Off related runs, RBP permission set up etc.
Intuitive users, particularly old timers from SAP HR will recollect that:
1. Time Off Type => Absence Types ( or Attendance types, but I will limit it to Absence type for our purposes, AWART).
2. Time Account Type => Quota Type (KTART)
3. Time Account => Amount of Time Account Type, essentially the quota amount.
This is the first part of the series and as explained earlier, it will cover an entitled-as-accrued kind of leave. Think of Annual Leave where you are entitled to a "certain" amount of leave for each day. This part will explain the set up.
Think of an employment contract like this:
Employment Contract | Amount of Annual Leave for 1.0 FTE |
Contract A | 150 Hours |
Contract B | 180 Hours |
I have mentioned a simple case of contract but you could think of expanding the table with additional attributes like locations and different entitlements as per locations etc. In fact the config details show a more practical set up then a theoretical one.
Some explanation of elements:
1. Time Profile: Think of this as a config element and they are really an instance of the MDF object and you can create them using Manage Data or Manage Time Off Structures. These master data element is assigned to an employee in their job info and they basically are more or less a list of absences (not just absences but for our conversation, it suffices to think of them as such) that an employee is allowed to attempt to apply. I say "attempt" because the actual application still depends on things like quota(SF - Time Account balances).
The Time Profile element.
In the below config, this TP shows that an employee has access to the listed Time Off types ( Annual, Sick, LSL, Purchase)
Example of an employee's Job Info record which shows the assignment of the Time Profile to the employee
2. Time Type. Sometimes referred to as Time Off type or even Absence Type by old time SAP HR folks, they represent the actual Time Off type. As a user you will apply for a leave under this code. The various attributes are either self explanatory or easily understood via the in line help icon. Of essence, is the Time Account Posting Rules, which denotes which Time Account Type to deduct from. In the part 2 of the series, I will introduce the counting rules etc but for this case, this is an extremely simple case of requesting a leave that can be either be requested for the full day or requested in fraction of hours but in full hours. Meaning, you can request a full day of AL worth 7.5 Hours or 1,2,3,4,5,6 or 7 hours but not really 1 hours 15 minutes. Time Type also allows you to specify the WF that you would trigger. For example, a simple WF to line manager would suffice for AL but something like Paid Parental Leave may require a WF that goes to the payroll/HR team after being approved by the line manager. Horses 4 Courses.
The most important bit is the Time Account Posting Rules. In this case, as the Time Type screenshot shows, it "posts" to Time Account Type 10. In simple terms it means deduct it from Time Account of type 10. TAT can be thought of quota and we will visit the configuration, in detail, for this element in due course. Of course, in real life you will start with configuring the Time Account Type first and then Time Off type before including them in Time Profile. Once again there are many characteristics and many of them are self explanatory but using the help icon really helps. I will explain the annotated elements, though.
1. External Code - Think of your KTART but really an external code identifying the Account.
2. Entitlement Method - I encourage reading the possible options and we will be visiting them in later series but in this case, it is marked as Entitled and Accrued. This means, when the Time Evaluation runs for the employee ( there is no such term in SF, the correct term is Accrual Run ) it calculates the accrual for that day and any past days that may be pertinent due to master data changes and simply transfers the calculated Accrual as entitlement. So if your balance is 50 hours at the end of 30 June and if you check your balance at the end of 1 July, the balance would be bumped up with the accrual for that day.
3. Accruable Rule Data Effective Date: What this really means is, whats the date the Job Info of the employee is read as and when the various Rules are running. In case of Daily accrual run for a TAT which has Accrual Frequency Period as daily, this doesn't really matter as start date = end date.
4. Account Creation Type: This really defines the periodicity of the Time Account. Permanent Accounts are forever. You have other options there Recurring and Adhoc. If you have use it or lose it withing the time frame kind of Time Account, then that would be recurring. Ad hocs are non regular types, we will explore them in part 5.
5. Level of Accrual Automation - You have options of Manual and Automatic. Automatic really means, the Accrual runs are system generated and that you do not have to schedule it. Manual means you have to set up a Accrual Run job using Manage Time Off Calendars to do that. In our case, I have set it up as Automatic and you can see it here (Administer Time under People Profile/Time Off Info):
6. Recruit Rule. In this rule you will code what happens when an employee is recruited/hired. In this case, all we do is create an account and credit 0 hours. This is like opening a bank account with $0 deposit.
7. Accrual rule: This is the rule which calculates the Accrual as and when the accrual run happens.
What this rule does is calculate the number of hours. Trace back to the original snippet of requirements.
Real life requirements will be lot more complex. So what we do is create a look up table and use it for basing our calculations. Think of look up table as T559E table of SAP HR, only with the added advantage of being able to add additional fields. A single entry from the lookup table:
What this really means, the employee in the mentioned personnel area ( XX ) with the Contract XY 150 Hours has 150 hours of Annual Leave entitlement.
This is the actual look up table itself. Notice how different contract has different number of hours of Annual Leave. The contract itself would be a field that is maintained against the employee' job info.
Notice that the Accrual rule reads the base entitlement and gets a per day equivalent ( which again differs based on Leap and Non leap year) and multiplies it by the FTE to arrive at a per day accrual calculation. If you go back to point 5, this shows up as 15 minutes. Which is really, (150/365)*0.6(FTE) = 0.246575 which is 15 minutes. In Series 5, I will show how you can stop accrual under some conditions (for example, if the employee is on Leave Without Pay or on Industrial Action Leave etc).
8. Level of Simulation Precision: If you are applying for a future date, let's say 1 Jan 2025 to 30 Jan 2025 with today being 1 June 2024, then this simulates the Time Account accrual rule up to the end date of the leave application based on either exact or approximate simulation. Think of this as quota projection. Complex accrual rules would take a few seconds and simple projections take a fraction of the time. I have not really tried with simple projections but I suppose it will look for just any job info changes as opposed to running it for every single day.
Now, lets look how the calculations look like. You can use the Time Account Process Simulator to check this and see how it calculates the accruals.
The above part explain the TO configurations. Now to the payroll part. Normally, payroll would have the following requirements. This is not exhaustive but would suffice.
1. Any Leave Taken must be replicated to EC Payroll so as to be able to ascribe a $ value. This is particularly important in Australia as the ATO expects any payments made to the employee for paid leaves ( AL, LSL, SL etc ) are reported via STP.
2. Accruals are transferred to EC Payroll so as to be able to calculate the provisions. Provisions are amounts that the company must hold as liabilities in their balance sheet and have enough cash/liquid assets to be able to pay the employee in case they are terminated. Now you know, why companies insist on employees taking their full quota of leaves. It reduces their liabilities and provisions.
Lets tackle the second point first and then the first point. Provisions are calculated traditionally in on prem SAP PY system incorporating an integrated TM and PY module using the function QLVPR, which is used in subschema QLVP:
In the payroll log, you would be looking for:
What the system does is, it calculates the provisions amount based on various config maintained in the EC Payroll system. In essence, you would be maintaining interest rates, escalation rates and probability. The calculation is based on the entitlement hours and hourly rate with some escalations, probability and interest rates built in. In traditional SAP HR on prem system the accrual and entitlement hours are supplied by the B2 cluster table. But in EC Payroll there are no time cluster tables really (they are there and can be used as well but that's a topic for another day). EC Payroll instead expects the hours to be interfaced ( replicated) to Time Infotype 2010. The calculations would take place on the basis of the hours supplied into IT2010.
Lets look at the configuration on how to achieve this.
To replicate the accrual hours into payroll, you need to create a snapshot of time data. A snapshot is frozen in time, as of a specific date, entitlement and accrual hours. So technically, if you are running the pay on 15th of the month for the monthly pay, you will "project" and "take a snapshot" of Time Account balances as of the last day of the month (28/29, 30/31 whatever the lucky month).
This is what the snapshot for an employee looks like and a snapshot is created for every single employee:
You create a snapshot using Time Off Calendar:
Typically, the start date would be the start date of the month but do take it right up to end of the month. Notice how the snapshot is created per Time Account Type. Provisioning are required for a month (as FI accounting periods are monthly) and hence the calculations must project to the end of the month. In Series 5, I will show how this can be automated.
A snapshot can be verified under manage data:
To replicate this into EC Payroll, you will need a Data Replication configuration object:
On running the snapshot this will create a Data Replication Proxy, if a replication configuration exists:
Again one proxy per user is created whose snapshot has been created. A status of Sync Confirmed means it has been replicated into ECP and Out of sync means it is yet to be replicated.
Once again, to replicate the snapshot into IT2010 you will need a wagetype and that wage type has to be mapped to the Time Account Type external code. These WTs will have to be permissioned in T512Z appropriately to be entered in 2010.
This mapping is carried out using table - T77SFEC_CVMAPC
Check the screenshot of IT2010 along with the mapping entry. See how are how the entitlement hours are being received into WT 9578. There is no Accrual hours ( as the leave type is entitled as accrued) but when we take a look at LSL we will see Accrual hours in action as well.
In the view V_HRSFEC_T5QLM we map back the wagetypes to quota types. This also tell us that Time Account Type external codes can be different to Quota types as long as we get the mapping and reverse mapping right.
The actual replication between ECP and EC is carried out using transaction HRSFEC_PTP_ABSE_REPL. While testing this, it does not hurt to inspect the JSON
The output, if you chose, JSON would be:
And the IT2010 would look like this. The hours are multiplied by 1000.
Lets cast our eyes back to the Data Replication object. Notice how the object changes to Sync confirmed:
Run the pay and notice the following:
We replicated for the month of June and the new calcs are based on May + snapshot hours for June.
There is a second part to this as well. The actual replication of the leave into IT2001 and any valuation thereof. If the external code of time type is different to the actual absence type in ECP then you will have to maintain this in T77SFEC_CVMAPC but if its same, then it is not really required. Running the absence replication would get you the entry into PA2001.
An approved absence in EC
Corresponding entry in ECP
In case you are interested in linking tables, this would be it.
The key on this table would match the key on employee time object
The RAB function in Payroll schema would do the rest for you.
You can valuate the way you want it. As an example with a valuation basis, we remunerate the same and manifest that in payslip. In addition to that report it to ATO via the proper evaluation class configuration.
Hope this helps. In part 2, we will see the configuration of LSL and introduce the concept of deductions from Time Accounts based on some calculations. LSL will also throw up accruals as opposed to just entitlements due to the nature of the account type.
Happy Time off times!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
13 | |
4 | |
3 | |
3 | |
3 | |
2 | |
2 | |
1 | |
1 | |
1 |