Agencies billing clients by the hour

Bill every hour you actually worked

Agency time sheets are reconstructed on Friday afternoon from memory, calendar entries and guesswork. The hours that go missing are rarely the big ones — they are the fifteen minutes on a client call, the amend that took half an hour, the deck opened three times on Thursday. ActivityPulse records what was actually in front of the person and attributes it to the client and project it belonged to.

What goes wrong today

If none of these are familiar, this probably is not your problem.

  • Timesheets written from memory at the end of the week, systematically under-reporting small tasks.
  • Unbillable admin time absorbed into project budgets because nobody knows where it went.
  • Client disputes about an invoice that cannot be answered with anything more than an assertion.
  • Retainers that quietly run over without anyone noticing until the month closes.

What changes

With privacy-by-default metadata tracking.

  • Hours attributed to a client and project as they happen, not reconstructed afterwards.
  • An invoice backed by which application and window the time was spent in, per segment.
  • Retainer burn visible during the month rather than after it.
  • Manual corrections still possible, marked as adjustments and audited rather than overwriting what was captured.

What the design guarantees

no-double-count
An hour is never counted twice: each activity segment carries a UUIDv7 the server upserts on, so a retried sync adds nothing.
manual-adjustments-audited
A manually adjusted timesheet is marked as adjusted and audited; captured data is never silently overwritten.
offline-first
The agent keeps working with no network, queueing segments locally and syncing them when the connection returns.

Questions from teams like yours

Will our client accept ActivityPulse hours on an invoice?

The export shows time attributed per project and task, with the application and window each segment came from and the device that recorded it. That is metadata evidence rather than screenshots, and it is reconcilable line by line.

Can we still adjust hours before invoicing?

Yes. Manual timesheet adjustments are supported, clearly marked as adjustments, and audited. Captured data is never silently overwritten, so the original record survives the correction.

What happens to time worked on a client site with no Wi-Fi?

The agent queues segments locally and syncs when the connection returns. Each segment carries an id the server upserts on, so a delayed sync adds hours once, not twice.

Do our designers have to tag every task manually?

No. Time is captured automatically from the foreground application and attributed to the current project. Switching project is a single action in the desktop agent.

See where the hours actually went

Free for up to three people. Windows and macOS. No keystroke content on any plan, and screenshots off unless an administrator turns them on.