I’ve gone through a lot of threads/issues here and on github relating to timesheets, timelogs, over-time & attendance. There have been many requests over the years from end-users while developers have their own valid point of duplicating the same thing.
These are some points that I think need discussion and thought by developers -
-
Are timelogs efficient for storing daily data for say 100-200 workers and above?
-
Data entry needs to be easier. From what I understand this would solve most of the recurring demands for this topic of overtime.
-
Timelogs only address work hours with respect to billables/projects. They don’t address salary (& overtime) payment, which maybe at different rates to normal pay.
Probable solution -
-
Enable Entry and exit time-stamps for all employees. Fill these directly into time-logs, (with option to split time lengths for work done as in time log, if we really want to merge those two. Data entry could be automated by importing timestamps from csv files. This way everyone can continue to use whatever attendance machines they are using.)
-
Define shift timings along with holiday list for employees.
-
Define overtime payment rate.
-
Set rules for minimum hours for half day/ attendance etc.
-
Calculate overtime hours. Then do salary calculations for overtime and mark attendance.
–Scenario A) Employee doesn’t get paid for overtime, Just attendance. -->Set OT pay rate to zero.
–Scenario B) Employee get’s paid per hour only. -->Simply set shift to zero hours. Paid overtime rate only.
– Scenario C) Employee paid attendance+overtime → This is the basic scenario what the above system is defined for.
I think this could really make the erpnext attendance and HR system really robust without duplicating code, like for civil contracting and projects, etc.
As for merging time logs with attendance. The workflow should be -
- Mark attendance (time in and time out).
- Then enter work done between those times (time log as is)
- Report idle time/ billed time etc. in percentage.