
Time Evaluation is needed to process recorded times in a way to calculate overtime premiums, shift premiums, working time account or overtime account balances, to create alerts and warnings if employees have times outside their planned hours, outside the flextime bandwidth, if they record more than 10hours per day and many more reasons. Successfactors Time Evaluation provides you a very flexible way to create time valuation rules to accommodate your company agreements, trade union contracts or even processes that are derived from laws and regulations like the European Directive on working time.
Time Evaluation might be easy – but can also be complex. This depends on the business processes you want to cover. This blog describes the mechanism of the Successfactors Time Evaluation and each time valuation type in more detail in order to give some hints and help you to decide which valuation type to be used in what constellation.
Target readers are time management consultants who want to learn more on the configuration of Successfactors Time Evaluation.
In the latest update of this blog post, we have made some small corrections and added the description of time containers and new valuation types that will greatly enhance your possibilities. Check it out now!
Time Evaluation is a valuation of attendance, break, oncall and absence times by comparing the recorded hours against the company-internal, contractual, and collective agreement provisions.
Time Evaluation runs periodically to calculate overtime, calculate time off in lieu postings and working time accounts (flextime), validate attendance recordings, and calculate wage types (for example, bonuses) for payroll.
Time Valuation - Definition by Example
Usage and Storage of time valuation results
The Time Type Groups on the left hand side are defined by an assignment of time types. These groups are Set-like Groups.
The Time Type Group on the right hand side is calculated by a time valuation.
Time Type Groups – Time Category
The set-like groups are defined by an assignment of time types. You can use absence, break, attendance and on-call and even mix them in a time type group just as you need. You can create different set-like time type groups based on the need of your valuations.
The set-like Groups are the starting point to calculate more complex (calculated) groups.
Time Type Groups – Set-like Groups
The calculated groups are calculated by one single or several time valuations in a time recording profile.
The calculated groups have the time category ‘Calculated Time’ or ‘Counted Events’.
Time Type Groups – Calculated Groups
The calculation method for a specific calculated result group is defined as a valuation rule, which describes how one or two result groups are generated from a set of input groups.
The calculated groups have the time category Calculated Time or Counted Events. The calculated groups having the time category Calculated Time can be Input groups for subsequent time valuations.
Time Valuation
Time valuations can be setup in Manage Data.
Time Valuation - UI
Valuate Per Day
Valuate Up To Today
Valuate Whole Sheet
⚠️Time Tracking subscription necessary
Calculated groups (time categories CALCULATED_TIME) may be marked as isTimeContainer in the time type group definition. At the end of the valuation special database entries (MDF entity Time Container) are created for these time container groups. The attributes of a time container time type group are earliest start time, latest end time and duration. The duration of a time container is the sum of the records, so in contrast to a time record the duration of a time container does not need to match the period between start and end.
These Daily Time Containers can be read via a public oData V2 API, used for reporting, or used for calculations within the Time Valuation for flexible periods.
Set-like time type groups based on daily time containers can be used as input data for asynchronous calculation steps in the time valuation. Time type groups with category Time Container have a defined list of time containers (identified by the former TTG’s external code) instead of having a list of time types and are used as input group, deduction group etc. of time valuations as always.
Available Periods for Time Containers
Time Containers for weeks or months can only be created with following valuation types by the asynchronous part of the Time Valuation.
As the periodic time containers are processed asynchronously, only a warning can be raised during processing. It is not possible to generate an error, as the recordings are already saved when the asynchronous Time Valuation is running.
Valuation Types - Overview
This type of valuation collects all the time records from a set of input groups. At a certain threshold value, the collected records shift from the below group to the above group. The threshold (i.e. when the switch from above to below happens) can be defined per day and per time sheet period.
The threshold can either be a fix value or a reference to a Time Type Group which was calculated before as a result of other time valuations.
Possible use case: Which working time is up to 8 hours a day (= regular time) and which is above 8 hours a day (= overtime)?
Aggregate Input Groups and Split
Aggregate Input Groups and Split - How it works
The filter used in this valuation is a type of day filter. All the time records from the input groups passing the day filter with all attributes are collected in the below group. Time records not fulfilling at least one filter attribute are put to the above group.
This valuation type supports using a Time Segment Filter as well.
Possible use case: Which working time is on full holidays, non-working days, Sundays, at night shifts, …?
Filter Input Groups - How it works
Time Records Filter - Overview
The segmentation uses a special time segment filter which is a list of time segments. Time segments are a clocktime intervall. The valuation moves the parts of the input time records to the below group that overlaps with one of the time segments. The parts not overlapping are put in the above group.
This means that input records can be split in parts overlapping a time segment and a part not overlapping any time segment.
This valuation type can only be used for time recording variant clock-time.
Possible use case: Which working time is after 20:00 and needs to be considered for premium calculation? (Segment Filter: 20:00 – 6:00)
Filter Segments from Input Groups - How it works
Excurs on cross midnight processing
All data of a shift day is processed in the shift day, even if it can be on a different physical day. All time valuations are processed on the shift day as well.
For several night shift requirements it's necessary to process data from the next physical day. For instance a night shift can end on a public holiday and special premiums for the part of the night shift on the public holiday has to be paid.
Because the complete night shift is processed on the shift day (the day on which the shift started) we introduced a next day indicator in the time segment filter. We also enhanced the time records filter so that it can be checked if the next physical day is a public holiday.
Time Segment Filter - Next Day Indicator
Time Records Filter - Public Holidays
The Valuation Type “Deduct Group from Input Groups” is an enhancement of “Filter Segments from Input Groups”
Which is the (net) working time without breaks?
Deduct Group from Input Groups - Example
This valuation type compares all time records from a set of input groups to the specified threshold value per day or per time sheet period. The purpose is to calculate the difference "input minus threshold" and put this result into the above group.
If the threshold is reached, the time records above the threshold are moved to the above group. If the threshold is not reached, a new time record with the missing negative difference is created and put in the above group.
The time type of this new time record is the main attendance time type and the date is set to the valuated day or – in case of valuation per time sheet period - the end date of the time sheet period.
Thereby, the above group always contains the positive or negative difference “input minus threshold”.
So that all result groups have a reasonable definition, the below group is set to the inverted above group. That means that positive time records out of the above group are converted to negative time records and vice versa.
Possible use case: What is the delta between working time and scheduled working time per day or week? This delta can then be accrued to a working time account (WTA) for each day or for the whole week.
Difference Between Threshold and Input - How it works
Result groups from this valuation are a special kind of calculated time type group: The above and the below group are so-called 'counter' groups with 'counter' records as time records.
A counter (time type) group is defined by time category COUNTED_EVENTS and has only time records with an internal counter time type of time data type 'counter’.
This valuation aggregates all input records of the day (or the whole sheet period depending on the valuation method).
In case of day valuation, if the amount of all records is above the threshold a “counter record of 1” (for the counted event above threshold) is put to the above group. If not, the “counter record of 1” is put to the below group (for the counted event below threshold).
In case of whole sheet valuation method, all input time records together are compared to the threshold for the entire week, and depending on the result the “counter record of 1” is put either into the above group or into the below group on the end date of the valuation period.
Possible use case: How many days (in the time sheet week) have got working time above 8 hours?
Compare Threshold with Input Groups and Count Events - How it works
This valuation allows to move all input time records together for each day (or for the whole week depending on the valuation method) either to the above group or the below group.
Therefore, independently from the input time records, the comparison group is compared to the threshold. per day or time sheet period. If the time records of the comparison group are above the threshold, the corresponding input time records are moved to the above group, otherwise to the below group.
Possible use case: What is the planned working time for days on a public holiday if there is recorded working time for that day?
Compare Threshold with Comparison Group to Route Input - How it works
Compare Threshold with Comparison Group to Route Input - How it works
⚠️Time Tracking subscription necessary
This valuation type loops over all time records of the input time type group.
For every record, the record attribute (e.g. Start Time) is compared with the attribute that is configured for the comparison group (e.g. Earliest Start Time).
The comparison operator can be configured as “Equal To”, “Less than or Equal To”, or “Greater than or Equal To”.
Time records that fulfill the condition are moved to the time type group below. All other time records are moved to the time type group above.
Possible use case: Find gaps in recorded working time at the beginning or the end of the scheduled working time.
Filter Single Records from Input Groups - How it works
⚠️Time Tracking subscription necessary
The time valuation 'Create Record' defines a time record and puts it in an output time type group. The output time type group is always the above group, the below group cannot be defined for Create Record. This output time type group can then be used in any other time valuation as always. There is no input time type group, but there might be helper time type groups for defining the record.
The newly created record is a clock time record with start time, end time, duration and time data type "TimeDataCreated".
The definition can be done based on
According to the defined Time Valuation Method a time record is created
Please adhere to the following restrictions (2H 2024):
Create Time Records - How it works (without a Time Type Group as reference)
Create Time Records - How it works (with a Time Type Group as reference)
⚠️Time Tracking subscription necessary
This valuation type triggers a business rules that can pass information between time type groups. It redirects an input time type group to a time type group above or below.
The result in the input time type group is passed to the business rule as a parameter. This result is accessible in minutes (for example, "If result > 90 minutes" instead of "if result > 1:30 hours")
The conditions are configured in the business rule and there the known possibilities can be used, like access to Job Info fields and usage of rule functions.
This valuation allows to move all input time records together for each day (or for the whole week depending on the valuation method) either to the above group or the below group.
Possible use case: For FTE less than 1, route a Time Type Group to a specific Time Type Group to process different Time Valuations using this Time Type Group as Input, Comparison, Deduction or Threshold group.
Decision by Business Rule - How it works
⚠️Time Tracking subscription necessary
This valuation type triggers business rules that can fill a time type group with a value that is calculated in the business rule. The calculation can include the information from the input time type group which is passed to the business rule, fields from job info, fixed values and can use rule functions as well. The calculated value must include a value in minutes (for example, a returned value of 600 will be processed as 10 hours in subsequent time valuations).
The result in the input time type group is passed to the business rule as a parameter. This result is accessible in minutes (for example, "If result > 90 minutes" instead of "if result > 1:30 hours").
Please note that Time Type Groups created by Time Valuation may have unexpected Start and End times. A dummy start and end time is calculated for the duration of the group. For example, if the rule returns a duration of 1 hour, the start time of the Time Type Group is 00:00 and the end time is 01:00.
Possible use case: This can be used to multiply the input time type group (which, for example, contains the scheduled working time) by the FTE.
Calculation by Business Rule - How it works (without usage of an Input Time Type Group within the business rule)
Calculation by Business Rule - How it works (with usage of an Input Time Type Group within the business rule)
Configuration Options for Valuation Types
Overtime Recorder with Premium for Overtime above 40 total hours per week
Weekly overtime calculation
Daily overtime calculation
Core night detection
Core night detection
Detection of Late Comers
The configurations in a Time Recording Profile can be checked by several checks in the check tool.
That should be done before a Time Recording Profile is used to avoid errors caused by erroneous configurations during runtime.
Check Tool
Employee time valuation results are shown in the Employee Time Sheet object in Manage Data
Employee Time Valuation Result
The MDF object Time Recording Profile Visualization can be created in the Manage Data UI for each existing Time Recording Profile, showing all Time Valuations and Time Type Groups used in a graphic diagram.
Using the Focus on Time Type Group field, the output can be restricted to only the Time Valuations necessary for the selected Time Type Group.
Time Recording Profile Visualization
The trace, that can be called from the Time Sheet UI, is a tool that is used from Admins to analyze the results of the Time Evaluation for one week of an employee.
Permission needs to be granted in Role Based Permissions.
Trace - Permissions
Trace
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
4 | |
3 | |
2 | |
2 | |
2 | |
2 | |
2 | |
2 | |
2 | |
1 |