TimeSheet Sync guide#
TimeSheet Sync reads your Google Calendar, finds billable meetings by #tag or client email domain, applies your billing increment and hourly rates, and builds a timesheet you can turn into a PDF invoice.
Quick start#
- Open a Google Sheet and click Extensions → TimeSheet Sync → Open TimeSheet Sync.
- Under Client rate cards, add a client: a tag (like
#acme), the client name, an hourly rate, the client's email domain (likeacme.com) and currency. - Pick a rounding rule and a date range, then click Scan calendar.
- Review what was found, tick any untagged meetings you want to include, and click Export to sheet.
- Pick the client under Generate PDF invoice and click Generate PDF in Drive.
Tagging meetings#
Add the tag anywhere in an event's title or description: Roadmap review #acme. Tags are matched as whole words, so #acme doesn't match #acmex. If you use both #acme and #acme-dev, the longer tag wins, so you can bill engagements at different rates.
Rounding#
| Setting | Example: a 50-minute meeting |
|---|---|
| Exact minutes | 0.83 h |
| Up to 6 minutes (0.1 h) | 54 min → 0.9 h |
| Up to 15 minutes (0.25 h) | 60 min → 1.0 h |
Rounding is applied per meeting, always upwards, which is the usual convention for legal and consulting billing.
What's skipped#
- All-day events, focus time, out-of-office and working-location entries
- Meetings you declined
- Meetings where every outside guest declined
- Cancelled events
The scan shows how many events were skipped and why.
Untagged meeting recovery#
If a meeting has no tag but a guest's email matches a client's domain, it's listed under Untagged meetings with client domains, with the amount it would bill. Everything is ticked by default; untick anything that wasn't billable, then export.
The Timesheet tab#
Date, start, end, title, client, tag, minutes, billed hours, rate, amount, currency, guest (as a people chip), invoice number and a hidden event ID. Scanning the same period again updates existing rows instead of adding duplicates, and never changes rows that are already on an invoice.
Invoices#
- Open Invoice details and fill in your business name, address, email, invoice prefix and next number, payment terms, tax rate and notes. These are saved with your account and work in every spreadsheet.
- Under Generate PDF invoice, pick a client (only clients with uninvoiced rows appear).
- Click Generate PDF in Drive.
The PDF is saved to your Drive, logged on the Invoices Sent tab with a link, and the rows are stamped with the invoice number. Your first two invoices are free; after that you need a plan.
Check hours and rates before sending an invoice.
Permissions#
| Permission | Why |
|---|---|
| Events on calendars you own, read-only | Find billable meetings; nothing is changed |
| This spreadsheet | Write the timesheet |
| Files the add-on creates | Save invoice PDFs |
| Your email | Identify your account and plan |
TimeSheet Sync doesn't use AI and doesn't send your calendar to our server; scanning and invoicing run inside Google.
Troubleshooting#
- No events found: events on shared or subscribed calendars aren't read; only calendars you own. Check the date range.
- A meeting billed to the wrong client: check for two tags in the title; the longer one wins.
- "You've used your 2 free invoices": start a plan with Top up.
More fixes in Troubleshooting.