My first year running a business, I hired a conventional brick-and-mortar payroll service to pay my employees. We had a simple system. Each person would email me their hours, I’d enter them into a spreadsheet, and then I’d send the spreadsheet to my contact at the payroll service. Everyone got paid, the service handled my payroll tax payments and reporting, and it was fine. BUT, it was a lot of steps, and I had to ask the payroll company for any reports I wanted.
Next, I switched to Quickbooks Online as our payroll service, with a TSheets subscription for employees to enter their hours. This worked pretty well - TSheets has a great app and makes it easy for folks to enter their hours, and you can generate reports through a somewhat complicated, ok reporting system. When I found Airtable, I used it to replace TSheets for hours tracking and kept Quickbooks Online. Airtable is easier to use and provides infinite flexibility for reporting/viewing data. It's also a lot cheaper, because TSheets charges a fee per employee.
The first two tables listed above provide the structure that feeds the main "Time Tracker" table. You can see and interact with the base below.
This table will populate as many lines as you add to the bottom. If you add more, just make sure that you continue to increase the "Pay Period Number" by 1 every line. That number is used to calculate the schedule. The payroll schedule is set up biweekly. You can change the start date by editing the formula in the "Start of Pay Period" field. Mine is set up with the last day of the pay period on Saturday and payday the following Friday.
Friday is the most common day to pay employees, but you may have specific reasons that make another day more appropriate for your business. You want to leave some time in between the end of the pay period and the payday so that you can run payroll! Often employees forget to enter hours, make mistakes, etc, and you need time to fix it. Plus, most payroll services require you to run payroll at least a day in advance of payday.
Takes the employee’s first and last name, and email address. This table creates an individualized form link for each employee. Why individual? It prefills their name when they click it, which makes less work for them and reduces errors. Would people actually pick the wrong name, even though it means they don’t get paid? Yes!! Most employees, I've found, are much more focused on doing their actual job than on how they entered their hours. In the end, that's probably a good thing. But it means you need a very good system for reviewing mistakes - like this Airtable base :)
Now for the exciting part. This table is home to the form that employees use to enter hours. When an employee submits a form, the data goes here as well. I’ve organized it the way I like it, but you can view the data however you want to. Want to view hours per month? Add a calculated field and group by month. The world is your oyster.
And that’s it! I hope this is helpful to folks looking for a low-cost, flexible method for tracking hours and calculating payroll. It has been a game-changer for me.