Handling different accrual recalculation scenarios on Leave of Absence in Employee Central
As a Time Off consultant, it is imperative to understand different nuances of handling recalculation in Employee Central Time Off. You could come across different recalculation requirements simple or complex, but Should be aware of how to best make use of the Time off Framework. I am going to discuss one such case here which differs from the traditional or standard recalculation
From a customer standpoint, you will definitely come across a requirement where there is a need to recalculate accruals when an employee goes on a leave of absence (or LOA) like Maternity, Paternity, Sabbatical, etc.
Again there are two flavors to it
- The accruals should be recalculated or reduced by the number of days he/she is on leave of absence i.e the employee is not eligible for accruals during LOA and we need to factor in only eligible days. This is pretty standard and can be achieved in two ways using the time eligibility framework. We will see an example
- The accruals should be recalculated or reduced by the number of months he is eligible. Only full LOA months should be taken into consideration when recalculating accruals. This becomes a bit tricky. Since it is not the days which we need to count where an employee is on LOA, but full months and the matter can get complex when an employee is on LOA more than once in an accrual year
Let’s take an example to compare 1) and 2)
Say a Regular Accrual = 25 days (full-time employee) Then let’s say employee takes parental leave or LOA from the 15th of October until the 31st of December.
That means at least as a standard If I take the days from Jan 1st until including the 14th of October, I have 287 days So calculation will be
(287 / 365) *25 = 19,65 rounded = 20 (Case 1)
But October needs to be fully considered (only full months with LOA count)
That means I should have 304 days from Jan 1st until the 31st of October.
(304 / 365) * 25 = 20,82 rounded = 21 (Case 2)
I hope you got the difference between the two recalculation requirements. And I will explain to you how to tackle both the scenarios. Most of you already might know how to handle case 1)
But to make the blog complete I think it is better to explain both the scenarios or requirements to help you understand and compare different variants. The second case is valid, especially in European countries.
A common configuration for both cases is below
- Make the LOA time type as relevant for recalculation
- Mark the time account for Vacation/Personal Leave which needs to be recalculated with Following Config i.e Absence change is present as recalculation relevant field
Case 1) The accruals should be recalculated or reduced by the number of days
Pretty standard case. You could use a custom job info field to store the accrual amount. Ex: Say an accrual depends on Seniority or FTE, the accrual value should change as and when an employee changes FTE mid of the accrual year.
An onSave rule can be written to store the accrual amount * FTE in the custom field.
The average job info rule function then averages out the accrual for the year. The advantage of using this function that we have a parameter called “Consider eligibility” which automatically takes eligible days into consideration
Considering the above example of an employee taking parental leave from 15th of October until the 31st of December, the accruals are automatically recalculated as
Number of days between Jan1 to Oct 14 : (287 / 365) *25 = 19,65 rounded = 20
The config to achieve this would be to use the Corresponding time account for vacation/leave with Eligibility as ‘No’ in Time Configuration as shown
If the employee status in job info changes to Unpaid when LOA is requested, the time account eligibility of the Time account is set to “No” and accruals are recalculated using the “Calculate Average Value of Numeric Job Info field”.
Make sure to mark Eligibility change as recalculation relevant field in time account type config
You can also achieve the above scenario by simply multiplying the accrual amount of a year by the number of eligible days as shown below
But the Rule function to calculate average value already takes eligibility into consideration. Its a choice you can make depending on the complexity of the accrual recalculation requirement
Case 2) The accruals should be recalculated or reduced by the number of months the employee is eligible. Only full LOA months should be taken into consideration
This gets trickier as now we need to consider full months and not exact eligible days into our calculation. Taking the same example of an employee taking parental leave or LOA from 15th of October until the 31st of December,
Even though in theory the employee is not eligible from 15th October to Dec 31st, Some customers want only full months to be taken into the calculation of eligibility. This means he is still eligible for the period from 15th October till 31st Oct even though he is on LOA. We need to take non eligible days only from period Nov 1st till Dec 31st. Interesting and complex isn’t it? Well read through for a simple solution below
In this case, do not set any eligibility flag in Time Off Configuration (TLM_Configuration). Because this directly counts the non-eligible days as Oct 15th to Dec 31st which we want to avoid, Else it can lead to incorrect Accrual recalculation
Use the function “Get Completed Months of Time Types in Period” to get Full months where the employee is on LOA as shown below
There are two variables:
The first variable gets the Number of completed LOA months in the accrual period. In theory, this is 2 months now (Nov and Dec) and not 78 days from Oct 15th to Dec 31st (standard case)
The second which averages the Accrual from a custom field in Job Info for the entire accrual year. This is similar to case 1) where accrual amount can vary on FTE change in a calendar year
Third Calculation takes the average accrual and Multiplies it with Number of eligible months Divided by 12 months (for a calendar year)
The below are Test results:
The employee is 1 FTE and has accrual eligibility of 25 days
Leave of Absence applied from Oct 15 to Dec 31
Accruals are recalculated correctly as 20.83 (approx 21) when LOA is entered (based on full completed months only)
This matches our calculation in the sample example provided in the overview
In the consulting world, you will surely come across various recalculation requirements and some may be crazy like Case 2). Hope this blog helps to cater to any such requirement
Any feedback is welcome.
Senior Product Specialist
Best Practices for SuccessFactors
Thanks for sharing these knowledge snippets Neelesh ! You always come up with some blog which is really useful for customers.
Thanks Swathi for your feedback
Hi Neelesh Kamath bro, thanks for sharing this. i have one doubt. please clarify the same.
if an employee joining date is 1st of 2019,, for 2020 he gets full 25 days leave due to accrual rule for TAT.
If employee goes on LOA for 15th october, they update the one of the re-calculation fields , which means the same accrual rule will run auto and update the new number or how bro? can you please explain that please.
Yes you are right. The employee initially gets 25 days or accrual. Say you enter an LOA in that accrual period or year, there are two things which trigger recal on LOA creation. 1. LOA time type should be marked as "Full accrual relevance" and 2. In recalculation fields of your TAT, you should maintain abscence change as a field. The same accrual rule will be called and recalculation will take place based on your logic
Thank you very much for this wonderful blog Neelesh.
Just want to know :-
Accrual creation based on Time sheet approval is possible i?
worker is entitled to one day of earned leave for every 20 days of service.
, Thanks for the feedback. Yes, accrual creation via timesheet is possible. I had writtern a similar blog to move data from time sheet to time off. https://blogs.sap.com/2019/09/03/time-off-in-lieu-or-compensation-leave-in-days-instead-of-hours/ . But please note, this does not wait until time sheet is approved.
Alternatively, in your monthly accrual (which you can schedule to run at end of the every month), you can check using rule functions "number of absences " Working days = number of days in a month- number of non working days - number of holidays - number of absences
Thanks neelesh for your valuable feedback.
Hello Neelesh Kamath
Total Time Accrual amount
Thanks for sharing so many articles regarding time off.
So, my question is, is there any way to change the amount showing in the tile on the top of Time Account type?
On the amount showed in Time account, in days it appears 1,01 day. How can I change it to show only a number 1 or number 2 (instead of 2,55 eg).
Hi Leandro Barradas de Britto Thanks for your feedback. As per my knowledge, this cannot be customised as the Time off product handles this directly in UI via code base. All you can do is to control your rounding logic in your accrual rule
I do not see the recalculation field Absence Change in TAT. How do i add it? Also, when i try to change the Absence recalculation relevance to full, it throws an error saying "Full accrual recalculation relevance is only allowed if recalculation is active". not sure how to fix these 2 issues. Can you help
first of all thanks for your inputs here - really helpful.
I'm just trying to use your second option “Get Completed Months of Time Types in Period” --> Im just asking myself where to put the condition. In the accrual rules of the LoA Time Account Type or directly in the Time Account Type I want to recalcuclate --> eg. Vacation? When I add it to the rules within the Vacation Time Account Type (having included Absence Change as Recalc relevant) and I add the LoA > 1 complete month nothing gets recalculated.
Or do I have to include that on the LoA Time Account Type in order to trigger the recalculation?
Thanks for your help!
Ok i forgot to set the LoA Time Type to "Relevance for Recalc = Full" --> now it works while I have incorporated the condition within the accrual rules of Vacation Time Account Type! Thats actually pretty nice!
Great good to know it worked for you
Hi Neelesh, your articles are always interesting to read and implement as always. I see your first calculation for "Amount" on your rules, and I wonder, how come you use the Accrual Period Start-End Date and not the Absence Start-End Dates? Also, since the second variable has the "Eligibility" set to yes, isn't that counting the full eligible days instead?
This is a case of annual accrual. Hence I need to recalculate the whole accrual posted say in Jan . Hence we need to average out the accruals for the whole accrual period. You can check examples of how to use the average function in the time management implementation guide.
Eligibility yes means it considers all eligible days in the accrual period..Say an employee is on LOA (Unpaid Leave) for 60 days then Eligibility will be only 305 days out of 365 days and accrual would be prorated as per the eligibility period for the whole accrual period which is 365 days