Time Attendance is limited, not fit with today's flexibility

Dear community,

Do you find Attendance in Frappe HR rather limited?

Currently, the Attedance record is the corner stone of Leave and Time Attendance system in Frappe HR.

By design, it only afford to have 1 Attendance / Employee / Day. And the Attendance documentt only 1 type form the following list,

  • Present
  • Work From Home (which also mean present as WFH)
  • Absent
  • On Leave (which also mean absent as Leave)
  • Half day (which mean partial, also limited to only half days not hours)

The attendance is rooted deeply in all reports and calculations in the system.

But with this design, it is not quite possible to handle the flexibility of today’s work place. For example, one of our client office is very flexible such that, in a day it could be,

8:00 - 10:00 > Work @ Home
10:00 - 12:00 > Work @ Customer Site
13:00 - 14:00 > Leave for 1 hours (personal leave)
14:00 - 17:00 > Present (work at office)

Note: the currently local software can handle it without issue.

If you look at the above, only 1 hours should be counted towards the Leave Allocation. And the rest are working but in different types.

From what I see, this kind of requirement is not possible except to write separated application. Even so, difficult to maintain compatibility with the reset of the system, i.e., payroll.

Another way is to do the entire redesign into Frappe HR, which is also not possible to get accepted.

Any facing the same, and how do you get away with it?

Many thanks for your input.

What I don’t like is the status = Half Day, what if we remove it.

The redesign I could think of that might have less effect to existing system, is to still keep 1 Attendance / Day, but to be able to add more detail in a child table.

New Status:

  1. Present (full day)
  2. Absent (full day)
  3. On Leave (full Day)
  4. Flexible Hours ← new option

Everything that is not full day, i.e., standard doctype “Leave Application for half day”, or new doctype “Flexible Working Hours Request” should create Attehdance and mark status as “Flexible Hours” and also provide that detail of flexible hours (all sum to 8 hours) into a child table “Detailed Hours”

In new doctype “Flexible Working Hours Request” is working like Leave Application but with more detail. After it is approved, it will create 1 Attendance as Flexible Hours and many lines in child table “Detailed Hours”.

And yes, many other parts that rely on the hours here need to be modified.

I still think it is hard to do, just throwing ideas.

Hi Kitti,

Seems like a too permissive workspace :wink:

From the explanation, it seems like a breakdown of a hours spent by an individual, which is generally tracked in the Timesheet. As a work-around, we could suggest Timesheet for capturing the daily details, where Activity Types is created for each possibility. Leave Hours could be separate Activity Type.

At the weekend /month end, you can look for the sum of Leave Hours, and then deduct leave days based on formula.

For the dedicated feature of Flexible Hours, will let HR experts in the community and frappe team comment.

1 Like

Thanks @umair

Yes, your keyword is quite right “The break down activities for a person on that particular attendance day”.

The breakdown can well be the optional info (to avoid conflict with current one), but still should be able to reflect the leave hours in that day.

As I have seen many request about having > 1 attendance per day in the forum, to still avoid it (which I think we should), the optional breakdown activities with or without leave hours may be good.

And even without this request, I think to allow leave by hours instead of just half day leave will be super useful.

Would love to hear more comment, may be we could come up with some good solution without breaking things.