Freelance activity report: how to generate it from your calendar

Reconstructing an activity report from memory at the end of the month takes 90 minutes. If your calendar events are named correctly, the report already exists.

3 min read Adrien

Some clients don’t want just an invoice. They want a document: what you worked on, by project, by day, with hours. An activity report.

For freelancers working with large companies or agencies, this document is mandatory. Procurement won’t process an invoice without one. You either produce it or you wait to get paid.

How most freelancers produce it

At the end of the month, they open a blank document and try to reconstruct the last four weeks. Which days did I work on project A? Was that review session Tuesday or Thursday?

It takes 60 to 90 minutes. The result is approximate — accuracy drops sharply when the work happened three weeks ago. And it has to match the invoice, which means doing the same reconstruction twice.

Some freelancers keep a separate spreadsheet. That means maintaining two records of the same information, which only works until they stop doing it.

The calendar already has everything

An activity report needs a date, a task description, and a duration. A calendar event has all three — plus a start time, which is a timestamp rather than a recollection.

If you use a naming convention[Client][Project] Task description — your calendar events are already segmented by client and project. The data exists. You just need to extract it.

Filtering your calendar for one month and one client gives you the exact list of events: what was done, when, how long. That’s the activity report.

What it looks like in practice

A client requests an activity report for January. You filter your calendar:

  • Jan 6 — [Acme][Redesign] Initial brief review — 1h30
  • Jan 8 — [Acme][Redesign] Wireframes session — 3h
  • Jan 10 — [Acme][Redesign] Feedback call — 1h
  • Jan 13 — [Acme][Redesign] Iteration on wireframes — 2h

Total: 7h30. No reconstruction. Every entry existed at the time of the work.

This is the document. You didn’t write it. Your calendar did, over the course of the month.

Timescanner reads it for you

Timescanner reads your iCal calendar and breaks down time by client and project. The activity report is a direct output — total hours, by client, by project, with the event list.

You can send it by email from within Timescanner. There’s also an AI-generated narrative version: “In January, 7h30 were spent on the Acme redesign project, focused on brief review and wireframe iterations.” For clients who prefer a paragraph over a table.

When the report and the invoice come from the same source, there’s no gap between them. A client who questions a line on the invoice already has the detailed log.

The other effect

When you manage multiple clients, each of them may eventually ask for an activity report. Without a system, that’s five separate reconstructions every month.

With a well-named calendar, it’s five filter operations. Five minutes instead of five hours. And the billing at end of month runs from the same data.


Timescanner reads your iCal calendar and generates an activity report — broken down by client, project, and task. Works with Google Calendar, Outlook, Apple Calendar, and any iCal-compatible calendar.

Timescanner

Your calendar already knows how much you worked.

No timers. No new habits. Timescanner reads your calendar — Google Calendar, Outlook, iCloud, and more — and generates your billing reports automatically.

Start free trial — 30 days, no credit card