Skip to Content
Product Information
Author's profile photo Volker Ruof

New 2H 2023 SAP Successfactors Time (Tracking) Features

Hello Time Management friends and fellows,

at times when the new release is about to be shipped to production instances you get as usual a few words from me on the wonderful and fancy new features of the SAP Successfactors Time Management solution. As in every blog I try to give comprehensive and easy-to-understand insights. This comes with a description of the feature, business use case examples, an explanation of configuration steps needed plus a bit more background information that might give you a hands-on help in your implementations.

This release we followed again up on many customer enhancement requests. To be precise: we covered 17 enhancement requests from influence.sap.com with in sum 247 votes !

One of the focus topics in Time Tracking this release is the alignment of payroll run and time sheet processing cycles.

And we also provide a nice easy-going and easy-configured clock in / out integration with the tool most of use are using probably most often during the day: Microsoft Teams. Check out how easy it now gets to record your working time !

And last but not least another highlight is something we worked long on preparing the ground works: from this release onwards we stepped into a new dimension of time sheet valuation periods. We provide now not only daily, weekly or monthly, but now also a multiple of month like for example yearly. This longer lasting ground work enables us also to provide in future releases even more periods much more easier, like for example rolling 10 days, bi-weekly calculations and so on. But first we start with the release of the multiple month valuations.

For Time Off we provide another highlight: our new absence counting rule. This provides a ton of more possibilities to define how many absence hours / days shall be calculated if an employee records an absence time type. Even SAP HCM Time Management would be envious on this if it could šŸ˜‰

But these are just the highlight topics. If you donĀ“t want to spend much time in reading the whole blog find below a short overview with small abstract for most of the new features. And if you want to learn more comprehensive than have fun deep diving into the respective chapters.

 

 

Overview:

 

1.Ā Time Off Features

1.1 New absence counting rule leaving nearly nothing to be desired

This is entering into a new dimension of absence calculation. This feature allows more flexibility for absence quantity calculation with the help of business rules. And it allows you to assign an absence counting rule to any absence time type, not only to those that deduct a time account.

1.2 Full day absence recording on non-working days for clock-time recorders

With the help of the new absence counting rule it is now also possible to record a single day absence on a non-working day and to configure the desired outcome of the absence quantity for this day

1.3 Partial day absence recording inside flextime bandwidth

Covers a gap in some flextime-scenarios: Allows employees to record partial day absences outside work schedule planned time, but inside the flextime bandwidth.

1.4 Filtering of allowed absence types in the absence request UI

Allows to assign a business rule to a time type in the time profile that works as a filter for allowed time types in the absence request UI based on organizational or personal data. This reduces the amount of time profiles to a great extend and brings more flexibility to the configuration

1.5 New planned working time tab in time administration workbench

Universal push of the new workschedule tab in the time administration workbench. This new tab is more user friendly and provides more features like a list overview of an employees planned time

1.6 Auto-delegation for time-off workflows

Built from our EC Core Team: Allows to configure a separate auto-delegation process for time off workflows. Your managers can now go more smoothly into vacation!

1.7 Smaller enhancements

  • New rule function to prevent absence recording in closed payroll periods
  • Possibility to transport workschedules

 

2. Time Tracking Features

2.1 Clock in / out via MS Teams

Ever wanted a simple and easy way to record your working time in a tool that most of us work with the whole day? Then use this option to perform a clock in / out in Microsoft Teams.

2.2 Aligning Payroll period with Time Recording

Big topic that is better splitted into a couple of single topics. The overall goal is to bring the payroll cycle into time management so that you can better align the submit, approval and retro-active changes with your payroll process:

  • 2.2.1 Flexible time sheet auto-submit configuration to accommodate payroll run cycles
    Allows you to trigger an auto-submit of time sheets according to your payroll run dates (or other dates)
  • 2.2.2 Flexible “closing” of time sheet periods for amendments based on payroll cylces (or other dates)
    The time sheet admissibility object has been enhanced to cater for use cases where you donĀ“t want employees to record / edit time data for a closed payroll period or last calendar month or any other period
  • 2.2.3 Flexible auto-submit rules for positive time recorders
    Provides the possibility to configure the automated auto-submit of time sheets for positive time recorders so that a manual submit is not needed for specific time sheet constellations
  • 2.2.4 Enhanced options for time sheet submit dates
    Allows to shift the submit date of time sheets a few dates before or after the default submit date

2.3 More periods in time valuation calculations

Long awaited: the start of different time valuation periods than the current daily, weekly, monthly valuations. We start with a yearly time valuation period, or to be precises: with a multiple of months.

2.4 Deactivation of automated break deduction for attendance records

Brings more flexibility in the time sheets break handling. This feature disables the automated break generation. In other words: only the recorded break is the truth and nothing else.

2.5 Filtering of attendance-, break-, on-call and allowance time types in the time sheet UI

Allows to assign a business rule to a time type in the time profile that works as a filterĀ  for allowed time types in the time sheet based on organizational or personal data. This reduces the amount of time profiles to a great extend and brings more flexibility to the configuration

2.6 Import of external allowances

Allows to import allowance time types from a 3rd party system to feed payroll via our time sheet

2.7 Enhancement of time valuation type “create time record”

Allows more fancy options in time valuation to cover more sophisticated uses cases

2.8 Time Recording Profile Visualization

This will be loved from the hardcore configurators: Breaks down in a nice graphical overview the chain of time valuation rules. With this you can better find out which time valuation is processed and how time type groups are created

2.9 Rest rule violations and other asynchronous time valuations included in time sheet trace

A left-over from last release: time sheet trace is enhanced with asynchronous time valuation steps

2.10 Enhanced options to clock in / out in the Clock myTime quick action

Improves usability if you have forgotten to clock out on the previous day

2.11 Auto-delegation for time sheet workflows

Allows to configure a separate auto-delegation process for time sheet workflows.

2.12 Role based alerts in time sheet UI

Brings more flexibility in time sheet alerting: this allows to configure if a time sheet alert shall be shown to the employee, manager or time admin in the time sheet UI

2.13 Minor enhancements

  • REST API for mass delete of clock in / out time events
  • alerts for rest rule violations now also in time sheet UI
  • Cancelled absences are not shown anymore in the time sheet
  • Support forĀ Clock In / Clock OutĀ inĀ Instance Refresh
  • Using paired time event details to have a link to the external time data record

 

3. Miscellaneous

3.1 Mobile enhancements

Important enhancements from our mobile team:

  • conditional fields for absence recording
  • Absences with undetermined end field
  • preselected default time type in mobile time off quick action

3.2 Time Management Configuration Search enhancement

Brings now the configuration changes of last release around public holiday handling into the configuration search

3.3 Enhanced absence reporting possibilities

  • new absence overview report
  • adjustment of existing time off report story

3.4 Time Forms enhancements

  • possibility to create a mail out of time forms
  • ESS scenario to request a time form

3.5 Best practice delivery enhancements

Gives an overview on the new pre-configured content that eases your configuration life and speeds up implementation.

 

One word before I go into details

Before we start with deep diving, let met draw your attention to a generic feature. It is not really new, but we want now to use it much more than we did in the past. Did you ever notice in the configuration the little question mark besides the data-fields? This blog and our implementation guide try to help you in your implementations. But often you need an ad hoc help while configuring, and you donĀ“t want to search in the implementation guide or in my blogs. You rather want on a specific field more context information or even concrete examples as well as recommendations how to configure this. ThatĀ“s why we are now paying much attention in filling good content into this in-application help function. Please use this as another documentation channel. It gives you concrete business examples and guidelines how to use this configuration option.

Let me show you a great example of this on-screen field help with a field of our new absence counting rule:

 

“Old” SAP ERP guys like me are reminded with this to the famous F1-help šŸ˜‰ .

But now, as usual, fasten your seat-belts, deep diving time:

 

1.Ā Time Off Features

 

1.1 New absence counting rule leaving nearly nothing to be desired

Let me introduce right at the beginning the most important time off enhancement. With this enhancement we close a gap compared to the possibilities of SAP Time Management with respect of absence counting configuration – and not even close it, but even step beyond. You have now much more possibilities and flexibility to set up a sophisticated absence counting calculation, much more beyond the possibilities of SAP ERP Time absence counting rule.

A short recap why an absence counting rule is needed at all.

If you you record an absence time type like illness or vacation the system needs to calculate theĀ  absence hours, days and time account deduction quantity. This might be easy if you record a partial day absence of 2 hours. But already for full-day absences it gets complicated. Is the time account deduction 24 hours when there is a time account assigned in hours? For sure not. Is it the duration of the planned working time on that day – in many cases. Or is it rather an average value – yes, for some customers. Is it the same amount for all time types? No. Shall there be a time account deduction if an absence is recorded spanning a non-working day or a public holiday? For most customers no, but for some: yes.

So, you see, even for this simple examples (and believe me, the list of more advanced and complex examples across all counties and industries is huge) there are already a variety of configuration possibilities necessary.

The so far existing absence counting rule did not cater for the more complex use cases. It did allow only to calculate an employees planned working time duration for time account deduction. And you could use an absence counting rule only for those absences that had a time account assigned. But this is not sufficient.

You have now the option to:

  • consider or disregard specific public holiday categories in your absence deduction quantity
    • Example: Maternity leave is normally deducted based on calendar days, but in some countries company declared public holidays are not considered, but government declared public holidays are considered in the absence counting
  • apply a deduction factor for specific weekdays
    • Example: Employee has got Mon-Fri 8 hours planned time and Saturday 4 hours. If he takes a vacation on Saturday you can achieve now with the deduction factor that only half day is deducted instead of 1 day whereas if he records a vacation during Mon-Friday 1 day gets deducted.
  • not use the actual planned working for time account deduction but an average value – or even better: literally any other value that you want to be deducted
    • Example: Employee works in a rotating shift pattern and has in first week on each working day 9 planned hours, but in the second week 7 planned hours. If he takes an absence you want that on any working day regardless of the shift week always 8 hours get deducted from a time account
  • deduct absences for part time employees differently than for full time employees
    • Example: part time employees with a 4 days workschedule can now have a time account deduction of 1.25 days for any vacation day whereas full-day employees with a 5-days working week will still have only a 1 day time account deduction

And all of this is enabled via the usage of business rules that can be assigned to the absence counting rule.

And on top of this new possibilities you can now even assign an absence counting rule to all timetypes and not only to those deducting a time account. This is relevant if for example a payroll system needs different absence hours than the previous hard set calculation based on the planned working time.

If you want to have more information on the new absence counting rule, please have a look on Priyanka Agarwals very detailed and good-read blog on this topic.Ā ItĀ“s a must read if you want to get into the wonderful possibilities of this feature !Ā You find lots of explanation and examples in it:

Absence Counting Rule 2.0

 

1.2 Full day absence recording on non-working days for clock-time recorders

This is a small but for sick leave handling elementary feature and is possible based on the above mentioned new absence counting rule. Up to now it was not possible for clock-time recorders to record a single day absence on a day without planned time (off-day like weekend) or on a public holiday that was an off-day for the employee. Reason is simple: there is no planned working time on this day, how many hours, from which clock-time to which clock-time shall the absence record internally be treated?

However, this is now possible. And with this we support now use cases where a clock-time recorder gets ill on the weekend and needs to document this for legal or even compensation reasons.

There is a setting for each timetype where you can allow the request on a non-working day:

 

This field was available before, but when this timetype was used from a clock-time recorder on a non-working day an error was thrown. But now it can be used for clock-time recorders as well.

However, to get this running we needed to enhance the internal data model with an extra field called “absence duration category”. This field is set automatically and can have the attributes

  • single full day
  • partial day
  • multiple full day

The good side effect of this is: This field is also available for reporting – so if you want to find out employees with partial day absences via reporting you can do so now.

 

1.3 Partial day absence recording inside flextime bandwidth

This topic is an enhancement for the flextime employee scenario that is usually applied in Germany, Switzerland and Austria. Check out my previous blog posts to learn more on the flextime scenario.

In a nutshell: Flextime employees are clock time based employees who are not bound to fix schedules, but can start/end work on a planned day more flexible. They have their planned working time in the workschedule but also an flextime bandwidth segment defined. Working time is allowed inside the flextime bandwidth and the actual working time can be longer or shorter than planned working time. If employees work inside the flextime bandwidth longer than planned hours, than there is usually not immediately an overtime pay, but the delta is usually posted 1:1 that means without overtime premium to a working time account. If they work less than planned time they donĀ“t need to record a partial day absence, but the delta to the planned working time is calculated automatically and posted to the working time account as a minus posting. The working time account is hence the automatism to control that an employee fulfills his contractual working time over a period of time without an employer having to pay overtime premiums and it allows on the other hand employees to self-determine their duration of work due to work load or to private needs. When employees in german summer want to leave Fridays at 12:00 to take a train and head into the direction of Austrian alps to climb up some mountains, they donĀ“t need to record an absence or to get an approval for this early leave, they just leave and the working time account gets deducted automatically. (Some customers want for documentation/ insurance purpose nevertheless an absence record created).

Coming back now to this enhancement: Assume a planned working time from 08:00 – 16:00 (disregard breaks in this scenario) and a flextime bandwidth from 06:00 – 19:00. Up to now only attendances where allowed to be recorded outside the planned working time, but not absence time types. But in the flextime scenario it is also possible that an employee starts his work late, lets say at 10:00 and works 4 hours till 14:00. And he wants to take a half day vacation on this day (cause his working time account does not have a sufficient balance). He needs to be able to record this vacation from 14.00 – 18:00 in order to cover all 8 hours on this day and to get a half day vacation deducted. Before the actual release this was not possible cause the absence could only be recorded inside planned working time. The new enhancement allows now partial day absences to be recorded outside planned time, but inside the flextime bandwidth.

How is this configured? Pretty simple. You can choose per time type if it is allowed to record a partial day absence inside the flextime bandwidth. This is done with this new little configuration field:

 

And of course this absence gets then replicated with the recorded start / end times into the EC Payroll / SAP Payroll absence infotype 2001 via our standard replication.

 

1.4 Filtering of allowed absence types in the absence request UI

You know our time profile that amongst others contains the time types that are available for a specific employee. Did you ever wanted to configure more fine granular which time types in the end are really available for an employee without multiplying all options via an own time profile? Does this sound good?

LetĀ“s say you have a specific time type for maternity leave and you just want to make this available to female employees. Or you have specific timetypes only available for permanent employees and not for temporary. Up to now you had to double all existing time profiles and assign the female time profiles with the one additional maternity leave time type to all female employees or the permanent time profile to permanent employees and the temporary to the temporary employees. Even if the difference was only 1 timetype. And what if both criterias come together? You have permanent male and permanent female regulations…..So, quite cumbersome to multiply out all options.

Another option was to provide all time types to all employees and then use a take rule to throw an error if an employee chooses one that he is not allowed to – but let the employee choose a timetype and then throw an error is not really user friendly.

But how to do better?

Quite easy: Just assign our new filter rule to the time profile !

This is a new rule scenario that can be assigned to any time type assigned in a time profile !

The rule scenario is a decision rule, which means the “if” conditions can be defined and the “then” condition is hard coded and leads automatically to the exclusion of the time type when the if- condition is met. This makes it really easy to use then.

This filter rule is applied to ANY time off UI and not only restricted to the leave request ESS UI. In other words: the time admin workbench, mobile time off UI and so on are triggering this rule as well.

And you now can also cover the requirement to even restrict what timetypes are available for other roles when they use the time off on behalf scenario – like for example you can restrict the access to available time types for managers. This was a very heavily voted enhancement request.

And last but not least, you have access via the filter rule not only to any field in the job info, but also compensation info and personal info. With this you can then for example cover the scenario that you only provide a “sick child” absence time type when there is a child defined in the dependent portlet !

Where is the rule assigned to?

In the time profile you find for each assigned time type the option to add a time type filter rule:

 

How is a rule now exactly looking that provides a time type only for female employees? Exactly like this:

And a rule that filters a timetype out for managers in the on behalf scenario? Like this:

 

So, I think that this new filter rules for absence time types simplifies to a great extend the configuration of time profiles, reduces the implementation cost and provides also new scenarios like manager or other roles restriction to use only specific timetypes in the on-behalf scenario.

 

1.5 New planned working time tab in time administration workbench

This is only a heads up for a deprecation in the future. Please check my last release blog where in chapter 1.4 I have introduced our new planned working time tab in the time administration workbench. Currently old and new workschedule tabs do co-exist, but the old one will be switched off from soon. So, please get familiar with the new Planned working time tab – it provides you much more information than then old Workschedule Tab and the usability is improved to a great extend.

The new tab comes with a guided activity to create temporary changes and amongst others with a very fine detailed overview on an employees actual planned working time:

 

1.6 Auto-delegation for time-off workflows

You know the auto-delegation possibility of workflows in Successfactors? Nice feature. You can assign for your vacation period a delegatee that receives all workflows during your absence. Cool –Ā  but with the restriction thus far that it is a delegation for ALL workflow types. And this makes it not really usable – cause you might delegate only the time off requests but not compensation change requests. And this is finally now available – many thanks to our Employee Central Core development team that did build this feature.

So, you can now differentiate the auto-delegation amongst different workflow groups. You can then assign a user to this workflow group that you can set up as you need. For example:

  • time sheet workflows
  • time off workflows
  • termination workflows
  • spot bonus workflows
  • position workflow

And the delegatees can of course be different persons, so that you can route the time off workflows to delegatee A and spot bonus workflows to delegatee B – or not at all for example.

You need to first switch this on for your company via manage data and create auto-delegation groups for the different workflows.

Afterwards you can assign for a period and the workflow type the delegatees:

 

 

 

1.7 Smaller enhancements

New rule function to prevent absence recording in closed payroll periods

If you have the requirement that time data ought not to be recorded or edited in a past period (for example one that has already been processed from payroll) than you can use the new time tracking feature “closing time sheet periods”. See in the time tracking section below for more details on this. Let me mention here for completeness reason that there is also a new rule function with which you can prevent the absence recording in a period that is closed for retroactive recording or editing. This is done with the rule function “Check If Retroactive Changes Allowed in Period”.

But keep in mind that this works only for Time Tracking customers, cause the rule functions reads the dates from the enhanced time recording admissibility object, and this enhancement is only available for time tracking customers.

 

Possibility to transport workschedules

Work schedules have so far not been able to transport from one system to another. This is now possible with the Configuration Center.

Automatic update for time profiles with effective dating

  • It’s no longer necessary to run theĀ Upgrade Time Profile Object to Effective-DatedĀ upgrade center task in order to use the effective-dated time profile.Ā As of the 2H 2023 release, the effective-dated time profile will be universally applied to all instances

 

 

2. Time Tracking Features

Important: If you want to use a feature listed in this section you need theĀ Successfactors Time TrackingĀ subscription.Ā You donĀ“t need this subscription for all of your employees, but only for the number of employees using the time tracking features.

 

2.1 Clock in /out via Microsoft Teams

Wowww, what a feature! How many of us are using MS Teams daily to run and organize our business life? Or letĀ“s rephrase: who is not using it? And if this application is already used during the whole day, wouldnĀ“t it be really cool to record your working time directly in that application without the need to navigate to your time sheet?

Then check out this: It can now be done with the clock in/ out possibility via MS Teams !Ā  My MS Teams is in the autostart so I donĀ“t even need to load it and a clock in or clock out for breaks is so easily done in it. IsnĀ“t this a really cool feature that saves lots of employees times (and maybe even the money for clock in / out terminals in some areas?)

How does it look like?

Pretty simple. Upon opening the Successfactors App from the MS Teams menu you can choose the “clock time” action:

 

After this you get an overview on the last 6 time punches and can perform a clock in / out with the respective time event type. The behaviour and logic is exactly the same as for the Clock my Time Quick Action on the homepage.

After clock in the time event is send to SF clock in / out console and can be seen in the time sheet. If the employee clocks out, the pair formation kicks in, an external time record created and automatically uploaded into the time sheet as for example a working time record. You even can navigate directly from this little MS Teams App to the Successfactors Time Sheet directly to add some data or get an overview on the time valuation results.

All time event reasons as configured via the clock in / out configuration show up and you get an overview of the last 6 time events plus of course the ability to clock in / out with the respective time event reason. The logic/configuration is the same as if you would use the clock in/ out app on the homepage, or if the employee clocks in / out at real terminals.

And the best: Not much specific configuration needed for this service. It comes nearly out of the box ! On top of the normal clock in / out configuration you need as a user the MS Teams Successfactors extension app installed. And as Admin you only need then to enable in Admin Center, Manage home page, quick actionsĀ the “Clock my time” action plus of course the respective permissions to view time events and access clock time.

 

2.2 Aligning Payroll period with Time Recording

This section deals with our enhancements to bring payroll runs and cycles and time sheet processing in line.

2.2.1 Flexible time sheet auto-submit configuration to accommodate payroll run cycles

This is a very big and very important new feature ! Many customers asked for it, lots of votes on the respective influence requests on influence.sap.com

As you know, time sheets are submitted for a whole time sheet period. And this period is currently a week. The already existing auto-submit function submits time sheets correspondingly at the end of the time sheet week.

So far so good.

But when your payroll runs at the 25th of a month and this is for example a thursday than this is in the middle of the week and time sheet period. And Houston, we got a problem then. Cause when you want to pay your employees on time they are required to submit the time sheet manually before this date so that payroll gets the data right in time for processing. And afterwards employees need to make a time sheet amendment to record their working time for the remaining days in that week. Not so nice.

Or you have got employees with time recording method “negative time”. Here there is not even the possibility to manually submit during the week to feed payroll right before the payroll run. How to pay those employees right in time?

In Germany this is usually not a problem, cause most employees are salaried employees and for premium pay like overtime or sunday premium there is very often a time-shifted payment (“zeitversetzte Bezahlung”). This means that premiums are paid out a month after their actual occurences. But in other countries there is a payment of the actual week or month mandatory and fines need to be paid if there is no ad hoc payment of hours worked.

But, we have a solution for this now.

With the usage of our new flexible configuration option you can cater for these use cases. You can now define calendar dates on which time sheets are automatically submitted – independent from the time sheet period ! IsnĀ“t this cool? Many complex workaround or manual solutions to overcome this gap can now be switched off! Lets have a closer look on this:

For positive, negative or overtime recorders you can configure the automated submission of time sheets very flexible based on a newĀ  “time recording calendar” object.

The detailed configuration of the time recording calendar object provides you the possibility to maintain a period start and end date of time sheets you want to process and the planned submission date. This object is then assigned to the time recording profile to provide full flexibility amongst different employee groups (cause usually different employee groups have got different time valuation rules, hence a different time recording profile). And what is in this object?

Note: If you want to use this feature you first need to set permissions for the “time recording calendar” and “time recording calendar entry” object – else you cannot see and maintain this objects.

But you might ask how to automatically submit when the time sheets need an approval? We plan for next release to enhance this feature further so that you will also be able to set a specific automated approval date for those time sheets that are still in the status “pending approval” (which is the case when the time sheet has been submitted but manager not yet approved). The submission date and the approval date combined will then give you not only the possibility to fine tune when time sheets are automatically submitted, but also when an automated approval shall be applied (if the time sheets are not yet approved).

But as mentioned, latter aspect is planned of the next release. The approval date currently is automatically set to the submission date and the time sheet switches from status “to be submitted” on that date to “approved” without triggering a workflow.

Now, lets have a closer look on this new configuration object:

You can see by the design of this object that you can align it very closely to your payroll run cycles. This cycles are usually set up in your payroll system in a similar manner. If you have a monthly payroll and you want that the last time sheet of the month (or even all) are automatically submitted at the 23th of the month, then you enter as period start date 01.01.2024, end date 31.01.2024 and as submission date 23.01.2024. And as mentioned: If you want on top even an automated approval cause your payroll runs on 26th than you need to wait still a bit.

Why did we choose to have a plain table for this? Why canĀ“t there be a more usable “3 days before end of month” configuration? Because it is never as easy as this. We have spoken to many customers and the payroll cycles and submission dates are so diverse that you never ever can have an easy configuration for this. ThatĀ“s why we choose to provide full flexibility. Do you have to maintain those dates manually? No, you can of course import dates from your payroll calendar for example.

LetĀ“s explain the concrete time sheet behaviour with a couple of more examples.
Assume you have positive time recorders with a time sheet workflow. You defined:

Period from May 15th- June 06 cause this is your payroll cycle period (a for sure seldom 3-weeks payroll cycle, but this is to make it clear what actually happens).
2nd June as submission date
Approval date is empty.

And this would be the result of the configuration:

Week 0 is completely out of the period, nothing happens with it

Week 1 is in the defined payroll period, but there are still unapproved single records in the time sheet pending. In this scenario no auto-submit is possible. There can only be an automated time sheet submit if all single records have been previously approved.

Week 2 has an already submitted time sheet but not yet approved. Time sheet is already submitted, but due to the fact that no auto-approval is set there wonĀ“t be an automated approval

Week 3 has a time sheet in the status to be submitted – this one gets auto-submitted by the new mechanism

Week 4 is partially inside the defined period, but it is in the future and the time sheet does not exist and hence nothing happens

You might now want to know if you can find out which time sheets have been auto-approved cause it is needed for example for audit-reasons: yes you can. Via the time sheet workflow reporting for example. We delivered already a nice report story for this.Ā The last updater is stored and if the workflow is auto-approved you find V4admin as updated by, else you find the name of the real human approver.

For more infos on the People Analytics Time story reports please check out this examples:

Time Management in People Analytics

There will be even further enhancements and round-offs in the upcoming release on this feature – stay tuned on this !

Let me introduce now the next useful feature that many customers requested:

 

2.2.2 Flexible “closing” of time sheet periods for amendments based on payroll cylces (or other dates)

You know that you can restrict the time sheet access of employees based on the setting of the time sheet admissibility period in job information. However, this often is not sufficient for customers. Some customers want to close for example all time sheets of last payroll period. The time sheet admissibility is configured in weeks – like no access to time sheets older than 4 weeks – and if the payroll runs in the middle of the week than you have at least one week overlapping with the closed payroll period and for those days there can still be a time recording.Ā  You might say – well, where is the problem? If there is a retroactive change payroll simply does a recalculation. Yes, but many 3rd party payroll systems are not capable of doing recalculations – or charge extra amount of money for it. Or it is simple not wanted from customers cause it is stated in company agreements that time recording needs to be done based on the payroll period. ThatĀ“s why we enhanced the approach of the admissibility period to a great extend.

The new enhancement allows you to configure the admissibility periods more flexible and align them with your payroll period. And not only for employees in the ESS-scenario, but also in the on-behalf scenario ! You can find an additional configuration setting in this object to configure if it is only for ESS applicable or also for on behalf scenario. LetĀ“s have a closer look onto this object:

Officially this feature is called “avoid retroactive changes in time sheet”.

You need to create a time recording admissibility object and set the option “amendments allowed”. And you need to define two date fields for no changes allowed before and effective as of.

This is how it could look like:

This object is assigned as before to the employee in the job information.

The effective as of date is needed to allow the continuous maintenance of new dates without having to create always new objects that need to be assigned to the employee. This would not make much sense. But with entering an effective date you donĀ“t need to touch the employees job info. The same object is still assigned, but a new “no changes before” date can be entered as effective of a certain date.

With this you can for example upload payroll closure dates for every month – and even do this already for several payroll run dates into the future. A new “no changes before” date is then automatically applied and an error raised if the employee tries to change the time sheet before this date.

I saw lots of complicated business rules in customer instances as on save rule for the time sheet that even have negativ impact on the performance – you can now get rid of all of them and improve the user experience !

And even better:

When you set theĀ  “prevent on behalf changes” option at the very bottom of the screen to yes, than not only the date entered by an employee are checked against this dates, but also data entered on behalf from a manager or a time administrator. Cause it might be that you want to prevent all data changes in past payroll periods, or only those from employees but want to give time administrators the possibility to change data in rare cases.

Do you need to manually fill the dates? Yes, you can. But due to the fact that this is an MDF object you can fill the date fields with import functionality and upload or example a whole list of dates already for the future.

This setting here is applicable only for time sheet data. You might say: perfect, thatĀ“s what I was waiting for since long. But what is with absence recording? Can this be validated as well against this new calendar date options?

Yes, but with a different mechanism. For absence time types you can use the new delivered time management rule function Check If Retroactive Changes Allowed in Period .

 

2.2.3 Flexible auto-submit rules for positive time recorders

Up to now our time sheet follows a hard coded rule to decide if a time sheet is automatically submitted. Amongst others this is done for example when the time sheet is fully covered with absence records (cause why should you need to submit a time sheet when your a full week on vacation?) or if there are only imported times and no manual recorded time entry (cause if you are a clock in/out recorder – why should you at the end of the week manually submit your time sheet?).

However, this was not sufficient for many customers. We received all in all 4 influence requests with lot of votes on this topic. And when you remember – we started to enhance this mechanism already last release for overtime recorders (please check my last release blog on this). Now we provide same options for the positive time recording method. Different criteria can now be configured to trigger an automated submit of the time sheet at the end of the period.

So, what are the criterias you can use to flexibly create your own submit logic? Same as last release for the overtime recorders:

  • Full work schedule covered
  • Has absences
  • Has generated entries
  • Has imported entries
  • All records have single record approval configured and are approved

The submission configuration rule is a business rule scenario and you have the above mentioned 5 criterias at hand:

 

You can create your rule based on the combinations and parameters you like. The rule is assigned to the “time recording submission configuration” object: , which in turn is assigned to the time recording profile:

 

And the time recording submission configuration with your submit rule is in turn assigned to the time recording profile:

 

So, you have now for overtime and positive time recording method a flexible way to configure the auto-submit based on your needs.

And what is with negative time recording method? This is not planned. Negative time recording works due to the specific business nature completely different. There is by default an auto-submit at the end of the period and negative time recorders do not have the possibility at all to manually submit their time sheets. So, this is a complete different process and this enhancement makes not really sense for negative time recorders. And this is why you need to choose the time recording method in the time recording submission configuration. Only if you choose “positive” or “overtime” you have got the option to assign a submission rule:

 

2.2.4 Enhanced options for time sheet submit dates

Another enhancement for submission of time sheets and maintained in the same objects as mentioned before, the time recording submission configuration. Time Sheets need an submit to get approved and to send time valuation results to payroll systems. However, it can happen that employees forget to submit their time sheet – or there is by default an auto-submit just like for negative time recorders.

Currently the auto-submit of time sheets was done on the day after the last day of the time sheet period. If your time sheet period was Monday-Sunday then the auto-submit was performed on with a job on Monday.

With this new enhancement in the time recording submission configuration object you can now postpone or even trigger the submit of time sheets by a few days. Just enter +2 or -2 days in the new field to postpone the submit by 2 days or even submit it 2 days earlier than on standard submit date. This feature can be used if you have employees working regularly on night shifts on Sundays for example. The auto-submit is then triggered on Monday but the shift was not even finished. Or if you want to submit time sheets for example 2 days earlier to provide the possibility for an approval right before the next week starts.

Just use this new field to enhance your configuration:

And this option is applicable for all time recording methods, hence negativ, positiv and overtime recording.

 

2.3 More periods in time valuation calculations

You know that we have in our time valuation the possibility to daily, weekly and monthly time valuation calculations.These calculations are done on the fly, upon time recording. Nothing is stored on the database except the endresult – the time valuation result. You can imagine that for longer periods this can be performance critical. Calculating all time data for a year – this takes a few seconds. This is why we invented the time containers (see last release blog on this). Time containers store on a daily basis calculated values. And to cover different periods than the already existing ones we “just” needed to build a mechanism to read for a respective period these time containers. With this new mechanism it will be possible in the future to cover any periods – biweekly, rotating 10 days, yearly….

But this release we start with a yearly calculation period – or to be precise: with a multiple of months.

Assume you have the regulation that there ought to be an alert if employees work more than 30 hours overtime per year.

3 steps were needed to provide this functionality:

  1. the recorded or calculated daily overtime needs to be persisted on the database in our new daily time containers and aggregated daily during the year
  2. at a given point in time during a 12 months period for example tto provide the possibility to check all the data of the period and compare against a configured threshold. Due to the fact that this step cannot be done real-time upon time recording (else every data entry would trigger a multiple-month calculation) we introduced a new “asynchronous valuation step” which is a kind of second valuation step, but asynchronous.
  3. trigger an alert if the calculated result has crossed the configured threshold

ThatĀ“s from the solution architectural point of view.

And how do you configure this? LetĀ“s have a closer look and this time letĀ“s do the configuration explanation from the last step backwards.

Of course you need a time recording profile where you assign all valuations- but this step I skip, you know this already else you would not read this blog.

The result of this exercise shall be an alert that is raised once 30 hours of calculated overtime are reached in a year. To trigger the alert we use our already well-known “aggregate input group and split” valuation type. The input group is a calculated overtime group, threshold set to 30 hours and an alert message defined that is based on the time type group aboveĀ  “yearly alert Max OT”. Looks like nothing new. All known. This is how alerts are created. You have an input time type group containing the data that needs to be checked, a threshold and a technical time type group above upon which the alert is created.

However, we need to look into the details to find the new enhancements!

 

Lets first check the input time type group: Is this a normal time type group of category “calculated time” as usual?

No.Ā  And this is important. The input time type group needs to be of category “time container” .

So, lets check the configuration of this time type group:

You see the time category is set to “time container” and instead of “input time type groups” you have now “Time Container groups”.

And how is this “Overtime calculated” time type group build? Well, this is the result of a normal Aggregate input valuation that compares your overtime relevant timetype groups for example daily (or weekly or monthly) with the net planned working time. I am not describing any step here – cause this is since long existing functionality and ought to be known procedure, but just the most important one:

But where is the definition of a year – or a multiple of months that needs to be set to have a yearly calculation? LetĀ“s go back to the previous screenshot where the raising of an alert is configured.

Lets have a closer look onto the “time type group above” entry, cause this is now really groundbreaking. Lets check how this time type group is set up:

And once more, tusshh, tataaa, cause this is really really groundbreaking, check out this:

Everything that has got red circles is a new enhancement.

Lets check them in detail

Period result: The most important field is the very last one – the “Period Result” field. You have to set the option to “yes” in order to get the other 3 fields. This differentiates this time type group from the “normal” ones that did exist before.

Base unit: this is quite simple. Currently you can only choose “month”. As mentioned, there will be further options in the future, but currently only a multiple of month is possible.

Number of base units: here you specify how many months you want to incorporate in your valuation. For example: 6 months. Currently 12 months is the maximum you can choose. We want to have a yearly alert, thatĀ“s why we choose “12”.

And you need a reference date. This is necessary to define from which date the base unit shall start. Currently it is allowed to choose only the first of a month. So, you canĀ“t create valulations that run from 15th january till 27th of September (and I never heard of such a requirement, drop me a note if you have got one).

The reference date and the base units might be enhanced in the future to enable different valuations, like for example “rolling 10 days”, but for the beginning we start with the above mentioned options. But you see already that with this fields there is the theoretical possibility to become quite flexible !

And this is what you need to cover this requirement – 1 time valuation, but this time valuation is now not checking on the fly time sheet data – but slightly asynchronous persisted data on the database. And not only for a week or a month, but for a multiple of months.

And to round this up – the alert we created with the above described configuration is of course visualized in the time sheet in the week where the threshold got crossed first:

 

The alert is of course also shown in the Admin Alerts. And for better convenience and usability the admin alerts are enhanced with 2 additional fields to display even the valuation period. So the admin can easily check when this alert was created. You need to enable the fields first in the settings:

And you get this:

 

ThatĀ“s it. All in all a nice new feature that allows us to make more enhancements in the future with respect to additional periods.

Ah, nearly forgotten one important aspect: Periodic results can also be persisted in Time Containers. And with that the result is available for story reports. This means you can create a report of yearly overtime for example. You just need to set the field “time container type” to yes for periodic containers.

 

2.4 Deactivation of automated break deduction for attendance records

Each country has laws on working time. And you know for sure regulations like: an employee is not allowed to work more than 6 hours without a 30 minute break and not more than 9 hours without an additional 15 minute break. This is why we delivered years back the feature “dynamic break deduction”. If an employee did only record a 20 minute break within the first 6 working hours, than this feature creates automatically another 10 minute break to adhere to the law. The idea of this automated deduction from working time is that employees take the break if it is already deducted from their working time. Cause of course a system can never control if an employee really has taken a rest period, it just knows the time recordings.

However, customers do their own interpretations of laws and regulations and want to have more flexibility than the strict auto-generation of breaks. They want that only the manual break recording of the employee is the truth, and there should not be any auto-generation of a break in attendance records. You could say, okay, why then just not define any break in the day model? Quite easy – if you donĀ“t define breaks at all for clock time recorders your net planned working time per day is too long and there are too many hours deducted from time accounts in case of full-day absences.

An example to make this clearer:

If you have got employees performing clock in / out or record their attendances with start / end times than you need to have accordingly the work schedule also with start end times. And if the planned time is from 08:00 – 16:30 than usually he does not need to work 8.5 hours per day, but only 8 hours real net working time. He hasnĀ“t got a 42.5 weekly hours working contract, but a 40 hours contract. Hence you need a break to reduce the planned working time. And this break deduction kicks also in when there is a full-day absence. For hourly paid employees in case of a full-day absence the employee gets only 8 hours paid, time account deduction is also 8 hours and not 8.5 hours.

You could reduce your planned working time simply then by 30 minutes and end time is 16:00 – but is this compliant? How is the daily overtime calculation then done when all your employees nevertheless need to work till 16:30?

So, in a nutshell: normally in decent time management setups you need a planned break to reduce planned time and to cover laws and working time regulations and to calculate correct absence hours per day.

And lets come now to the new feature:

If you have got the requirement that even with configured breaks only the manual recorded break shall be deducted from the attendance records, you can now use theĀ prevent generation of breaks setting” in the time recording profile:Ā 

 

If you choose “scheduled and dynamic breaks” than neither fix breaks from the work schedule or dynamic breaks get generated in time valuation / time sheet. This setting relies then on a completely manual break recording of the employee.

Examples:

Assume you have a dynamic break configuration 30 minutes after 6 hours.

And planned working time in the workschedule: 08:00 – 16:30

Employee records working time from 08:00 – 17:00 which is 30 minutes longer than planned.

Employee recorded a manual break: 12:00 – 12:10

If you deduct the manual breaks from the recorded 9h working time there is a net working time of 8:50 on this day. With above mentioned configuration setting there is no further automated break deduction of 20 minutes as usual in dynamic break configuration. With this configuration only the break that the employee recorded is the truth.

But be aware on the consequences:

  1. If you have got a daily overtime calculation the employee would end up in 50 minutes overtime on this day. Cause his net planned time is 8 hours (08:00 – 16:30 and dynamic break deducted in planned time = 8 net hours)Ā  And if you now compare this net planned time with the recorded time via the normal “aggregate input group and split” time valuation type, you end up in a split of 50 minutes. And usually this is to be regarded as overtime.
  2. This feature is meant to be used only in those countries where no legal regulations on minimum breaks exist. In Germany for example I would not recommend to use it. If there is a an audit this might lead to problems, cause you need to document that employees have taken their minimum breaks

And remember: break deduction for planned time and absence calculation is still needed and gets not affected by this setting. This setting is only for disabling break generation for attendance recording in the time sheet.

 

2.5 Filtering of attendance-, break-, on-call and allowance time types in the time sheet UI

Check chapter 1.4 for more details. Same mechanism as for time off time types in the time profile does is of course also provided for attendance (and other time sheet-) time types. You can filter the time sheet time types available in the time sheet drop downs based on organizational or personal criterias via the filter rule in the time profile.

 

2.6 Import of external allowances

You know for sure our External time Data APi with which you can upload attendance, break, on-call and extra timetypes into the time sheet for time valuation purpose. This is used when you have got a 3rd party time recording tool, but want the data processed via the Successfactors Time Valuation and benefit from the predefined integrations to SAP payrolls. Many customers use this, but we heard many times as well that customers want to upload allowance time types as well.

Allowances are used to record a direct payroll wage type in cases where the system does not automatically calculate it. This might be cause the system does not know the circumstances of performed work (like for example a dirty-work allowance or a hard-ship allowance) or maybe the system could automatically calculate the premium or allowance, but the customer has not set up the time valuation accordingly. For these scenarios the time sheet provides the possibility to record an allowance type (with duration, clock times or any other unit) that is passed directly to payroll (of course, after time sheet approval).

And allowances could up to now only be created manually in the time sheet UI. However, now they can also be imported into the time sheet from the outside world via an own API. The whole process follows exactly the process as for the External time data APi. The only difference is that not the existing “external time data” object gets filled, but we created a new object called “External Allowance“. The rest is the same: you have as a result an allowance record in the time sheet that can be passed to ECP/ SAP Payroll Infotype 2010 directly, without any other further time valuation needed. And you can also delete already uploaded allowances with a delete flag and even configureĀ  in the time profile if an uploaded allowance can be edited or even deleted in the time sheet. So, more or less all the same as with our already established process to upload external time data.

 

2.7 Enhancement of time valuation type “create time record”

We introduced this new valuation type in the 1H 2023 release (check that releases blog on details) and we are constantly enhancing it. And it gradually evolves into a new mighty wonder-weapon.

This time valuation method can create time records “out of nothing” to put it in easy words. There does not to be a real time record, you can magically create your own. Let me explain this a bit in more detail:

This time valuation method was invented based on the rest period scenario. In this scenario you need to compare the end time of last working day with the start of the working time on the next working day. If the gap is for example less than 11 hours this is not conform to European working time directives and you need to raise an alert. So, you need to check a gap in between working times. But a gap is “nothing”, no time record exists for this. And thatĀ“s why at least I call this time valuation type to create something “out of nothing” :-).

Up to now you could create the start / end of this new time record only based on a fix clock time or on a time type group. But now, you even can create the start based on the end time of a time record and the end based on the start of a time record. Sounds confusing? Yes, indeed :-). Lets make it tangible on a real customer business scenario:

A customer has the regulation that all overtime is paid with 100%. However, if the overtime is performed 2 hours before or after the planned working time, then there is a higher premium of 150% cause this is regarded as a kind of “higher” service. And exactly this can be covered with the new enhancement. Let me give you the step-by-step description to make it clearer:

Basis is that you have already created a time type group that contains the planned working time and a time type group that contains already the potential overtime.

First we need a rule that creates a time record starting 2 hours before scheduled working time. This is then the slice that we use to compare the actual recorded working time against. For this we use the new valuation type and choose the time type group “scheduled working time” as an input. The end of the new to be created time record shall be the “start” of this schedule working time. And we need 2 hours, hence we define as “start” of the time record -120minutes based on the “end of the time record”:

And this slice is then put into the time type group stated in the “time type group above” field.

So, example: the planned working time is from 08:00 – 17:00. The time record that gets created takes this start time 08:00 as itĀ“s own end time. And the start time of the record is 120 minutes before (thatĀ“s why it is a -120) itĀ“s own end time, so result is 06:00. Hence a time type group is created from 06:00 – 08:00.

We created now a time slice 2 hours before start of scheduled time. We need to do similar to get a slice 2 hours after the end of scheduled time. Valuation looks similar, but not the same:

We take again the scheduled working time as a basis, but this time for the “start of the record”. Duration is again 120 minutes, but this time a positive value. And as end of the new to be created time record we take the “start time” of the record, which is the same as end of scheduled working time. And this time record is created for the time type group stated in the “above” field:

And assumimng the planned working time is 08:00 – 17:00 this valuation creates a time record with 2 hours starting on the end of planned time 17:00. So, a time record from 17:00 – 19:00.

So, in the end we have now 2 time type groups created. 1 from 06:00 – 08:00 and the other from 17:00 – 19:00, but without the need of defining this start / end times explicitly as fix values. These get rather dynamically created based on the respective planned time on any day. Imagine how many time valuations you would need to cover all the variety of start / end times of day models ! Literally for any day model 2 time valuations. And this works then only if the employee works on the same day model the whole year. And on top you would need to have a specific time recording profile for this combination. So, not practicable – and thatĀ“s why we build this new enhancement.

But how to create now the extra payments? Here we use the already existing valuation types. But for sake of completeness I gonna describe it here as well:

Next step is to bundle this two slices into 1 time type group – cause for the subsequent time valuation we need the values in 1 time type group. Hence we use the normal Aggregate input group and split type, input is our 2 created slices and everything above 0 is put into a condensed time type group stated in the above field.

Again, this is needed cause the next fancy valuation type “deduct group from input time type group” processes only 1 “deduction group”. So, finally in the last time valuation we take the just created time type group containing our slices 2 hours before and after planned working time as the “deduction group”. And let me explain the overall thing in this screenshot – looks confusing at first, okay even at second glance, but it gives you maybe an overview on how in the end everything comes together:

 

And voilĆ”. Done. With this you can create an extra premium pay of 150% for the overtime performed 2 hours before and / or 2 hours after planned time and for all other overtime only 100% is generated.

And how to figure out if your configuration in the end is correct? Good segway to another nice feature that for sure helps in your configurations:

 

2.8 Time Recording Profile Visualization

This is a very handy and smart enhancement that will ease your life during implementation and testing.

Ever wanted to have an overview on all valuations inside a time recording profile? Or ever wanted to know if you need to adjust a time valuation if where a specific timetype group is used elsewhere?

The time valuation visualization helps you here. What is it?

First, it is a new object :-). You access it via manage data:

 

You choose the time recording profile you want to analyze and click on “save”.

After this you get a pdf generated in which all time valuations of this time recording profile are nicely visualized:

And upon zooming in you get details like:

But this is not yet the end of the story. Imagine you want to adjust or change a time type group in a time valuation. But you donĀ“t actually know where this time type group is used in what valuations of your time recording profile. You can then add as a second criteria the time type group in the selection screen:

And as a result you get then those valuations visualized that are needed to calculate this time type group. So, it is a kind of: show me how this group gets calculated.

Small comment on the “update visualization” flag: this is used if you for example change on the fly a time valuation and want to check itĀ“s effects. You then just need to use the update function in this object to refresh the visualization.

You might now say: yes, thatĀ“s good. But can I have the values of a real time valuation run added to this so that it is a better time sheet trace? Not yet. This might come as a future enhancement. If you want it, create an enhancement request and letĀ“s check the votes on that.

 

2.9 Rest rule violations and other asynchronous time valuations included in time sheet trace

This is a bit a technical title and a leftover from the previous release. Let me try to explain. You know that we have a real-time time valuation. This is a bit boon and bane. Bane cause it gives you immediately upon data entry the results. Boon, cause sometimes you can calculate specific values only on the end of the day or even on next days. This is for example true for the rest period violations where you need to raise an alert if an employee did start his working time less than 11 hours after he has ended his working time on the previous day. This alert does of course not make any sense immediately upon time recording. Cause when you perform a clock out and end your working day or if you record manually your working time for the day the system does not yet know when you will start your working time tomorrow.

Due to this (and other reasons) we introduced a second time valuation step that is not triggered real time, but asynchronous. Long introduction before I can make the point ;-): this kind of time valuation results are now also included in our time valuation trace with which you can monitor the single steps of the time valuations plus the corresponding results. You find a new knot in the trace under which this asynchcronous results are shown:

 

 

2.10 Enhanced options to clock in / out in the Clock myTime quick action

This is an enhancement that allows you to get out of a dead-end street: currently we automatically enable the next possible clock in / out action based on the previous type of clock in / out. This is to avoid erroneous data entry by choosing the wrong time event by mistake if the system provides you all events and not only those that make sense. He wanted to clock out, but clicked the wrong button. So, when you performed a clock out then the next possible action on the Clock my time quick action or mobile is only a clock in. Cause why would you need to enter another clock out just a clock out? Makes no sense. This reduction on the only logical next event type is currently in place.

However, assume you have forgotten to record a clock out yesterday. You come to work next morning and the only option provided by the system is then a clock out – cause the last previous event is your clock in from yesterday. And then you are stuck. The system does not know that you have forgotten to clock out on the previous day – might be that you work in a late shift and performed some extra hours ;-). You can now get out of this situation by choosing the “more option” where all event types are provided:

Please note that this option is not yet available for the mobile clock in / out solution.

 

2.11 Auto-delegation for time sheet workflows

This is only for completeness reason. You can read on this feature in detail in the time off section above. In a nutshell: you can now auto-delegate time sheet workflows to different users than other workflows.

 

2.12 Role based alerts in time sheet UI

This feature allows you to configure in more detail which time valuation alerts shall be shown in the time sheet UI to which user group. The mechanism we use here are the so-called poly-permissions.

Assume an alert that you donĀ“t want to show to employees, but only to managers or time admins. Like for example an alert upon 5 times late coming. You can now configure that this alert is NOT shown to the employee, but for managers or admins when they use the time sheet UI on behalf. Please note that this enhancement applies only for the time sheet UI, not for the Admin Alerts UI.

How to configure this?

The configuration is done based on the target population in the permission roles. Choose in the permission configuration at the very bottom the option to define a target population.

Navigate to the Time Valuation Alert setting, choose time type group code entry (this is the technical name for the alerts) and enter the value of your alert type and set the parameter to “unequal”. And with this you exclude everyone with this role from getting your chosen alert type in the time sheet UI.

And how to find out the time type group code if you donĀ“t know by heart? Quite easy. Check the alert message that is shown in the time sheet UI…

…. and find out the time type group code in the Admin Alerts UI:

 

Same feature can be used of course for the alerts based on time collectors.

So, little feature to provide more flexibility to configure who ought to see what alert in the time sheet UI.

 

2.13 Minor enhancements

Let me summarize some minor enhancements:

Alerts for rest rule violations now also for employees in the time sheet UI

This is a rather small topic and mentioned here just for the sake of completeness. We have in last release shipped our rest rule violations checks. Short recap: In Europe you ought to have a rest period of at least 11 hours between end of work and start of work on the next day. This can since 1h release be checked by the system and alerts raised. However, these alerts were only displayed in the Admin Alerts UI for time administrators, but not for the employee in the time sheet UI. This has been fixed. You can now also notify the employee via an alert that he did not comply to the rest rule policy.

Cancelled absences are not shown anymore in the time sheet UI

Based on various customer feedback we donĀ“t show cancelled absences in the time sheet UI anymore

Mass delete API for clock in / out events

We provide now a dedicated API with which it is possible to delete clock in / out events. Why is this useful? It might be that you have uploaded for testing purpose lots of clock in / out events for lots of employees. Or there was simply an error in the upload process and for 5000 employees the events have been sent doubled. With the new ClockInClockOutTimeEvents API you can very easily delete them again.

Support forĀ Clock In / Clock OutĀ inĀ Instance Refresh

The instance refresh tool via Admin Center allows now also to refresh the clock in / out data. This is useful when you have got a test instance and test data and want to reset it.

Using paired time event details to have a link to the external time data record

This is useful for review purpose for time administrators. There is now a link via an external code between the time events and the external time data that are created based on these time events. This link is the “pairing ID”. You can copy this ID in the manage clock in / out UI and search for the corresponding time record in the external time data object via manage data.

 

If you have copied the pairing ID, just switch to manage data, external time data and paste it into the search field. You get as result the corresponding time record that has been created out of the paired clock in / out events:

 

 

3. Miscellaneous

Some information on what I call “miscellaneous enhancements”:

 

3.1 Mobile time off enhancements

Our mobile team has provided some desperately awaited enhancements for the mobile time off application:

  • Conditional fields in mobile absence request form
    Allows to use conditional fields for absence time type in the mobile application:

 

  • And absences with undetermined end date can now be also requested in the mobile application
  • And on top there is now a defaulting of the absence time type in the mobile quick action

 

3.2 Time Management Configuration Search enhancement

This is a round off for the Time Management Configuration Search tool.

In last release we have released new configuration entities on public holiday calendars and enhanced configuration for automated time sheet submit. This features have now been added to the configuration search.

You can search for employees with a specific holiday work pattern, time calendar or time recording submission configuration in job info assigned:

 

And you can search for holiday calendars with a specific holiday category:

 

 

3.3 Enhanced absence reporting capabilities

2 new enhancements are provided: a whole new absence overview report and an adjustment of the existing time off reports. Lets first check the enhancements on existing time off reports:

In the past there was a gap regarding absence reporting. It was not possible to get the absence days / hours per month if the absence was crossing the month. Reason was a wrong usage of the date filters. The date filter was set to “start of absence” and if you had a absence from for example June 26th – 5th July and you applied a date range filter on June, than 8 days was the result. But I think you anticipated rather 5 days – cause only those absence days during June and not for the overall absence.

 

This has now been resolved by 1) providing a new object for the absence reporting, the so-called employee-time-calender object and 2) by changing the date range field from “start” of absence to overall period of absence. If you run the same report again, the result is now 5 days:

 

And let me draw your attention on the nice new graph that was included in the absence report as well:

But this is not yet the end of the story. Our team has also provided a new report story on absence overview details:

 

This story gives not only a detailed view on absence details, but you even can investigate per employee the daily absence figures. Lets take the example from above – this is how it looks if you change the view to “Employee time details”. A double click on an employee allows even to further drill down into the absences on daily basis:

 

This absence reporting enhancements provide you for sure more accurate and detailed absence information for your company.

And as already mentioned in the new absence counting rule chapter:

We introduced a new absence duration category field which can also be used in reporting.This is only a small but for reporting a very helpful enhancement: the employee time object has now a new field called “absence duration category”. This field comes with the values:

  • multiple day
  • full day
  • partial day

You can use this information in your absence reports by differentiating if an absence is full or partial day. See for more details the chapter on the new absence counting rule.

3.4 Time Forms enhancements

First it has to be mentioned that our time forms are from Early Adopter moved to General Availability, so any customer can use it. Remember, the Time Forms provide the possibility to generate from the time administration workbench a letter based on templates that can include actual absence and time account balance data.

The generation of the time letter was up to now the task of a time administrator. However, we provide now as an Early Adopter feature the possibility for employees to request a time form letter.

We added also the possibility to send generated forms via email:

 

3.5 New SAP Best Practice business content

The team around Neelesh Kamath has provided again lots of new cool best practice content delivery that you can download and implement. This will ease your configuration life and speed up implementations, cause you donĀ“t need to build everything from scratch. Let me give you just an overview on the topics. You can find more information on the respective documentation side.

Overview:

  • Custom Project based recording in time sheet ā€“ Support time records with project assignment for users via custom MDFs.
  • Time Tracking Rest Rules Ā ā€“ In some countries employees need to maintain a sufficient rest period like 11 hours between two shifts.
  • Time off Korea ā€“ Sample time profile to cater for vacation rules for Korea. This also contains other common time types like sickness, maternity, paternity, marriage etc.
  • Time off Sweden Ā – Basic time profile to cater for vacation rules for Sweden. In Sweden, it is common practice to use time accounts with Accruals & Entitlements. Leave is accrued in one year (e.g. 2022), In the following year (e.g. 2023), the previous yearā€™s accrual is transferred as an vacation entitlement which can be taken up to some point in the year after which the remaining entitlement would be carry forwarded as ā€˜saved vacationā€™ or paid out. This requirement can be found in France and Belgium as well.
    ThisĀ time profile also contains other common time types like sickness, child care, leave of absence, parental, study etc
  • Time Tracking South Africa ā€“ Overtime Recording rules for normal and cross midnight shifts for South Africa. South Africa has different overtime premiums for ex OT1.5, OT2.0 based on different time segments and Days (Weekdays, Sundays, Holidays etc)
  • Workflow email notifications ā€“ Custom workflow email notification templates for Time off and Time Recording workflows using document generation templates
  • Effective Dated Time Profile adaption ā€“ All time profiles delivered as part of best practices will be adapted as effective dated profiles from 2H 2023.

 

ThatĀ“s again it. You made it, read all to the end. Hope you like what we delivered in October/ November 2023.

Leave me a comment if you liked it.

Best regards

Volker Ruof

Product Management SF Time Management

Assigned Tags

      18 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Sreekanth Garladinne
      Sreekanth Garladinne

      Very well written Volker. Thanks for informative blog.
      couple of queries, if we apply Monday to Saturday will it calculate 5.5 days of leave in example you have given for half day Saturday?

      can we have more sections in rule that is attached in time type for time profile filtering? as I presume only one rule can be attache. Thanks a lot

      Author's profile photo Volker Ruof
      Volker Ruof
      Blog Post Author

      Hello Sreekanth,

      currently you can configure the absence counting rule that Saturdays is always deducting 0.5 days. So, in your example i would be 5.5 days. But also when Saturday is recorded as a full day absence only it will deduct 0,5 days.

      A so-called "sandwich leave" deduction where a period should deduct something else than the sum of single absence days recorded is not yet possible, but could be a future enhancement.

      Your second question is not clear to me - what do you want to achieve? You can assign a rule to every time type, and in the rule you can create as many if-statements as you want.

      Best regards

      Volker

      Author's profile photo Adrian Miners
      Adrian Miners

      Very nice additions. Thank you.

      Author's profile photo Bernardo Santos
      Bernardo Santos

      With the functionality of setting the period for submitting the time-sheet, does this mean that the entire timesheet period can now be considered to calculate totals, such as overtime during the salary processing period?
      Thanks

      Author's profile photo Volker Ruof
      Volker Ruof
      Blog Post Author

      These are 2 different things. You have the time sheet valuation periods like daily, weekly, monthly, multiple of months... and you have the submit period for time sheets. Very flexible now, but you need to think a bit more how to set it right. There is currently no time sheet valuation period where you can use the time recording calendar object. This is only for auto-submit (and auto-approve) of time sheets.

      Both can be in sync: like you have weekly valuation and your time sheet period starts on tuesday, than the valuation of whole sheet is from tuesday till monday next week.

      If you set your submission dates to tuesday as well, then both are in sync. But they donĀ“t need to have.

      Check the above mentioned examples in the yellow boxes - this explains it quite nicely.

      Author's profile photo Bernardo Santos
      Bernardo Santos

      Thanks Volker

      This means, with this feature will be possible to make this requirement?

      If the employee works less than 30 hours of overtime in the month, the system should only count the first two hours of overtime each day.
      If the employee works more than 30 hours of overtime in the month, the system should count all the extra hours.
      Thanks
      Author's profile photo Volker Ruof
      Volker Ruof
      Blog Post Author

      Your example has nothing to do with any new topic described in my blog. We have already got monthly valuations, we have the combination of daily and weekly and daily and monthly overtime calculation. So, try it out if you can make it work!

      And besides, this requirement is for sure too complicated to be answered based on a single sentence. The question is for example if "the system should count all the extra hours" means that all daily overtime from the 30 monthly overtime is to be regarded as overtime, or also for the daily overtime on those days before the 30 hours were reached.

      But as mentioned, this has nothing to do with the enhancements in the new release.

      Best regards

      Volker

      Author's profile photo Matthias Schimon
      Matthias Schimon

      Hi Volker,

      reading your blog never gets boring. This release is full of improvements and the absence counting 2.0 is one of the main topics for us.

      After testing the new opportunities, we notice that we are still not able to count absences on days without planned working time in time valuation.

      We are faced with the requirement to prevent the calculation of premiums if an employee is absent (for some time types) the whole week, 7 days including the days without planned working time. Therefore, we use the time valuation but, in the valuation trace the absence on days without planned working time is missing and we are not able to get it.

      Do you see any way to meet that requirement with the new absence counting or is this point still not possible yet?

      Best regards

      Matthias

      Author's profile photo Volker Ruof
      Volker Ruof
      Blog Post Author

      Hello Matthias,

      we are working on bringing making the hours of the absence calculation rule available for time valuation. However, I am not really sure if this helps. Cause the absence counting rule would give you not a specific value -Ā  or do you count an absence on a non-working day with a specific value? Guess it is still 0.

      Can you describe your requirement a bit more in detail?

      I guess your employees are negativ-time employees and they receive a shift premium based on the workschedule, but they donĀ“t get this if the employee is the whole week absent? Means, if he is absent from Mon-Thursday and works on Friday there are specific premiums that this employee receives even on his absence days, but if he is absent from Mon-Sunday (assuming Sat/Sun are off-days) then he does not get this kind of premiums at all?

      And you probably need only the information that an employee is absent on a non-working day, right? Cause as mentioned, if you donĀ“t configure the absence counting rule to calculate even on a non-working absence hours, then you still would not have any values if we provide the hours from the absence counting rule in time valuation. You just need the fact: absence on non-working day somehow to be recognized in time valuation.

      Volker

      Author's profile photo Matthias Schimon
      Matthias Schimon

      Hi Volker

      we are using the Valuation Type ā€œCompare Threshold with Input Groups and Count Eventsā€ The Input Time Type Group summarize the absence time types we want to check (unpaid absences). The Threshold Type is fixed at the zero.

      We expect that every day an employee is absent we count with one. Contrary to your assumption is the employee in positive time and on top clock time. Our Employee got a work schedule with planed working time from Monday to Friday. The Weekend normally is without working time. If the employee is absent 7 days a week, we want to prevent the system to calculate premiums.

      The Time Type Group Above of our time valuation would be the Threshold Group for the next valuation step. We only calculate the premium if the Threshold Value is less than 7.

      Our problem is that the very first time valuation is not able to count the absence at a day without planned working time. In fact, we still need just need to count the number of days in time valuation.

      Another example is to count the days of sickness and get the number of days as Time Pay Type. This could be necessary if the payroll system isnā€™t e.g., an ERP system.

      Thanks a lot for your feedback.

      Matthias

      Author's profile photo Volker Ruof
      Volker Ruof
      Blog Post Author

      okay thanks. That helps.

      Not sure if you know, but we have developed a blend of business rules and time valuation rules. It is rolled out to selective customers currently for Early Adoption consumption.

      This enhancement would provide you the possibility to use specific business rule functions and feed with the result a time type group that you then can further process in the time valuation.

      We can pay attention that a rule function to read absences on a specific day can be incorporated. Currently this rule function is not enabled, but what not is can be.

      It would help if you create an enhancement request for this - with the examples above.

      thanks a lot

      Volker

       

       

      Author's profile photo Matthias Schimon
      Matthias Schimon

      Hi Volker,

      thanks for that feedback.

      I'v create an enhancement request: https://influence.sap.com/sap/ino/#/idea/311695

      Let us keep in touch to push that topic togehther.

      Ā 

      Thank you wery much,

      Matthias

      Author's profile photo Volker Ruof
      Volker Ruof
      Blog Post Author

      Sure. Thanks !

      Author's profile photo Joana Ferreira
      Joana Ferreira

      Hi Volker,

      Thanks a lot for the overview of the new enhancements, this is very helpful.

      I have a quick question regarding the new filtering possibility in reports to get the number of absence days or hours per month if the absence is crossing the month. Is this available only in story reports, or can we also apply this filtering in canvas reports?

      Thank you,

      Joana

      Author's profile photo Volker Ruof
      Volker Ruof
      Blog Post Author

      Hello Joana,

      this works only for the story reports.

      Best regards

      Volker

      Author's profile photo Joana Ferreira
      Joana Ferreira

      Hi Volker,

      Thanks for confirming.

      Joana

      Author's profile photo Vamsi Krishna
      Vamsi Krishna

      HI Volker,

      I am looking report for Time Event (clock in/ out punches) reporting possibility.Is it available standard report delivery now?

      Please confirm.

      Thanks & Regards

      Vamsi

      Author's profile photo Volker Ruof
      Volker Ruof
      Blog Post Author

      Hello Vamsi,

      unfortunately not yet available, but we are working on it. Stay tuned.

      Best regards

      Volker