As implementation consultants, most of the time we receive complex accrual scenarios from customers, and with the inclusion of recalculation concept, they become much more complicated. In this article, I will be sharing my version of the time off recalculation concept with details.
Scenario
In some countries, employees' annual leave accruals are based on age, seniority, social status, disability level, etc. It is possible to create suitable accrual rules, however, they do not satisfy the need of accrual recalculations. In the below scenario, we will be using a new field within the job information element for capturing this recalculation, and we will be updating this field multiple times to prorate the accrual amounts.
Also in these countries, the validity start date of these accruals generally start at hiring date and ends after 365 days are fulfilled. In most of the examples you see, the start date of the time account is the beginning of the year, and account end date is the year end. In this scenario, I followed a time account recurring at the hire date of the employee which is between year start and end date.
Step 1: Time Management Configuration
Manage data > Time management configuration
This is already mentioned within the other blogs, but as a summary, we need to create this object with the external code specified in the screenshot.
Step 2: Job Info Additional Field
Manage business configuration > jobInfo
We are going to create a numeric field within jobInfo element.
Note: Keep in mind that you can use off cycle event batch for auto filling this field in employee profile based on your accrual rules. This will not be covered within this blog.
Step 3: Time Account Type
Manage data > Time account type
Please note that the additional field we created, which is accrual (custom-double1) is added within the recalculation fields.
Step 4: Time Account Accrual Rule
Manage data > Time account type
We need to deep dive into the accrual business rule, but it will be much easier for us to wait until the further part of this article to see a real example. As a summary, we will be getting the average value of our newly created custom field within job information element within the period of validity.
Now, it's time to go over an example to see the details. The employee we will be testing has a time account assignment as below. 17.03.2023 is the anniversary of the hire date of this employee, and 14 days are created initially. This accrual information is coming from the field that we created within job information element (custom-double1).
System Generated Accrual via Calendar
Start Date | End Date | Difference in Days | Accrual (custom-double1) |
17.03.2023 | 16.03.2024 | 365 | 14 |
Amount Posted | 14 / 365 x 365 | 14 |
First Recalculation
Now, let's add our first recalculation scenario. We are adding job information for this employee on 10.10.2023, and changing the accrual amount from 14 to 20. The system should separate this accrual recalculation into two parts during business rule is triggered. Here is the recalculated accrual.
Start Date | End Date | Difference in Days | Accrual (custom-double1) |
17.03.2023 | 09.10.2023 | 207 | 14 |
10.10.2023 | 16.03.2024 | 158 | 20 |
Amount Posted | ( 14 / 365 x 207 ) + ( 20 / 365 x 158 ) | 16.6 |
Second Recalculation
Want more? Let's add the second and final recalculation scenario. We are adding job information for this employee on 01.11.2023, and changing the accrual amount from 20 to 24. Now, it should be separated into three parts.
Start Date | End Date | Difference in Days | Accrual (custom-double1) |
17.03.2023 | 09.10.2023 | 207 | 14 |
10.10.2023 | 31.10.2023 | 22 | 20 |
01.11.2023 | 16.03.2024 | 136 | 24 |
Amount Posted | ( 14 / 365 x 207 ) + ( 20 / 365 x 22) + ( 24 / 365 x 136 ) | 18.1 |
As I stated earlier, I wanted to give you an example with detailed calculations. With the combination of other features, the recalculation approach shared above helped us a lot during our implementations. Please also check the other blogs related to this topic, as there are various examples you can find very useful.
Please feel free to give feedback or comment.
Best,
Altug
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
23 | |
6 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |