How would I create a daily timesheet?

Hello, I’m new to Coda and trying to figure out if this is even possible.

I would like to create a timesheet to several employees to log in and out of each day. Preferably they would see a list with their name on each row. Then they log in and out.

Simple enough and I could probably create that part but what I’m having trouble planning for is how do you clear the timesheet each day and then record their day’s entries for records. Their daily entries need to be kept for record.

The other part is to display their hours on a report somehow but that’s for later.

Hi @Robert_Baran :slight_smile: And welcome in the community! :grinning:

If you can share a sample doc it’s gonna be easier, but anyway,
I think that there are 2 possible approach to this, the first is to use a button to copy the needed row into a new table, where people can check in or out!
The second one is to use just one table for all activities with a “user” column that is gonna be used as a filter to get only the row they are interested in

My best approach would be to use a mixture of both system, i would keep one table with all the activities, those will be associated with some users, and they, just by pressing a button, can copy those row in a second table that is kept as record of the done activities (the button to say “log out” or finish this activity will be in the second table)

So, the first table can be super useful to manage activities that have to be periodically done, to have them in just one spot, when a button named maybe “i will take care of this” will add this row to the second table, changing the “date” to Now() and the “user” to whoever pressed that button.
To say “finish” like ok i’ve done it in the second table there will be a button called “i’ve done it” that change a value in the “finish date” column and this give you total worked hours, that you can then report as you prefer in other parts of the doc!

Said like this maybe it could be a little complicated, but if you share a doc i’ll help you :slight_smile:

Have a nice making!

Mario

Hey @Robert_Baran you can do this by creating a Users table and a History table. The User table should have a Clock In/Out button. Have the user see a view of the Users table filtered to only the logged in user using User() formula.

Each press of Clock In/Out button will add a row to the History table with two columns, Start and Finish. Initially pressing the button adds a Start timestamp whereas a second press will find the Last() record where user = logged in user and will ModifyRows() the Finish column.

You can have each user have a view of the History table filtered where user()=user_logged_in && Start=DateTimeTruncate("day")=today(). This will show them their entries for today and will clear each day.

This should be a good start, there is so much you can do depending on your requirements (reporting, stats, etc). Best of luck!

1 Like

Hi @Robert_Baran,

Welcome to the community!

A timesheet was one of the first Coda docs I ever built. I created this one when I was still working at REI and needed a way to track and submit my hours to my manager.

This could be adapted to be filtered on a per-user basis as well like mentioned above in this thread.

The email part is a little tricky because I wanted to have nicely formatted HTML emails.

You should be able to copy the doc and give it a try if you want to experiment.

Thanks everyone, I’ll take a look at these ideas