Calrows

Client timesheets from Google Calendar™, for virtual assistants and bookkeepers

Updated 7 October 2026

If you're a virtual assistant, online business manager or bookkeeper looking after several clients, and the work is already blocked out in Google Calendar™, the hours you report are already there. Calrows, a Google Sheets™ add-on, turns a client's calendar into a timesheet, exports a date range of events to a sheet, and sends a schedule from a sheet to the client's calendar, all from your own Google account.

Three jobs it does for each client

Monthly timesheet

One row per timed event between two dates: date, title, start, end, hours, your rate and the amount, plus a total and a summary by event title.

Date-range export

The events between two dates as rows: title, start, end, all day, description, location, guests and colour.

Schedule from a sheet

Plan appointments in rows and send them to the client's calendar. Edit a row and send again: the event is updated, not duplicated.

It works through your own Google account

Calrows runs as the Google account you open Google Sheets with. Its calendar picker lists every calendar in your Google Calendar list, including the ones clients have shared with you, marked "(shared)". You never need a client's password, and the client installs nothing. In Google Calendar, the client opens their calendar's Settings and sharing, goes to Shared with › Add people and groups, enters your email and picks a permission:

You want toPermission the client gives your account
Build timesheets and export eventsSee event details
Create and update events from a sheetMake changes and see event details

Google then emails you a link. Click it to add the calendar to your list; until you do, it won't appear in Calrows. "See only free/busy (hide details)" hides event names, so it isn't enough. If the client uses Google Workspace, their admin decides how far calendars can be shared outside the company, for example free/busy only, or event details without changes. If the client can't give you the permission you need, that admin setting is the one to ask about.

A monthly client timesheet in five steps

  1. Once per client: ask them to share their calendar with your Google account, as above, then click the link in Google's email to add it to your list.
  2. Install Calrows (free), open that client's spreadsheet, then go to Extensions › Calrows › Open sidebar.
  3. Pick the client's calendar at the top of the sidebar.
  4. Under Timesheet, set From and To to last month (they default to this month, and both days count). If the calendar holds other events too, type the client or project name in Only titles containing. Enter your Rate per hour.
  5. Click Build timesheet, check the Total row and the By title summary, then share the sheet or download it as Excel or PDF (File › Download).

Hours are rounded to two decimals (45 minutes is 0.75), all-day events are left out, and amounts have no currency symbol, so any currency works.

The Sync Log: a running record for each client

Each spreadsheet you use Calrows in gets a Sync Log tab: time, action, row, status and message. It records every event created, updated or removed, with its title; every failed row, with the reason; and a summary of each run, including imports and timesheets with their event counts and tab names. Unchanged rows aren't listed.

It's a simple audit trail to show a client, but it's an ordinary tab that anyone with edit access can change: a working record, not a locked log.

Pricing for one VA, and for a VA firm

PlanPriceWhat you get
Free$050 new events per calendar month, per Google account. Timesheets and exports of up to 50 events each. Manual sync.
Pro$6 for a month or $48 for a year, paid onceNo 50-event limits, plus automatic sync. Tied to your Google account, not to a calendar or a spreadsheet.
Team$190, $390 or $690 a year for up to 10, 25 or 50 people, paid oncePro on each person's own Google account, switched on within one business day of receiving their emails.

One Pro covers every client calendar shared with your account, so a VA with ten clients needs one Pro, not ten. Four yearly Pro passes would cost $192, so Team is cheaper from four people up. Over 50 people? Email [email protected] for a quote.

Client data stays in Google

Calrows opens only the spreadsheet you use it in and reads events only from the calendar you pick. No sheet or calendar content reaches any Calrows server; the one outside call is a licence check that sends your Google account email. No AI features, analytics or cookies in the add-on: see the privacy policy.

Honest limits

Frequently asked questions

Does one Pro licence cover all my clients' calendars?

Yes, as long as each calendar is shared with your Google account and added to your calendar list. Pro is tied to the account you open Google Sheets with, not to a calendar or a spreadsheet. A login on a client's own domain is a separate Google account and needs its own Pro.

Do my clients need to install Calrows?

No. They share their calendar with you, and you run Calrows from your account. The timesheet is an ordinary Google Sheet they can open without the add-on.

What calendar access does a client need to give me?

"See event details" for timesheets and exports, and "Make changes and see event details" to create or update events from a sheet. "See only free/busy (hide details)" hides event names, so it isn't enough.

Can I bill different clients at different rates?

Yes. Build one timesheet per client, each with its own rate and title filter. Keep one spreadsheet per client, or rename each timesheet tab, because tabs are named by date only.

Is it a subscription?

No. Pro is $6 for a month or $48 for a year, paid once, with no auto-renewal. Team plans are $190, $390 or $690 a year for up to 10, 25 or 50 people, also paid once.

With Apps Script instead

In your own script, CalendarApp.getCalendarById(id).getEvents(start, end) works on shared calendars in your list, and (event.getEndTime() - event.getStartTime()) / 3600000 gives hours. Filter titles per client, skip all-day events, and keep runs to about a month: Apps Script stops after six minutes.

Install Calrows, free