Appendix: Explaining the Details of Time Valuation

Objective

After completing this lesson, you will be able to explain the details of Time Valuation.

Time Evaluation, Time Type Group, and Time Valuation Methods Examples

Time Evaluation

The diagram illustrates a time valuation process, showing how recorded working time is adjusted by deducting scheduled breaks and splitting net working time, with outputs influencing payroll and raising warnings.

A valuation of attendance, break, on-call 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 evaluation is the process of calculating valuation results from a set of input time records to generate an output time record.

  • An output time record can be an interim calculation result or an time valuation result
  • Input time records, output time records and the valuation results are represented by time type groups.

The complete time evaluation contains several small calculation steps with time type groups as input and output. These steps are called time valuations and are combined in a time recording profile.

Time Type Groups - General and Usage

Time Type Groups include the following:

  • General: Time type groups are containers for interim calculation results and final time pay types.  
  • UI Component: Output of time valuations that can be displayed on the Time Sheet UI.
  • Time Pay Type: The calculated time valuation results are stored on the database and available either for payroll processing or conversion to time off in lieu or working time account.
  • Time Collector: Calculated time valuation result which is aggregated daily, weekly, or monthly and stored on the database.

Time Valuation Results

The table outlines time type groups, their usage, MDF entities, result entries, and includes notes on configuration options and limits on daily time collectors.

Depending on the configuration of the time type group, the results of time valuation are used and stored differently.

Time Category

The diagram shows the process of calculating net working time by deducting scheduled breaks from recorded working time, which includes working time, travel time, and home office time.

Set-like Groups:

  • The set-like groups are defined by an assignment of time types. You can use absence, break, attendance, and on-call as well as mix them in a time type group as needed. 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.

The table categorizes various time types, including attendance, absence, and system-generated types, with examples and remarks for each category.

Calculated 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.

The diagram illustrates the process of splitting net working time at 10 hours into time type groups above and below this threshold.

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.

  • Input
    • Input Groups with
      • Reverse Sign (optional)
      • Factor (optional)
  • Processing
    • Valuation Type (for example, Aggregate and Split)
    • Additional fields depending on Valuation Type
  • Result Groups (Time Category = ‚Calculated Time' / ‚Counted Events'
    • Time Type Group Above
    • Time Type Group Below
  • Error message
    • Error flag
      • No Error message
      • Raise error on Time Type Group Above / Below
    • Additional Info
      • Message
      • Error Type

Time Valuation

Details a time valuation process for splitting net working time at 10 hours, highlighting valuation type, threshold, time type groups above and below, error messages, and input time type groups.

Processing of Time Valuations

All Time Valuations in a Time Recording Profile are processed daily for the entire time sheet period. All Time Valuations in a Time Recording Profile are processed first with data (for example, scheduled working time and recorded working time) of Monday. After this time period, the data of Tuesday is processed, and so on. The order in which the different Time Valuations are processed cannot be influenced in the configuration. It is determined automatically, so that necessary Time Type Groups are already calculated when a Time Valuation is using them as Input, Comparison, or Deduction group.

Valuation Methods

The chart displays daily overtime hours split at 2:00 for each day of the week, categorizing into time type groups above and below the 2:00 threshold.

When using the Valuation Methods, Valuate Per Day or Valuate Up To Today, only the entries for a single day are considered. If the breaks are deducted from the scheduled working time, this step is done with the values of a single day for instance on Monday the break of 1 hour is deducted from the scheduled working time of Monday 8hr.

The chart shows daily overtime hours split at 2:00 across the week, with time type groups categorized above and below the 2:00 threshold.

The processing is stopped after the processing of the current day when the Valuation Method, Valuate Up To Today is used. Days in the future in the same time sheet period are not processed.

The chart displays weekly overtime hours split at 5:00, with daily overtime inputs and time type groups categorized above and below the 5:00 threshold.

When using the Valuation Method, Valuate Whole Sheet, the entries for the complete time sheet (usually one week) are considered. This step is necessary to calculate times of the whole time sheet greater 40 hrs per week.

Valuation Types Examples

Time Valuation - Valuation Types Overview

Valuation TypeExample Usage

Aggregate Input Groups and Split

Aggregate all input records and distribute them according to a given threshold value.

Aggregation of durations from different Time Type Groups and split for premium calculation

Filter Input Groups

Move input records with or without a certain attribute into the one or the other result group.

Calculates premium pay based on certain criteria such as weekday or shift classification

Filter Segments from Input Groups

Move input records, which overlap a certain time segment into one group.

Valuates clock time-based time data, where explicitly defined time intervals (segments) are extracted from clock-based recorded time

Deduct Group from Input Groups.

A generalization of Segmentation where a set of time segments is used.

Valuates deductions from clock time-based time data, such as unpaid scheduled breaks. Here, time intervals (segments) contained in another time type group (the deduction group) are extracted from clock-based recorded time.

Difference Between Threshold and Input

Calculate the difference between the input records and a reference set.

Valuates the balance on a working time account that records instances where an employee works less or more time than planned.

Compare Threshold with Input Groups and Count Events.

Compare the input records with a reference set and count whether they are above or below it.

Used for time collectors to count occurrences (e.g. occurrences of late coming in a month)

Compare Threshold with Comparison Group to Route Input.

Compare the input records with a reference set and route them depending on the result.

Determines time off in lieu (TOIL) payments.

Filter Single Records from Input Groups (Time Tracking subscription necessary)

Compares every single clock time from an input group with values in a comparison group.

Find gaps at the beginning of the scheduled working time for the determination of late comers.
The Valuation Type of Aggregation includes restrictions according to parameter groups.

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 (for example, 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 that was calculated before as a result of other Time Valuations.

The diagram shows input time type groups processed daily with an 8-hour threshold, resulting in output time groups categorized as above or below the threshold.

Possible use case: Which working time is up to 8 hours a day (= regular time) and which is above 8 hours a day (= overtime)?

Filter Input Groups

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.

The diagram shows input time type groups processed with filters for workdays and non-working days, resulting in output groups categorized as above or below based on conditions.

Possible use case: Which working time is on full holidays, non-working days, Sundays, at night shifts, and so on?

Time Records Filter

Type of DayAttributesCompared to
WorkdayWorking Day / Non-Working Day

Definition of work schedule day

(with regards to the work schedule of the user)

Shift Classification (Day or Period-Model)Shift Classification

Shift classification in work schedule day model or work schedule period model

(with regards to the work schedule of the user)

Weekday

Monday / Tuesday / … / Sunday

OR linked (for example, Monday OR Tuesday)

Day of week
Holiday Category for Previous Day

Full / Half / None / … / No Holiday

OR linked (for example, Full OR Half)

Holiday category for previous day in a time valuation with time valuation method daily or up to day
Holiday Category for Current Day

Full / Half / None / … / No Holiday

OR linked (for example, Full OR Half)

Holiday category for current day
Holiday Category for Next Day

Full / Half / None / … / No Holiday

OR linked (for example, Full OR Half)

Holiday category for next day

Every Type of Day configuration is AND linked (for example, Weekday = Sunday AND No Holiday).

Filter Segments from Input Groups

The segmentation uses a special time segment filter which is a list of time segments. Time segments are a clock-time interval. 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 grouping 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.

Diagram showing time processing.

Possible use case: Which working time is after 20:00 and needs to be considered for premium calculation? (Segment Filter: 20:00 - 6:00)

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, so special premiums for the part of the night shift on the public holiday have to be paid.

Diagram illustrating shift day starting at 9:00 PM, with planned and recorded working times from 9:00 PM to 6:00 AM, and a scheduled break from 1:30 AM to 2:30 AM.

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.

Diagram showing time valuation for a night shift starting on January 31st, with details for filtering times between 4:00 and 6:00 AM using a next day indicator.
Diagram of a Time Records Filter to check if a night shift ends on a public holiday, using a next day indicator for premium calculations.

Deduct Group from Input Groups

The Valuation Type, Deduct Group from Input Groups, is an enhancement of Filter Segments from Input Groups.

  • Deduction group defines a list of time segments.

  • Input time record overlapping any time segment (of deduction group) = Overlapping part is set to below group, remaining parts to above group.

  • Input time record overlapping none of the time segments (of deduction group) = Is set to above group.

Example: Which is the (net) working time without breaks?  

Table showing recorded working time from 8:00 AM to 5:00 PM (9 hours), a scheduled break from 12:00 PM to 1:00 PM (1 hour), and net working time without breaks split into two segments of 4 hours each.
Diagram showing time processing from input to output groups with an 8-hour threshold and adjustments.

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 of 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 the case of valuation per time sheet period, the end date of the time sheet period. The above group always contains the positive or negative difference of input minus threshold.

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.

Diagram showing time processing from input to output groups with an 8-hour threshold and event counters.

Result groups from this valuation are a special type 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 the 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 the case of the 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?

Diagram showing time processing from input to output groups with a zero-hour threshold, including scheduled working time.

This valuation allows you 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?

Flowchart determining if a comparison group exceeds a threshold, directing input to above or below groups.

Filter Single Records from Input Groups

This valuation type loops over all time records of the input time type group.

For every record, the record attribute (for example, Start Time) is compared with the attribute that is configured for the comparison group (for example, 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.

Diagram showing time processing using a per-day valuation method, comparing start times to sort into Above and Below groups.

Possible use case: Find gaps in recorded working time at the beginning or the end of the scheduled working time.

Note

(Time Tracking subscription necessary)
Table listing valuation types, allowable methods, valuation parameters, input groups, and result groups, with footnotes for additional details.

Time Valuation Configuration Examples

In this section, let's look at some example configurations.

Note

The example configurations, described in this section, must be adapted accordingly to fit in existing Time Recording Profiles and meet requirements. They need to be adapted with regards to used Set-Like Time Type Groups (for example, WT-SCHED for scheduled working time) and the naming of necessary Time Type Groups and Time Valuations. Partially, the configurations are simplified for a better understanding of the basic functionality.

Overtime Recorder

Flowchart illustrating overtime calculation by comparing scheduled time against a threshold, using a whole sheet valuation method.

Requirement

  • An Overtime Recorder records only overtime by using a certain Time Type Group. For all times (scheduled working time + overtime) above 40 hours per week there must be paid a premium.
  • The premium must be calculated for the day on which the overtime was recorded, not at the end of the week.

Solution

  • The recorded overtime is available in a Time Type Group of Time Category „Recorded Overtime".
  • The difference between 40 hours and the scheduled working time for a week is calculated and stored in a Time Type Group.
  • The part of the recorded overtime above the value of the Time Type Group, that contains the difference between 40 hours and the scheduled working time, is moved to a Time Type Group for the premium.

Weekly Overtime Calculation

Flowchart showing the calculation of net working time and overtime by deducting breaks and filtering by working and non-working days.

Requirement

  • For the first two hours overtime per week a premium, OT 1.5 has to be paid. For every additional overtime, a premium OT 2.0 has to be paid.

  • The OT 2.0 premium has to be paid for working time on non-working days as well, independent if the employee worked overtime in this week at all.

Solution in a nutshell

  • Use a time records filter to filter work on non-working days. Recorded working time on non-working days can directly be moved to a Time Type Group OT 2.0
  • Use a time records filter to filter work on working days.
  • Calculate daily overtime by split recorded working time after reaching the scheduled working time.
  • Split the weekly overtime by two hours. Overtime up to two hours are paid OT 1.5. Overtime above two hours are paid OT 2.0.
  • Aggregate OT 2.0 from non-working days and working days in one Time Type Group.

Daily Overtime Calculation

Flowchart detailing the calculation of working and overtime hours by deducting breaks and paid absences, leading to overtime premium allocation.

Requirement

  • A positive recorder records working time and overtime and both is considered for calculating a overtime premium of 100% for more than two hours per day.
  • For the overtime up to two hours per day a premium of 50% must be calculated

Solution in a nutshell

  • Breaks are deducted from overtime relevant time
  • Breaks are deducted from the scheduled working time
  • Overtime per day is calculated by deducting the scheduled working time without breaks from the overtime relevant time without breaks
  • Breaks are deducted from recorded overtime
  • Calculated overtime and recorded overtime are aggregated to the total overtime per day
  • The part of the overtime above two hours is moved to a Time Type Group for the 100% premium. The overtime up to two hours are moved to a Time Type Group for the 50% premium.

Core Night Detection

Diagram showing recorded working time with 2-hour taxable and tax-free night premiums over specified time intervals.

Requirement

  • In Germany, if working time for a night-shift started before midnight, then the tax free portion of the night premium is 25% till 00:00.
  • However, the tax free portion of the night premium is 40% in the time frame from 00:00 - 04:00, and after 04:00, it is reduced again to 25% till 06:00 in the morning.
Flowchart detailing working time calculation by filtering segments and deducting unpaid breaks, leading to taxable and tax-free night premiums.

Solution in a nutshell

  • For further usage in the core night detection, we need to deduct breaks from the recorded working time.

  • We need to filter recorded working time without breaks for the following time frames:

    • 8:00 PM – 12:00 AM

    • 12:00 AM - 4:00 AM on the day after the start day of the night shift

    • 4:00 AM - 6:00 AM on the day after the start day of the night shift

  • Any recorded working time in the time frame 12:00 AM - 4:00 AM is moved to a Time Type Group for tax-free night premiums when there was working time recorded in the time frame 8:00 PM. If there is no recorded working time in the time frame 8:00 PM - 12:00 AM, time 12:00 AM - 4:00 AM is moved to a Time Type Group for taxable premiums.

  • The taxable premiums 8:00 PM - 12:00 AM, 12:00 AM - 4:00 AM, and 4:00 AM - 6:00 AM are aggregated in one Time Type Group

The documented solution is simplified and needs to be adapted because a part of the night shift can fall into a Sunday or a public holiday, and in these cases higher premiums needs to be calculated.

Detection of Late Comers

Flowchart analyzing scheduled and recorded working time to identify gaps and late occurrences, triggering alerts for repeated lateness.

Requirement

  • An Employee must be counted as a late comer on every day on which he/she clocks in more than 15 minutes after the beginning of the scheduled working time. For every occurence of late coming a warning message must be raised.
  • When there is a gap at the beginning of the scheduled working time but the employee recorded additional working time before the beginning of the scheduled working time, he/she must not count as a late comer.
  • When there is no working time at all recorded the employee must not count as a late comer.
  • The monthly occurrences of late coming must be counted and a warning message is raised when the employee came too late more than three times in a month.

Solution

  • A Time Valuation finds gaps within the scheduled working time, in which no working time is recorded, and stores them in a Time Type Group. This Time Type Group would also contain a gap, for example, caused by a lunch break.
  • In a Time Valuation possible gap at the beginning of the scheduled working time are filtered out of all gaps of the entire day. If a gap at the beginning of the scheduled working time is found, this gap is stored in a Time Type Group.
  • A Time Valuation checks, if there is recorded working time for this day at all, and routes the gap at the beginning of the scheduled working time to a Time Type Group if there is working time recorded. If there is no working time recorded at all for a day, it is not a late comer. It might be that this employee forgot to record attendances or an absence.
  • A Time Valuation checks if there is recorded working time before the beginning of the scheduled working time and stores it in a Time Type Group.
  • A Time Valuation routes the gap at the beginning of the scheduled working time to a Time Type Group in case that there is no working time recorded before the beginning of the scheduled working time.
  • A Time Valuation routes the gap at the beginning of the scheduled working time to a Time Type Group when the gap is longer than the threshold value 15 minutes. In this case, a warning is raised. In this Time Valuation a real late comer is detected according to the described requirements.
  • A Time Valuation counts the occurrences of late coming in a month in a Time Type Group. This Time Type Group is of Time Category Counted Events.
  • A last Time Valuation raises a warning when an employee clocked in too late more than three times in a month.

Time Valuation Special Topics

The configurations in a Time Recording Profile can be checked by several checks in the Check Tool.

Check tool for time sheets, highlighting checks related to the Time Recording Profile, including integrity and circular references.

This step must be done before a Time Recording Profile is used to avoid errors caused by erroneous configurations during runtime.

Employee Time Valuation Result

Table showing time valuation results with details on pay type, booking date, hours, and pay type code.

Employee Time Valuation Results are shown in the Employee Time Sheet object in Manage Data:

  • Condensed per time type group, day, and cost center
  • Posting Target defines further processing (Payroll, Time Account, Working Time Account)
  • Contains also allowances for payroll

Enablement of Trace in RBP

Permission settings window highlighting View Time Valuation Trace under Manage Time options.

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 in the Manage Time section.

Trace Time Valuation Run window displaying details like time sheet period, external code, and options for viewing valuation results and traces.

The example in the preceding figure shows the result of a new valuation run. Results can differ from results for Time Type Groups shown on the Time Sheet UI. The results include the following parts:

  • Time Valuation Result
    • Valuated Time Records (not equal to UI Time Records)
    • Time Type Groups with Result (incl. Time Records)
    • Time Valuations with Results (incl. Time Records)
  • Time Valuation Trace
    • Runtime view
    • According to internal recursive time valuation algorithm
  • No allowances

Time Valuation Troubleshooting

Here are some hints and tips that can help you when working with Time Valuation:

Example

  • Question: A Time Type Group is not filled with a value. Also, Time Type Groups that contribute to this Time Type Group are not filled. For these Time Type Groups, No time records is shown in Trace.

    Answer: Time Type Groups are only calculated when they are configured as a pay type, UI component, or Time Collector, or when they contribute to such a Time Type Group.

  • Question: The threshold with minutes is not considered correctly.

    Answer: Check in which format the threshold is configured. If you want to use ½ hour as a threshold, you need to configure 0.5 instead of 0.3.

  • Question: The weekly result of a Time Type Group for the current week is wrong because future days are considered.

    Answer: Check if, in affected Time Valuation, the valuation method, Valuate Up To Today, needs to be used.

  • Question: How can I use < (less than) as a comparison operator?

    Answer: You can use Reverse Sign for the Input Time Type Group and compare it with a negative threshold.

  • Question: How can I trigger a Time Valuation on a certain weekday only, on a working (non-working) day, on a day with a certain shift classification, or on a public holiday?

    Answer: Use a Time Records Filter within a Time Valuation of type Filter Input Groups.

  • Question: I only want to aggregate Time Type Groups without Split. How do I implement this configuration?

    Answer: Create a Time Valuation of type Aggregate Input Groups and Split with the Threshold type Fixed Value and the Threshold Value to 0.

  • Question: I need to change a Time Valuation, but do not know in which Time Recording Profiles it is used, so that I can estimate the impact of my change and test it.

    Answer: You can export (Import and Export Data) the MDF object Time Recording Profile-Time Valuation. In the column timeValuation.externalCode, you can find the external code of the Time Valuation and in the column externalCode you can find the external code of the Time Recording Profile in which the Time Valuation is used.