Skip to Content
Menú
This question has been flagged
1 Respondre
718 Vistes

We have an overtime bank (time bank) agreement for employees that allow hours above their weekly expected hours to be banked in exchange for time off at regular pay during regular working hours at some later date.  

Example:

  • John works 9 hours on Monday
  • He can bank 1 hour to reduce his working hours to 8
  • John works 7 hours on Thursday
  • He can use the banked hour to meet his 8 hours requirement for Thursday

I believe this is called "Comp Time" or also "Flexible Hours".

Avatar
Descartar
Best Answer

Create a Project - Bank Time - and create one Task per Employee where they can timesheet their hours in and out.

When they work more hours than required, they would reduce their hours for that day by logging a negative amount of hours on their bank time Task.

When the work less hours than required, they would increase their hours for that day by logging a positive amount of hours on their bank time Task.


A simple Automation Rule can update the Description of their bank time Task so they can see their "balance" at any time by clicking the Task during Timesheet Entry.

The Action is of type Update Record using Compute on the Description field:

'No hours available.' if record.effective_hours == 0 else ('%s hours available.' % str(-record.effective_hours) if record.effective_hours < 0 else 'No hours available - you owe %s hour(s).' % str(record.effective_hours))


User then manage their Timesheets like this:

Initially, when they click on their Bank Time Task:

They see:


When they reduce their worked hours from 9 to 8:

They would then see:


If they ever took more than available, they would see:


OPTIONAL: You may also want to schedule an Approval Activity for "withdrawals" of banked time, via another Automation Rule that looks for increases in the Time Spent field.

Avatar
Descartar
Related Posts Respostes Vistes Activitat
1
de març 25
2132
0
d’abr. 23
2612
0
de gen. 23
1441
0
de jul. 21
2117
1
de maig 21
11761