
A Google Forms timesheet template lets employees submit their work date, start and end times, break minutes, and project through a simple form. Connect the form to Google Sheets, calculate hours, and have a reviewer approve each entry before it appears in the weekly total. The key is to record actual shift times, rather than confusing the automatic submission timestamp with hours worked.
Google Forms Timesheet Template: What You Will Build
This no-code setup has three parts: a Google Form for daily entries, its linked response spreadsheet, and a small review area in Sheets. Employees submit one response per shift or project entry. Sheets calculates the duration; a supervisor checks the entry and marks it Approved, Pending, or Needs Correction. Weekly totals include only Approved hours. It is a practical internal log, not a payroll system.
Unlike a clock-in app, this form asks employees to report their times after the fact. The Timestamp column shows when they submitted the response. The timestamp cannot establish the actual shift end.
Step 1: Create the Form With Copy-Ready Questions
Open Google Forms, create a blank form, and name it Daily Timesheet — Team Operations. Add these questions in order. Google documents the supported Date, Time, Dropdown, and Paragraph question types; set the essential fields to Required.
| Question | Type | Setting or sample answer |
|---|---|---|
| Work date | Date | Required; 9 Nov 2026 |
| Project or cost centre | Dropdown | Required; Client A, Internal, Support |
| Start time | Time | Required; 08:30 |
| End time | Time | Required; 17:15 |
| Unpaid break (minutes) | Dropdown | Required; 0, 15, 30, 45, 60 |
| Work note | Paragraph | Optional; reviewed supplier quote |
Use Dropdown choices to standardize project names and approved break durations.
Small tip: Ask for work date explicitly even though Forms records a submission timestamp. Someone may submit Monday’s work on Tuesday morning. Without a separate date field, your weekly report could place the entry in the wrong period.
Step 2: Set Form Permissions for Repeated Timesheets
Open Settings, expand Responses, and consider Collect email addresses → Verified for a team whose members can sign in with their Google accounts. This gives the reviewer a recorded address rather than relying solely on a typed name. Check responder access for external workers.
Keep Limit to 1 response switched off. Google’s setting limits an account to one total submission to that form; it is unsuitable for a timesheet that needs daily or repeated shift entries. Decide whether to allow response editing. Use a documented correction and re-review process after approval. Google’s form sharing and response settings explain these options.
Practical tip: Edit the confirmation message to say “Your timesheet entry has been received. It still needs supervisor review.” That prevents staff from interpreting a successful submission as an approved timesheet. Publish the form and give workers the responder link only after its questions and access settings are ready.
Step 3: Connect Responses to Google Sheets
In the form, open Responses and select Link to Sheets, then create a spreadsheet or choose an existing one. Google’s response destination instructions document the connection. Rename the workbook Team Timesheets — 2026. Keep the incoming response columns intact; add calculated and review columns to the right instead of editing the form’s original question headers.
For the example below, assume the sheet columns are A Timestamp, B Email Address, C Work date, D Project, E Start time, F End time, G Unpaid break (minutes), and H Work note. Add I Hours, J Review status, K Reviewer note, and L Duplicate review. Match the actual headers before using a formula.
Format the Work date column as Date and the Start and End columns as Time using Format → Number. Check the spreadsheet locale and time zone under File → Settings. Google confirms that these settings affect date and number formatting across the spreadsheet. This is particularly important for teams with staff in different countries.
Step 4: Calculate Hours, Including Overnight Shifts
Paste the following into I2, provided E and F contain genuine Sheets time values and G contains numeric break minutes. Copy the formula down as new response rows arrive:
=IF(OR(E2="",F2="",G2=""),"",IF(VALUE(G2)>MOD(F2-E2,1)*1440,"REVIEW",ROUND(MOD(F2-E2,1)*24-VALUE(G2)/60,2)))
The MOD(F2-E2,1) calculation wraps an end time earlier than the start time into the following day, which is useful for a shift crossing midnight. Multiplying by 24 converts the time fraction to hours; dividing break minutes by 60 subtracts the unpaid break. The result is rounded to two decimals. Google documents MOD as a remainder function; the formula uses that behavior for the illustrative shift calculations.
| Start | End | Break | Calculated hours |
|---|---|---|---|
| 08:30 | 17:15 | 45 min | 8.00 |
| 22:00 | 06:30 | 30 min | 8.00 |
| 09:00 | 17:00 | 30 min | 7.50 |
Easy-to-miss detail: The MOD method assumes an entry represents a shift shorter than 24 hours. Identical start and end times produce zero, not a 24-hour shift, and clock changes for daylight saving time may require separate treatment. If a break exceeds the calculated shift length, the formula returns REVIEW rather than a negative total. Resolve these entries with the worker before approving them.
Illustrative Example: Three Entries and a Manager Review
Imagine Maya submits three entries for the week beginning Monday, 9 November 2026. Monday is Client A, 08:30–17:15 with a 45-minute break. Tuesday is an overnight Support shift, 22:00–06:30 with a 30-minute break. Wednesday is Internal, 09:00–17:00 with a 30-minute break. All three entries record 8.00, 8.00, and 7.50 hours respectively.
Her supervisor, Avery, checks the work notes against the team’s schedule. Avery marks Monday and Wednesday Approved, but leaves Tuesday Pending while confirming the overnight handover with the shift lead. Avery enters “Confirm overnight coverage” in K3. The weekly Approved total is 15.50 hours, not 23.50. This is an illustrative scenario.
Add a dropdown to J2:J for Pending, Approved, and Needs Correction. Reviewer notes in column K should state the question or evidence needed, not merely “Check.” For a simple duplicate flag, put =IF(B2="","",IF(COUNTIFS($B$2:B2,B2,$C$2:C2,C2,$D$2:D2,D2)>1,"CHECK","")) in L2 and copy down. It flags repeated email/date/project combinations for review; two genuine shifts for one project can also trigger it, so do not automatically delete flagged entries.
Step 5: Sum Only Approved Hours for the Week
Create a small review summary on the right of the response sheet. Enter Maya’s verified email in M2 and a real week-start date, 9 November 2026, in N1. Assuming I holds numeric calculated hours and J holds the approval status, enter:
=SUMIFS($I$2:$I,$B$2:$B,$M2,$C$2:$C,">="&$N$1,$C$2:$C,"<"&$N$1+7,$J$2:$J,"Approved")
This counts rows for the employee, from the beginning of that Monday up to but not including the following Monday, where status is Approved. For the illustrative entries, the total is 15.50. Sheets’ official SUMIFS documentation explains the multiple-criteria structure. Keep dates as dates and hours as numbers; text in either field can make comparisons or totals misleading.
Our Google Sheets QUERY examples explain more report options. Combine hours with a weekly status report when managers need progress and blockers.
What Can Go Wrong With a Google Forms Timesheet?
If every hours cell displays an error, inspect the data type in E and F first. The visible value 08:30 may be text in some imported sheets rather than a spreadsheet time. Correct the underlying representation instead of hiding errors with IFERROR. If a weekly total is unexpectedly low, check whether a row is still Pending, falls outside the date window, or belongs to a different email address.
Do not grant every respondent access to the linked Sheet. Form collaborators may also access the linked Sheet; review both permissions. Review sharing on both files. A timesheet can reveal working patterns and personal information; limit access to staff who need to process entries.
Google Forms does not verify clock-ins or enforce overtime policy. Document who can approve corrections and how you preserve the original submission. If a team also needs broader request ownership and approval tracking, our Google Forms request tracker explains a complementary no-code workflow.
Frequently Asked Questions
Can I use Google Forms to clock employees in and out automatically?
A form can record the submission timestamp, but it is not a verified clock-in/out system by itself. This template asks for explicit start and end times and calculates the duration in Sheets.
Why should I leave Limit to 1 response off?
That setting restricts an account to one submission to the entire form. A recurring timesheet needs repeated daily or shift submissions.
How do I prevent pending hours entering the weekly report?
Use a separate Review status column and a SUMIFS formula that includes only Approved records. Leave disputed entries Pending until a supervisor records the outcome.
Make the Handoff Clear
Keep the form short, review calculations and questionable duplicates, and require a named person to approve timesheet rows before weekly reporting. For larger office teams, the Office Control Logs & Trackers Kit provides separate editable logs for actions and decisions; it does not replace the hours formula above. Explore more practical builds in our Digital DIY guides.