Human Capital Management Blogs by SAP
Get insider info on SAP SuccessFactors HCM suite for core HR and payroll, time and attendance, talent management, employee experience management, and more in this SAP blog.
cancel
Showing results for 
Search instead for 
Did you mean: 
PriyankaAgarwal
Product and Topic Expert
Product and Topic Expert
9,537
Hello EC Time Community,

Finally, the wait is over! I am excited to share that with H2 2021 release, we are delivering one of the most awaited and highest voted features in the customer community which is allowing concurrent absences in SuccessFactors Employee Central Time Off. Concurrent absences are nothing but absences that either partially or full overlap with one another. This wasn’t supported so far as we allowed "Split and Delimit" instead of allowing absences to overlap. For example, when a sick leave was recorded during the vacation, then the vacation record was split and delimited such that the resulting absences had no overlaps. And in case,the vacation fully overlapped with sickness, it was completely cancelled. This wasn't desired in many countries and therefore the need to have concurrent absences.

This feature is on Early Adoption with H2 2021 release only in few countries(Netherlands, UK and Spain).

Update: Since H1 2022, the feature is generally available for all countries.

Before implementing for other countries, please check the impact on the end-to-end processes and if it can be met with concurrent absences solution.

Background:


It was a fun-filled journey conceptualizing and designing the new solution for concurrent absences and at the same time challenging as it wasn't easy to open up the system for something completely different. It was like a complete paradigm shift to allow multiple absences on same day which means there can be more absence hours than the planned hours in a day. What does this mean? This can have a huge impact on things like absence recalculation, UI behaviour, the business rules, payroll integration, time valuation, the localization aspects and many more. Nevertheless, due to country and legal regulations this was required by several countries. Therefore, we listened to our customers and enhanced the EC Time solution to allow implementation partners/consultants to configure the system for concurrent absences. Of course, due to different country constellations, implementation experts need to ensure that all the other downstream processes like payroll, time valuation and reporting are implemented as per the countries' or customer’s needs.

Thanks to the Time Engineering team for solving this riddle and working on a solution for concurrent absences.

I hope you’ll love implementing this solution with your creativity and applying the flexibility which the EC Time solution provides 🙂

Introduction:


Concurrent absences in Employee Central Time Off has been a legal requirement in many European countries like: The Netherlands, United Kingdom, Spain, Belgium, France, Czech Republic and even in the United States and Canada.

Let’s look at some of the use cases from various countries:

  • Netherlands: Any Illness shall be reported to the employer within 24 hours with an undetermined end date(high date i.e 31.12.9999) and any existing absences overlapping with the Illness shall not be cancelled but should remain active and should also be replicated to Payroll. There's also a reintegration process offered by employers to help employees recover better by allowing reduced work capacity during Illness and allowing vacation to be recorded during long-term illnesses.

  • United Kingdom: An employee ca­­­n adopt another child while already in adoption leave. During the overlapping period, employee receives two lots of entitlement which results in double payment during the overlapping period as per the statutory payment rules. In addition, sick leave is recorded as open-ended absence in UK and any existing future overlapping absence should not be cancelled when sick leave is recorded.

  • Spain: It is legally required that an Illness is always recorded with undetermined end date and any existing future leaves should not be cancelled but remain active and replicated to payroll.

  • United States:  In US, an employee can request accrued vacation time while they are out on leave of absence (LOA) such that they are not on an unpaid absence for the whole duration of LOA and can get paid for the accrued vacation during their leave of absence.

  • Belgium: In case of Belgium, it depends on the start date of the Illness if it should be concurrent or not. For example: If employee falls ill during an ongoing vacation, then it is recorded as concurrent absence to the vacation. However, if the Illness starts before the vacation, then the vacation should be cancelled manually.


As you’ve seen that there are variety of use cases from different countries and each with a different flavour.

Here's a sneak preview on the creation of concurrent absence from the UI:


 

In this blog, I will describe step-by-step­ procedure on:

  • how to configure concurrent absences

  • how to implement the feature for different country use cases with the power of absence validation rules/take rules

  • how to cover the requirement of recording absences with different units on the same day

  • how to use alerts & notifications

  • the payroll and time sheet aspects


The blog might get a bit long as it explains how different country use cases can be realized. You can only read the sections/country scenarios relevant for you :).

How to Configure:


We leveraged our existing configuration for Collision Resolutions and enhanced that to also allow the concurrent absences configuration. Here, I’ll take an example where a sickness is recorded with an “undetermined end date” as this is the most common use case in Spain and in UK.

Let’s have a look on how we can configure with easy steps:

Step 1: Check if you have the new field "Collision Resolution Action" under Time Management Collision Resolution->Time Management Collision Resolution Item object in Manage Data. It is defaulted to "Split and Delimit" for all existing configuration entries.


Step 2: Create Time Type Collision Grouping for the country for which concurrent absences shall be configured.

The incoming collision grouping should have the “Country/Region” field assigned. I have selected “UK” in my example.


Step 3: Configure your time types with Collision Grouping

You can reuse your existing time types. Collision Grouping can be assigned to your existing time types. Country specific time types are needed for the incoming grouping.

In my example, I have a Time Type “Sickness_UK” which is allowed for “Undetermined End Date”.


If the country of time type mismatches with the country of Time Type Collision Grouping, you get an error:


This is the Annual Leave time type which is part of the existing collision grouping:


Step 4: Configure the Time Management Collision Resolution with Incoming and existing time type groupings that should allow concurrent absences.

Go to Manage Data and select “Time Management Collision Resolution” object.

Note: All the existing configuration under Time Management Collision Resolution will be defaulted to “Split and Delimit”. So, you don’t need to worry about your existing configuration if you have any. It will all be migrated to “Split and Delimit”.


The time types in the Incoming Grouping “Sickness_UK” are allowed to overlap with time types in the Existing Grouping “All_Others_UK”.



I have also configured that time types under the incoming grouping “All_Others_UK” can be created as a concurrent absence to existing grouping “Sickness_UK”.


Now that the system is configured, let’s test some of the use cases from countries.

Use cases from United Kingdom and Spain:


I’ll use the term “Closed” and “Open-ended absence” for describing the UK examples.

Closed absence is nothing but an absence with a definite end date whereas Open-ended absence is an absence with no end date i.e., high date/undetermined end date(31.12.9999).

Case 1: System should not allow closed absences (of the same or different types to overlap).

Example: There is a single day “Unpaid leave” for a future date (December 14th). Employee subsequently requests a longer period (December 13th to December 17th) of “Annual leave” that spans the period of unpaid leave. The system doesn’t allow the annual leave to be created as shown below.


Case 2: System should allow absences that are open-ended to be submitted and overlap with future dated closed absences.

Example: There are existing future absences in the system. Employee falls sick and creates an open-ended illness in the system.

System allows creation of concurrent absences with warning messages as shown:


This is how the concurrent absences are displayed on the calendar control in Time Off UI.


And, this is how it's displayed on the Team Absence Calendar. It much nicer with the timeline view 🙂 You can easily visualize the sickness running parallel to other absences.


Case 3: System should raise error where an open-ended absence has an end date submitted which results in the absence being closed and therefore should not overlap with other closed absences.

Example: The manager adds an end date to an open-ended sick absence and the system shows an error message to inform the manager that the absence is overlapping and cannot be submitted. The manager cancels the untaken period of annual leave and then submits the end date for the sick absence which is allowed.


After cancellation of overlapping absences, Manager can shorten/close the open-ended Sickness absence.



The above scenario can be realized with the flexibility of the take rules 🙂 You can use the Has Absences in Period() rule function to check if there are any existing absences which are overlapping with the Sickness which is being shortened. If so, then raise an appropriate error message.

Attach this take rule to the Sickness time type.


Case 4: System should allow a closed sick absence (with an end date) to be changed to open-ended and for this to stay concurrent with other future-dated closed absences.

Example: An employee returns from sick leave but realises that they are not well enough to return and informs the manager. The manager therefore having closed the sick absence needs to revert this to an open-ended sick absence as the employee remains off work.


Case 5: System should allow closed absences to be entered as overlapping with an open-ended absence in the system.

Example: An employee is ill, and there exists an open-ended sick absence in the system. The employee remains off sick but needs to record a future dated annual leave.


 

Case 6: System should not allow two or more open ended absences (of the same or different types) to co-exist in the system.

Example: There is already an open-ended sick leave recorded by the Manager of Employee. Employee tries to record another open-ended sick leave with the same start date.

Two concurrent “Undetermined end date” absences are not allowed, and system raises an error.


Case 7: System should allow the editing of future-dated closed absences where there is an open-ended absence in the system.

Example: An employee has maternity leave recorded in the system for a future date.  The employee becomes ill, and the manager opens an open-ended sick absence, the employee remains off sick but there are changes required to the future dated maternity record (a change to the maternity start date) which is entered by HR administrators supporting the maternity case.


Employee can edit this Maternity leave start date to Feb 1st, 2022 when there are concurrent absences in the system.


 

Use case from Netherlands:


In the Netherlands as well, Illness is entered with “Undetermined End Date” like in the UK. Hence, all the above use cases are also valid for the Netherlands. Besides that, we also offer entering Work Capacity Percentage to help employees recover better during their Illness. This is because they allow the employees to work during the illness with some percentage which can increase over time during their Illness.

In Employee Central Payroll, this process was handled in the Netherlands payroll with the use of field “Work Capacity Percentage” in IT2001(Absences).

Details of Sick leave in Employee Central Payroll (IT2001).

The work capacity percentage 0 means that the employee is fully Ill and not working during their Illness but if the work capacity percentage is 50, then employee works 50% and is 50% ill. Employees can utilize 50% of their accrued vacation with a work capacity of 50%, in case they record single day leaves. And in case of multiple days leave, 100% of their accrued vacation must be utilized. Therefore, a vacation can be created as concurrent to Illness in Netherlands. In On-Premise Payroll or Employee Central Payroll, the work capacity was part of Infotype 2001 as shown below:


We’ve added a similar field called “Available Work Capacity %” in Employee Central Time Off. This field then also gets replicated to IT2001 with the Netherlands country specific replication.

Here is how it looks in the Employee Central Time Off. This field can only be entered by Admins as it is a country-specific field. The “Available Work Capacity %” field can be entered as a number between 0 to 99.99. The field is visible only for Absence class “Sickness” on the Time workbench Admin UI.


This is how the time type for Netherlands is configured for the showing the field “Available Work Capacity %” on the Admin UI.


Remember to activate the Time Type NLD extension object which is delivered as inactive. Select "Include Inactives" = "Yes" and then you can set the field Status to "Active".


 

You can also add validation rules depending on whether the employee is exempt for reintegration or not. Most companies offer the reintegration exempt for all employees which means they can utilize the full vacation hours upto the planned hours.So, the validation is not needed in most cases.

Let's take an example where a validation check might be useful:

When an employee is on a long-term illness with undetermined end date:

  • If reintegration exempt is ON

    • full vacation hours upto the planned hours can be utilized



  • If reintegration exempt is OFF

    • vacation hours as per the work capacity percentage should be utilized.




Let's check how you can realize this use case with the use of custom field in job info and take rules.

Step1: Add a custom field called "Reintegration exempt" in the Job Info of the employee.


Step 2: Add a take rule to the vacation time type for Netherlands


On requesting a vacation which is more than the allowed work capacity and when the reintegration exempt flag is set to No, you get a validation error as shown:


 

Belgium use cases:


Now let’s check some Belgium use cases and how to implement them using take rules again :).

As you cannot configure the system for both Split and Delimit and Allow Concurrent Records for the same set of time types. Let’s look at how we can implement the Belgium use cases with concurrent absences configuration and take rules.

Scenario 1: Employee gets ill during an ongoing vacation. In this case, the Illness should be recorded as concurrent to the vacation such that the guaranteed wages for 30 days of continuous illness can be calculated correctly.

Example: Employee has a vacation starting from 1st Nov, 2021 until 12th Nov, 2021. However unfortunately employee falls ill on 5th Nov, 2021. Both these absences should be allowed to be created as concurrent absences.


 


Scenario 2: Employee has illness that starts before his planned holiday. In this case, when illness is entered the vacation needs to be manually cancelled in the system.

Example: Employee has a vacation starting from 1st Dec 2021 until 10th Dec 2021.


Employee falls ill on Nov 25th, 2021 before the vacation starts. In this case when illness is entered, there should be an error asking to remove the vacation and overlap should not be allowed. So, in this scenario we only have an illness in the system. This scenario can be realized with take rules again 🙂

A validation error is appropriately raised coming from the take rule as in the below screenshot.The warning message is coming from the system because you are creating a concurrent absence. It's not possible to hide this warning message.


The take rule is quite simple and you can adapt it as per your needs. You need to attach this take rule to the sick leave time type.



Use case from United States:


In the United States, it’s possible that if an Employee is on an unpaid Leave of Absence (LOA), they can request leave from their accrued paid vacation so that they don’t remain unpaid for the whole duration of LOA. This paid vacation is also replicated to Employee Central Payroll so they can be paid during Leave of Absence.

You can configure that all other paid absences can be concurrent to the LOA absence.


There is an existing Leave of Absence from Jan 1st, 2022 to Feb 28th, 2022.


Employee now requests 1 month of paid vacation from Jan 1st, 2022 to Jan 31st, 2022. As you can see in the below screenshot, it is now possible to request such a vacation as a concurrent absence to LOA.


However, it is not allowed to create two concurrent LOA absences. The system raises an error if you try to create concurrent LOA absences.


Allowing concurrent LOAs is a strictly prohibited by the system. You’ll get a specific error message even though you’ve configured LOA to be created as concurrent to another LOA as below:


With this configuration, you’ll get an error that there is another concurrent LOA absence in the same period.



Recording with two different units on same day:


Previously, it wasn’t allowed to record absences with different units on the same day for a duration-based user. Now, with concurrent absences configuration you can do so. Yes! you heard it right! 🙂 Let’s see how you can configure it with the concurrent absences feature.

Example: Employee wants to request a “Vacation” (in unit “days”) in the second half of the day whereas “Training” (in unit “hours”) during the first half of the day.

You need to configure the following under Time Management Collision Resolution:


Add a collision rule allowing Vacation(in days) to be created as a concurrent absence to Training(in hours)


Also configure vice-versa where Training (in hours) is allowed to be created a concurrent absence to Vacation(in days). This is required because otherwise you can't edit/create "Training" when "Vacation" already exists.


It’s now possible to record these two absences on same day with different units.



But there is a catch here. It’s also possible to record 8 hours of training and 1 day of vacation on same day which I guess you wouldn’t want. That’s because with concurrent absences, you can record more hours than the planned hours for a day. So, to avoid this problem, we can create a take rule such that the user is not allowed to enter more than the planned hours for a day.


Half day training already exists. User shouldn’t be allowed to enter a full day vacation.



Unfortunately, the warning cannot be suppressed because that is coming due to the concurrent absences’ configuration.

Similarly, if I request a 6 hour training when there’s already a 0.5 day vacation on September 28th, I get an error from the take rule. So, the take rule should be attached to both the time types.



Alerts and Notifications:


Having looked at some of the use cases from countries, now let me explain how you can create Alerts for Managers/Admins if there are concurrent absences in the system. Alerts are useful when the Manager needs to take certain actions due to concurrent absences in the system. For example, they need to cancel the overlapping vacation when the sick leave has ended.

First, you need to create a post-save rule on the Employee Time Object Definition.

The rule checks for any overlapping absences to the absence which is being created and triggers an alert. This is how the rule looks like:


Secondly, you need to create the Alert Message you want to display for the Manager.



That’s all! Let’s test it out.

Employee Requests a sick leave with an “Undetermined End Date” when there are future vacations in the system.


An Alert is sent to the manager under the To-Do items as well as an email notification.




Time Sheet and Time Valuation:


I would also like to touch upon the Time Sheet and how you can valuate the absences in the time sheet. Normally, you wouldn’t want to send more absence hours than the planned hours to payroll. So, you can either disregard absence hours for one time type or cap the absence hours to the planned hours.

In this example, I have 24 hours of vacation and 40 hours of Illness recorded during the time sheet week. Both these absences are concurrent and there are more absence hours than planned hours for the week.


Let’s check how the excess absence hours can be capped to planned hours. This is simple. You can use “Aggregate Input Groups and Split” valuation type and compare with threshold group “Planned working time”.


The resulting time type group below will have the capped planned hours and can be set as a time pay type.


Next, if you want to disregard the excess hours from one time type and send only a total of planned hours to payroll.

Here, I have used the Time valuation type Deduct Group from Input Groups. I deduct the vacation hours from Illness hours using this time valuation rule.So, this will remove the excess illness hours and only 40-24=16 hours would be sent to payroll.


This is how you can set the deduction group to deduct vacation from illness.


The result is then calculated as a paid absence type and sent to payroll only if the difference is above 0. This is done using the valuation type “Compare Threshold with Comparison Group to Route Input”.


So, a total of 40 absence hours are sent to payroll. 24 hours vacation and 16 hours illness as seen.


Again, based on your needs you can tweak the time valuation rules and calculate exactly what you want to send to payroll.

Replication to Employee Central Payroll:


Last but not the least and worth mentioning :). Concurrent absences are automatically replicated to Employee Central Payroll with the standard absence replication scenario. You just need to ensure that the collision reaction to overlapping absences are setup correctly in your payroll system.

For IT2001, you need to maintain the IMG configuration->Specify System Reaction to Overlapping Time Infotypes. Maintain the Reaction Indicator as “N”. The rest of the configuration remains same as before.



Absences in Employee Central Time Off:


Resulting Absences in Employee Central Payroll after replication:



Conclusion:


As you’ve seen, there can be different use cases for allowing concurrent absences and this can be achieved in multiple creative ways. This blog describes only some country scenarios and how they can be implemented. You’ll also need to check how the end-to-end integration to Payroll works for the country you are going to implement this feature.

There could be cases where the get absence in hours/days rule functions return more hours than the planned hours for a day if there are concurrent absences in the period. In most cases, you don’t need to configure your rules in a way that it can return duplicate hours for a day, but if you have the need, please write in the comments.

Please check the Time Off Implementation guide for more details on the feature. The country specifics are also documented in the implementation guide especially for the Netherlands with the use of the work capacity field.

I believe addition of this feature will make lot of customers happy who so far have not been able to implement EC Time Off/integrate with their existing payroll solution due to this gap.

Hope you enjoyed reading about Concurrent Absences and will have fun implementing this feature in your EC Time journey:)

Do write in your comments and feedback about the feature.

Thank you and see you again!
17 Comments