Skip to Content
Technical Articles
Author's profile photo Sanjay Wadhwani

SF ECP Timesheet – take on multi layer valuation rules to generate daily & weekly OT

We know that SAP Time Management can handle complex rules in evaluating time results; that cannot be said for SuccessFactors Employee Central Payroll Timesheets. SAP SuccessFactors have announced new Time tracking application which will have much more capabilities when compared to ECP Timesheet. More details can be found here.

ECP Timesheets are easily accessible to employee is a huge benefit. Employees can easily update their weekly timesheet; system auto fills their daily hours (Negative Time recording) is an advantage that most of customers like.

Recently had a challenge to build an complex solution in EC Timesheet for one of customer; where an employee could claim multiple attendance hours for each day, total hours for each day and week would generate daily and weekly overtime. Some attendance would generate its individual overtime paid at higher rate, different pay rate on a public holidays..etc. In this blog I have highlighted some of those challenges and how was the solution achieved. I hope you enjoy reading it 😊

Let see what the requirements were –

  • Attendance are made of Regular hours, Training, Rescue, ERT and Higher Duty.
  • Total daily hours above the daily threshold for the day are considered as OT 1.5. No differentiation between working and non working day.
  • Similarly weekly hours above the threshold will generate OT 1.5
  • When all the attendance is Higher Duty and employee is eligible for OT then it should be Higher Duty OT (Higher Duty OT1.5 is paid at further premium rate)
  • Any hours worked (except Higher Duty) on a Public holiday are paid at Public Holiday 1.5.
  • Higher Duty is worked on a public holiday is paid at Higher Duty OT 1.5 instead of Public Holiday 1.5
  • Apart from employee time and payroll administrator can key in OT hours which are not included in any calculation; but are paid straight OT 1.5

 

We had a combination of 8 time recording profiles which had individual daily and weekly threshold. In this blog I will represent 1 time recording profiles ’45 Weekly / 11 Daily OT’ and valuation rules to meet the above requirements –

 

Challenges –  Few challenges that came across were;

  1. All hours above daily/weekly hours will generate overtime; however which also means that any combined hours are to be restricted to 45 so that employee does not get paid for attendance when they system generates OT.

Example- when an employee works for 38 hours regular attendance and 10 hours of training in a week; our valuation rules should generate 3 hours OT and restrict combined value of regular and training to 45. However Payroll requires inputs against each attendance for GL posting; so we cannot combine regular + training and restrict it to 45 hours. In this case Regular hours will act as primary attendance type and will be reduced by the OT. Training, ERT, Rescue, Higher Duty will not be reduced.

Expected Output – 3 hours of OT 1.5, Training is 10 hours and 35 hours of regular attendance.

 

  1. If All hours of the week/day are for higher duty attendance and weekly/daily hours are above threshold system to generate Higher Duty OT 1.5 instead of regular OT

 

Solution

The idea used for this is evaluate each individual attendance to generate different time type group and then use those output as input for further processing.

 

  • Higher Duty –  For Higher Duty we have few special rules; will handle them first

 

  1. First Valuation rule will check if Higher Duty is worked on a public holiday; this is for condition Higher Duty is worked on a public holiday is paid at Higher Duty OT 1.5 instead of Public Holiday 1.5

 

  • HGOT-1 used in Below Time Type group will be used to generate Higher Duty OT 1.5 which is paid at different rate.
  • Above Time Type group is used for subsequent processing

 

 

  1. Input from first Higher Duty valuation rule is used check if Higher Duty hours on a non public Holiday is above daily threshold; if yes generate Higher Duty OT1.5. This is for condition  When all the attendance is Higher Duty and employee is eligible for OT then it should be Higher Duty OT (Higher Duty OT1.5 is paid at further premium rate)

 

  • Below Time Type group is used for subsequent processing
  • HGOT_2 used in Above Time Type group will be used to generate Higher Duty OT 1.5 which is paid at different rate.

 

 

  1. The Next valuation rule is used for check if the total higher duty hours are above then weekly threshold. If it is then it will generate Higher Duty OT.  The above rule was for daily and this rule is for weekly.

 

 

  • Below Time Type generates Higher Duty Hours used in payroll for payment
  • HGOT_3 used in Above Time Type group will be used to generate Higher Duty OT 1.5 which is paid at different rate.

 

 

 

  1. The last valuation rule for Higher Duty is to combine all the Higher Duty OT generated from previous 3 valuation rules for Higher Duty to generate 2120 time type group which will be consumed by ECP for payment.

 

 

 

Before we look into other rules;

  • Regular hours, Training, Rescue, ERT are paid at normal hourly rate
  • Regular hours is used as a master attendance for the purpose of OT generation there is an additional processing.
  • Valuation rules for Training, Rescue, ERT are same; just their input and output differs. Will display Rescue as an example

 

  • Rescue (Training & ERT)

 

  1. First valuation rule is to check if is a Public Holiday using a public Holiday Filter. This is for condition – Any hours worked on a Public holiday is paid at Public Holiday 1.5

  • Below Time Type group is used in another rule for Holiday payment.
  • Above Time Type group is used as input for second rule (below)

 

 

  1. Second valuation rule uses input from first rule. This rule is for condition Total daily hours above the respective daily threshold for the day are considered as OT 1.5. 

  • Below Time Type group will hold hours up to 11; this time type group will be consumed in Payroll for payment.
  • Above Time Type group is used to generate daily OT 1.5

 

 

  • Regular Hours

 

  1. First valuation rule is to check if is a Public Holiday using a public Holiday Filter. This is for condition – Any hours worked on a Public holiday is paid at Public Holiday 1.5

For reporting purpose, we have created 2 attendance for regular hours; REG_1 is system generated (this is a negative time recording method) and REG_2 is used by employee.

 

  • Below Time Type group is used in another rule for Holiday payment.
  • Above Time Type group is used as input for second rule (below)

 

  1. Second valuation rule uses input from first rule. This rule is for condition Total daily hours above the respective daily threshold for the day are considered as OT 1.5. 

 

  • Below Time Type group will hold hours upto 11; will be used as input in third rule.
  • Above Time Type group is used to generate daily OT 1.5

 

 

  1. Before we go into the third rule for regular hours lets combine all the attendance for the day to check if the combined value is above the daily threshold.

If the combined value is above daily threshold then that needs to be reduced from regular hours; as we do not want to pay the employee for all the individual attendance and OT. Generated daily OT needs to be reduced from some attendance; since Regular hours is a primary attendance it will be reduced by 2121E time type group and stored into REG-5

  • Above Time Type group is used for subsequent processing.

 

  1. As mentioned above Regular Hours is a master attendance type which will be reduced when rules generates a weekly OT. So at this point we cannot generate final Regular Hours to be consumed in payroll. We need to generate weekly OT 1.5 for hours above 45 and same value is to be reduced from Regular hours. This is to ensure that employee is not paid Regular Hours and OT 1.5 above 45 weekly threshold.

In this valuation rule regular hours from previous rule + all the final hours against each attendance are combined to check if weekly threshold of 45 is met.

 

 

  • Below Time Type group is a variable which will be used in next rule. It will hold a maximum up to 45 hours.
  • Above Time Type group weekly OT however, at this point not generating the final Output for OT 1.5; but all the OT 1.5 are combined into a single time type group.

 

 

  1. This valuation rule will generate the Regular Hours which will be consumed in payroll. Note here are reducing all the non regular hours from REG-6 because in the previous rule REG-6 is a combined weekly hours used for the purpose of weekly OT. For purpose of payment we want regular hours should not contain any Training, ERT, Higher Duty or Rescue of the week.

  • Below time type group from previous rule and
  • all the other the attendance hours in final output form consumed in payroll but with a negative sign. This is to ensure regular hours are proportionality reduced and employee is not overpaid.

 

 

Our solution is almost ready. We need 4 more valuation rules

 

  1. For any OT hours maintained as an attendance directly will generate OT 1.5 output. This was created so that administrators can create OT 1.5 records; employee do not access to maintain it themselves

 

  1. Combines all daily OT hrs into a single time type group

 

 

  1. Cumulates all the OT hours into 1 output WT which is consumed in payroll.
    1. Manually entered OT
    2. Weekly OT,
    3. Daily OT
    4. This is combined daily OT

  1. A valuation rule to Cumulate the hours for Public Holiday OT generated against each attendance

 

Conclusion

Now that configuration is set up. When the timesheet is maintained by batch job, manually by the employee or admin; it will run through each of the above validation rule to generate the following output.

Higher Duty 2100
Higher Duty OT 2120
Rescue 2102
Training 2103
ERT 2104
Regular Hours 2105
OT 1.5 2121
Public Holidays 2122

 

The above time type group have to be set up as Time TypeYes so that it replicates to payroll and UI ComponentYes; so that it visible to employee, admin at the time of submission.

The same principle has been used for other time recording profiles with variation in daily and weekly threshold. solution is up and running for past 3 months.

 

I hope you enjoyed reading it. Incase any question let me know.

 

Assigned tags

      2 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Partha S Chinta
      Partha S Chinta

      Very good article Sanjay

      Author's profile photo Sanjay Wadhwani
      Sanjay Wadhwani

      Thanks Partha