some colleagues make already jokes saying my blogs are no blogs but rather long, exhausting novels 😉 Yes, might be true when you look on the length of this blog, but I rather elaborate a bit more to show in detailed but hopefully easy words our new features in the EC Time and Attendance application. Time Management can be complex and for me it is the Queen of core HR (no offense to Payroll and core or other applications;-)). Yes, you need all pieces like Master Data, Payroll, Workflow and so on to get an employee paid and all the other Successfactors wonderful solutions to cover everything that is needed in HR, but still, Time applications are the most often used by employees, Time (especially Time Sheet) has the most User interface interaction and without the pay type calculation by Time valulation there would be no data upon which the employee gets paid in payroll. And due to the fact that those times where a consultant only consulted Time or Payroll or Workflow and nothing else have ceased in the cloud and rather general consultants needed that can configure most of the Successfactors application, I try to find words that not only the small time management expert group can understand but a rather larger target group. And this might end up in longer blogs then.
Whilst you will be able to consume soon the new features and functions of the 1702 release, or Q1 2017 release, we are already one release ahead and I am in the midst of vivid discussions with our architects and developers to discuss the new features we want to start soon developing for the Q2 release. And I am really looking forward to this, there will actually be some rocket things that you gonna get there (at least when I get all build that I want to have 😉 ).
But too early to talk on this new things. Cheap Cliffhangers are rather a tool of good television series or inferior literature and I should focus in this blog on what actually is in the product, what we actually have built for you in the Q1 release. And even in the Q1 release there are some really good and useful things and again, I am really proud on what we can deliver to our customers in this release. Many of the features will help customers to a large extent and the reasons not using our free of charge time solution embedded in Successfactors Employee Central get less and less.
So, what is actually in the Q2 2017 release?
We got some major and some minor things as usual.
The very major one, from lots of customers needed and demanded is….
1.) Time Sheet Input Validations
When you follow my regular blogs on the EC Time Solution you know already our time sheet and its underlying real-time based time valuation. The time valuation calculates overtime and premium pays based on the times that the employees record. And up to know there where no means to control and check the recording of times in the moment of time recording. Employees could record all timetypes on each day, enter allowances with a duration outside any control, on each day as often as they want. And time valuation calculated the results and pay types – even when the employee has recorded times in a way he should not have recorded them. And this, at the very end of the chain, could have led to wrong payroll results and wrong payments.
Yes, there are approval workflows in place for the time sheet where a manager or time admin could have rejected time sheets that are not “okay”, but this would have meant a very detailed analysis of the employees recorded times during the approval process. And we all know that this is not done in real life. So, many customers wanted to have input checks to block specific time recording data constellations instead of having an approver examine the time sheet approval if everything is okay.
What business use cases can be covered with the new time sheet input validations? Imagine the employee has recorded an illness and an allowance like “early shift premium” on the same day. Strange constellation? For some customers yes, for others not. Some want to allow it, indeed want the employee mandatory record only this or another premium when a specific absence exist, others want to prevent the same.
Imagine customer has got shift employees. The time valuation can of course generate the shift premium automatically based on the day model and the recorded times and even a different shift premium pay type when an employee is ill, but some customers don´t want to have this complex time valuation rules in the system but rather let the employee record the shift premium as an allowance himself. It might even be that the customer don´t want to cover complex shift patterns in EC Time due to the fact that the real shift pattern is kept in a 3rd party shift planning system (where all the planning and short term changes are made) and only a kind of dummy workschedule is assigned to the employee in EC. Time valuation can then of course not calculate the shift premium and employee needs to record it manually. Whatever reason, some customers simply want that employee records their shift premiums or others that the system could generate manually via allowances in the time sheet.
How can time sheet input validations help then? In Germany some employees get something that is called as-if payment when the employee is ill. This means, he gets paid as if he had worked. When he is entitled for a shift premium or Sunday premium and he is planned for Sunday, he gets this payment even when he is ill. Due to the fact that shift work and Sunday work is hard, many premiums paid for this kind of work is fully or partially tax free. This is a kind of compensation for unusual working times and employees difficulties in allday-life due to the changing working times of early, late, night shifts and probably even Sunday work. But now the difficult thing comes: the tax free payment is only applicable when the employee really has worked. Not when he gets the payment based on an as-if payment due to illness. When the payment is done based on an absence it needs to be fully taxed (by payroll of course) – cause the employee has not worked whilst receiving the payment for it.
So, now imagine the possible errors an employee can make when he needs to record his shift allowances himself manually. He was ill, so he needs to choose the “full tax Sunday premium”, but when he has worked he needs to record the “tax free Sunday premium” and so on.
Impossible to avoid errors. Impossible for a manager in the approval process to sort this things out.
The time sheet input checks can help here in a great deal.
You can now create very smart and clever rules where you can check all kind of constellations on a day. You can raise an error when the employee has recorded an absence but has choosen the wrong allowance type. Or when the employee has recorded a time type / allowance / on call time on a specific weekday he is not allowed to. Or with not enough hours, with too many hours. When an employee has recorded the same allowance twice on a day. When an employee has recorded two different time types that he is not allowed to record on the same day (please note that this is on top of the already existing collision checks).
This are only some examples, there are many other business examples I could list. But the main thing you need to take with you is:
The rules are quite flexible and powerful. They perform input validations upon time recording (saving the time sheet). They are maintained in the same way as the Time off “Take rules”.
But, there are some limitations to the new input validations. You know that we provide each 3 month a release and some topics are simply bigger than we can cover with our small team within one release. We hence work in increments. We ship the feature in an usable albeit not yet 100 % perfect way that might not cover everything that I want to have be covered by the feature right from the beginning. Hence we need to put some limitations in place but of course we work then in the subsequent releases on removing this limitations.
So, what are the limitiations of the first version of the input validations?
- It is not (yet) possible to read time valuation results
Of course you can check if a single time type is recorded with a duration bigger than 8 or 10 hours and throw an error then. But as soon as breaks are assigned / recorded you need the time valuation to calculate the net time and check if this is bigger than 10 hours. And to read this result by the input check rules is not yet possible.
- It is not (yet) possible to check time recordings across the day
The input validation can currently only check a single day. Not something like when today an illness is recorded you are not allowed to record a travel time tomorrow. Or check the whole time sheet if more than 46 hours are recorded (this would need time valuation results and a whole sheet check in addition)
- It is not possible to sum up in the input rules
Currently it is not possible to sum different time types in the validations. So you can check if a single time type is bigger than 10 hours, but when two recorded working time types got 5 and 6 hours the check would not work (but you could check that it is not allowed to enter two working time types on a day and then that the duration is not bigger than 10 hours 😉 )
- It is not possible to have warnings in the input validations, only errors
Why this? Simply cause all the warning handling is complex. Too complex for one release. Just think on that the warnings can have different recipients: time admin, manager, employee. Should be configurable which warning is passed to one.
And an employee would want to have a warning raised only once upon time recording, not after each save in the time sheet on each day. So, a kind of “marker” must be available that the system knows that this specific warning has been presented once and does not need to be thrown again.
But even with this limitations I think the input validations provide already lots of possibilities to reduce erroneous data in the time sheet. And we are working on more to come soon.
Here is a screenshot of an error produced by an input rule that checks if an allowance is recorded on a day where an absence exists:
You can of course define for each error what the message text shall be.
2.) Mobile time sheet and mobile time off enhancements
We finally made it and provide time sheet recording on IoS mobile devices. Employees can now record their attendance times from anywhere at anytime. Great thing!
Here a short glimpse on how the time sheet recording looks on the IoS device:
It´s style is very Apple-like (in fact we worked together on this with the Apple-Design-guys).
And the good thing: no configuration needed. Install the app and you are done. This is how cloud should be !
Some more mobile Time enhancements: we provide time off on Android now as well and it is possible to add an attachment in the mobile time off application.
How cool is this? When employees are at a doctors visit and they get an illness certificate for one week- the employee can on his way home and back to bed create on his mobile device an illness absence and attach the picture of the illness certificate and he is done. Manager / HR are immediately informed on this. No need for the employee to send the illness certificate by old fashioned post (yes this was how it was done in former times) or even after return back to work with some strange inhouse posting systems. All done electronically, all done immedialty, all relevant persons get the necessary information immediatly.
Lets stick to the illness topic, good bridge to the next feature topic:
3.) Hide remaining time account balance in the employee time off view
One moment, what does this have in common with illnesses?
Quite easy, although I am walking a bit on thin ice now.
There are countries / laws in the world that grant an employee a specific number of paid illness days per year. And this is tracked by customers using leave absence types deducting a time account. When the time account balance is zero, the employee has to record a different absence time type to cover the rest of the illness, for example an unpaid illness time type. Hence via integration of our absence time types to IT2001 in the SAP / EC Payroll system (or via API call and transfer to a different payroll system) the first illness period that deducts from a time account gets paid, the second period covered by an unpaid illness time type that needs to be recorded after the time account balance is zero is of course unpaid.
The new feature allows now to hide the remaining balance of the time account. Why is this wanted?
Well, I bet that customers want to hide this balance not because they think an employee might get in december the idea to maybe declare himself ill when he sees that there is still a balance of 4 or 5 days in his Paid illness account. I actually don´t know anyone who would do this. So I don´t think this is the motivation why customers required this feature. I think it is rather due to this reason:
When an employee gets terminated he gets his vacation accounts paid out. He sees his vacation account balance in the time off application. This is what he is entitled to and what an employer needs to pay out when the employee is terminated. When there is a time account balance called “Paid sick time” the employee might assume he gets this days paid out, too, just the same as the vacation account. But this is not true.The employee is not entitled to these days. The time account is only used to track the paid illness absence days. And this is why some customers want to hide the display of the remaining balance.
Hence there is an option to configure time accounts to not display the balance. Would be too easy if we simply remove the balance from all Uis, wouldn´ it`? No, we made it clever. Everywhere an employee would see the balance it is removed, but for time admins the balance is of course displayed. Cause he needs to know the balance, he need to be able to answer employees question on why he can´t record the paid illness anymore. And we needed to remove the balance from several places: not only in the “favorite” tim type box or the time account overview, but also from the calculated remaining balance in the leave request form or in the leave request form that is used in the time sheet. So quite a lot of places in the code where we had to interfere.
How does this look like in the User Interface for different Users? Here are examples:
4.) Dedicated time off workflow when a manager records an absence on behalf
This is again a feature that was very often demanded by customers. Up to 1702 it was only possible to trigger a workflow when an employee has created a leave request. When a manager or time admin has recorded a leave on behalf of the employee it was autoapproved. We thought this would be sufficient and that we can convice customers to run more simple in the cloud but there are customers that simply need this kind of workflow. They want that a second person actually needs to approve the request even when a manager or time admin records it. Well, we reacted (although I am still convinced that customers in the cloud should take the opportunity and simplify their business processes). Workflow now provides the possibility to query the initiator of a workflow and you can sent different workflows by this.
Here is how the rule can look like:
So, whenever someone creates a leave request in the time admin workbench or via “Manage time off” you can query this and trigger another workflow.
Speaking of time admin workbench:
5.) Enhanced filters for the time admin workbench
You probably know the time admin workbench. We are as well working steadily on this UI to provide much more features to facilitate daily work of an time admin in terms of time recording, analysis and data correction. This release we could unfortunately not spent much ressources on this topic, but it is still on the agenda. And we provided some minor features like enhanced filter capabilities in the employees time recording list. A time admin can now limit the period for which he want to see the records, filter on specific time types and filter on the approval status of leave requests which facilitates time data analysis already to a great extend.
6.) Declined absence in employees absence overview
Small, but useful enhancement too: The employees absence list did not show the declined absences, only the pending / approved ones. To give the employee a full picture on his recorded time data we show now even the declined absences in the employees absence list:
7.) Time Valuation enhancements
Last but not least one minor but important enhancement regarding our time valuation needs to be mentioned, too.
Time off in lieu posting
You know probably our time off in lieu feature. For those who don´t: Employees record working time in the time sheet the time valuation calculates daily or weekly overtime. Depending on the default overtime compensation method in the employees job information the overtime gets paid out, transferred to a time off in lieu account that then can be deducted in turn with recorded leave types, or even a partial payout / transfer to a time off in lieu account.
Up to the Q1 2017 release the posting to the time off in lieu account was done immediately upon time recording. You know that we got a real-time time valuation (as compared to others that do this in a nightly batch job 😉 ). So, when an employee recorded on Monday 10 hours but has got only 8 hours planned, immediately 2 hours (or when a posting factor like for example 1.5 was applied: 3 hours) were posted to the time account upon saving the time sheet. The balance was updated immediately and the employee could already immediately request in the time sheet an absence for Friday to get the afternoon off by the time off in lieu deduction. Even when the time sheet and hence the overtime was not yet approved.
Due to customer feedback we enhanced this in a way that the time off in lieu account posting is not done immediately, but only after the time sheet gets approved. Negative side effect: only then the time off in lieu balance gets updated and hence the employee is only able to record a leave that deducts the time off in lieu account after the time sheet is approved. Before the approval it could be that the balance is not sufficient to cover the absence.
But customers can decide which way they want it: variant to post the plus booking to the Toil account immediately or only after approval. And when you have got different employee groups where this is handled for the one group in this way and for the other in another, you don´t have to configure different Toil accounts and deductions for it, cause we brought this configuration option in the time profile. So, you can use the same Toil accounts but steer different handling with different time profile settings:
You made it to up to the very end. Hope this was useful information for you. And as always – stay tuned. Already in 3 months time I will be up writing on the new features of the Q2 release. And when we are able to realize it like planned there will be big things coming. We will enter the next league in time valuation then. Champions-League. Code word: time buckets 😉
Product Manager EC Time