Calrows

How to make a timesheet from Google Calendar™

If your team already blocks out its work in Google Calendar™, the timesheet is already there. It just isn't in rows yet. Here is how to turn a month of calendar events into hours, rates and totals in Google Sheets™.

Why the calendar is a good timesheet

People forget to fill in timesheets, but they don't forget to put meetings and work blocks in their calendar. Each event already has a start, an end and a title, usually with the client or project in it. All that's missing is a sheet that adds it up.

The one-click way: the Calrows Timesheet panel

  1. Install Calrows, open any Google Sheet, then Extensions › Calrows › Open sidebar.
  2. Pick the calendar at the top. Calendars your teammates have shared with you appear in the list too.
  3. In Timesheet, set the From and To dates (for example 1 to 30 September).
  4. Optional: type a client or project name in Only titles containing, so only matching events are counted.
  5. Optional: enter an hourly rate.
  6. Click Build timesheet.

You get a new tab with one row per event (date, title, start, end, hours, rate, amount and description), a total row, and a By title summary with hours and amounts per event title. All-day events are left out, since a holiday or a deadline isn't billable time.

The free plan builds timesheets of up to 50 events at a time. Pro has no limit, and is a one-time payment that never renews.

Tips that make the numbers come out right

Just the raw events instead?

If you'd rather do the maths yourself, use Import from Calendar: it writes every event in a date range as a row, with title, start, end, all-day, description, location, guests and colour.

With Apps Script instead

You can write it yourself: CalendarApp.getCalendarById(id).getEvents(start, end) returns the events, and (event.getEndTime() - event.getStartTime()) / 3600000 gives hours. Remember to skip all-day events, round the hours, and page through long ranges, or a busy calendar will hit the six-minute execution limit.

Install Calrows, free