Automatic Absence Creation for Late coming/Early leaving in SuccessFactors Time Tracking
In various industries and organizations, it is usually a common practice to track the employee attendance through clock times. A requirement that comes up with having clock times as part of attendance tracking is to check if an employee has come to the site/factory at a time that is later than the acceptable clock in time. Sometimes this time may be 30 minutes after the planned start time (tolerance time) and sometimes there is no tolerance but a late comer may be spared from reprimand by allowing the occurrence in a particular time period say, one month, to not recur more than 3 times.
Sometimes, there are also cases when an employee clocks into the site/factory at the correct start time but clocks out earlier. In this case as well, companies may have their policy set such that a tolerance to an early clock out is built into their business process.
In either scenario, late comers, or early leavers, may face certain disciplinary actions such as an unpaid leave put into the system to log those hours that the employee was a late comer/early leaver.
- If an employee is coming late to the site or leaves early from the site, the difference between the planned start time and actual start time should be considered as unpaid leave (absence from work)
- The time administrator should not need to manually check the clock times and ascertain if there are any deviations in the recorded working time vis a vis the planned (scheduled) working time.
- Instead, the system should be intelligent enough to identify and bring the slices of recorded times into unpaid leave records
- Lastly, the requirement is to enable the system to make this assessment and when a late coming or early leaving is detected, the system must make an automatic absence record for that day for the employee with the duration of the late coming or early leaving slice.
Simple Time Tracking Scenario for Late Coming or Early Leaving
In this blog, I have tried to build a simple variant of this requirement that considers only the following scenarios.
Conscious that the scenarios like clocking in and out before the planned working time and then clocking back in after 30 minutes of the planned start time should not be registered as a late coming; however, this scenario is not part of this blog and neither are those several other scenarios that are possible with/without tolerances and day types where there are no planned hours/no recorded working times at all. In the real-life build, these scenarios will also need to be built in and robustly tested to ensure the various conditions are met before roll out of the solution.
Process steps for the scenario handled in this blog
Technical Solution Steps to achieve the above client business requirement
Step 1: Create a Time Recording Profile:
In Manage Data – create a time recording profile with positive time recording method and a time recording variant of clock times
Step 2: Create time type groups for planned working time, recorded working time and to hold the difference between the planned and recorded working times
Step 2.1: Create time type group for planned working time
Step 2.2: Create time type group for recorded working time
Step 2.3: Create time type group to hold the difference between planned and actual working time
Step 3: Create a valuation rule to calculate the difference between the planned and recorded working time for identifying the gaps between the planned and recorded working time of an employee
Step 4: Create a time type group that would be used to identify the gaps within the start of recorded working time and start of the planned working time.
Note: A time collector will be used to store this value for creating an automatic absence through integration center
Step 5: Create a valuation rule that will filter the gaps between the start of the planned working time and the recorded working time.
Step 6: Create a time type group that identifies the gaps in the end time of the planned and recorded working times and collects it for auto creation of an absence through integration center
Step 7: Create a valuation rule that will filter the gaps between the end of the planned working time and the recorded working time.
Step 8: Assign the time valuation(s) to the time recording profile of the employee along with the other rules that may already be assigned to the time recording profile.
Step 9: Assign time recording profile to employee in job information.
Once the time recording profile is assigned to the employee in job information, the time collector value is created after the time sheet entries are made to reflect the scenario of late coming or early leaving.
We will also need a time type to be created for the creation of an absence automatically through integration centre.
Step 10: Create a time type to record the absence from either late coming or early leaving as below and assign to the time profile used for the test employee.
Step 11: Navigate to the integration center and create a new integration report as per the steps described below:
Step 11.1: Click on “My Integrations” to get started.
Step 11.2: Using the “Create” option on the upper right-hand corner, use the option of “More Integration Types”
Step 11.3: As shown below, use the relevant options and click on “Create”
Step 11.4: Give the report a name and a description as required. Once done, click on “Next” in the bottom right corner.
Step 11.5: Choose “Time collector” as the source entity and “Employee Time” as the destination entity.
Step 11.6: In the “Configure Fields” section we will make the mappings and set default values as required for the automatic creation of the absence based on the late coming or early leaving time collector values.
To make these mappings, we will use the mapping mode in the section for field detail view under the operation “Create/Post.” Perform the mapping between the required parameters as below:
|Time Collector||Employee Time|
|User (userId)||User (userId)|
|External Code||External Code|
|Hard code to “APPROVED”|
|Last Posting DateTime||End Date|
|Last Posting DateTime||Start Date|
Step 11.7: In order to obtain the hours for the absence, we need to map the collector value to the fraction quantity of the employee time after division by 60 (to convert from minutes to hours) as below.
In the calculation trace, you can see that the employee is late to the office by 6.5 hours and this is calculated correctly.
Step 11.8: For the time type – we will again hard code the time type in the destination object as below to unpaid leave.
Step 11.9: Set up filter conditions based on the collector criteria
Step 11.10: Set up the scheduling for the report to be run based on client requirements
Step 11.11: Review your integration center report and run
The integration centre is a very powerful tool to use in scenarios where the client requirement specifically needs to be achieved automatically. The automatic creation of absences is not only possible for time tracking related inputs but also for a range of other requirements like COVID related leaves, employer declared wellness absences to be auto created for entire population based on their location for example and several such requirements.
I will be adding more time tracking scenarios as well as enhancing this blog post with other scenarios applicable for late comers/early leavers. Please do leave your comments and provide me insights/scenarios that I can tackle in upcoming “releases” of this blog post.
its really very comprehensive information.
Thanks, glad you found it useful!