I currently have made a pretty simple set up with two tables.
1 table has bunch of projects listed and the other one is my clock in and clock out.
I’ve then made a form so staff can clock in and clock out via their phone. The form has 2 date fields a ‘clock in’ and ‘clock out’ and a link to the first table.
Currently it works by employees clock-in and clock-out all in one go, so each record is one log and can tell me amount of time worked in one log.
However I’m wondering if there is a way to have a ‘clock in’ which can be used once a task is started and another clock out which can be used once a task is finished, but still tell me how long each specific logs are?
This may be possible to do in a single table, but it would likely be a fairly complex system to set up. With clock-ins and clock-outs in separate records in the same table, and no guarantee how many records separate the clock-in from the clock-out for a given task, it becomes extremely challenging to connect the two together.
One possible alternative is to use separate tables for clock-ins and clock-outs, each with a separate form for users. Each clock-in record would link to a task, and each clock-out record would need to link to a clock-in record, which could be made easier by creating a view in the
[Clock-Ins] table to filter only records that have no link coming from
[Clock-Outs], and target that view when users pick a record on the
[Clock-Ins] table in a test I made:
[Clock-Outs] table, which looks up the task from the linked clock-in record to build its name:
After linking the clock-out record to a clock-in record, the latter record can look up the out time and calculate the duration of the task.
Thank you for the above.
It’s a nice work around.
I’ll experiment a bit with that and hope that somehow one day conditional logic will be worked into the airtable forms to be able to use only one form.
I would like a solution where hourly workers could queue in front of a desktop, sign into airtable, and “punch the clock”?
Sorry, but I never went farther with the time clock system. I didn’t have a need for it, either for myself or any clients. With some of the features that have been added to Airtable since we had that discussion (almost 18 months ago), it’s possible that I’d recommend a different setup, but I don’t have time to delve into conceptualizing it at the moment.
@Justin_Barrett: Funny, I just saw your solution above (from August 2019) right now, and that’s the EXACT setup that I just used for a client a few weeks ago! Great minds! :stuck_out_tongue_winking_eye:
@john_andrews: Welcome to the community! I’ve created several different types of “punch clock / time clock” systems in Airtable for clients. I can think of about 4 or 5 different ways of doing it. There are pros & cons to all the different methods, and it all depends on your specific needs, how your base’s tables are setup, and what your ultimate goals are.
I’m sure that other people will chime in to help give you some ideas/direction on this, but it will likely take several hours to setup, so you might benefit from working one-on-one with a consultant. If you have a budget for this project and you’d like to hire an expert Airtable consultant to help you create this, please feel free to contact me through my website at ScottWorld.com.
I in the end went with a simple time sheet to fill in EOD which still works. Not ideal, but works.
However I’m fairly sure with the new automation and scripting block you’ll be able to make a clock in/out.
Maybe set up a checkbox as a check in and out and use a ‘last modified time’ to collect the time.
If everyone has logins I think you should also be able to create a scripting block that will do this.
My biggest problem was that I was trying to wire it together a system together taking input from forms because it would be too expensive to have everyone as a paid base member. But I think it might now be possible with some JS comparing names and dates.
Hi, I've been experimenting with something like this. It's a simple interface that just allows users to select their name and click a button when they arrive/leave a location. The base then calculates how long they've spent on site. All you need to do is pre-populate the list of names each day. May be a bit late to the game here but it's available at https://amazingairtable.gumroad.com/l/lvcyc