How to track billable hours without forgetting to start the clock

· 6 min read

The way to stop forgetting to start the timer is to stop needing to. Let the Mac record the day by itself, then do the billable split at the end with the record in front of you. A passive tracker gives you every hour the Mac was in use, whether or not you remembered anything at nine in the morning, and the allocation to clients takes two minutes once the totals are visible. This post covers that method, plus what to do about the hours already lost.

Why the clock does not get started

A timer has to be started at the one moment you are least likely to think about it: when you are starting work. Real work starts sideways. You open an email to check one thing, the thing needs a file, the file needs a fix, and forty minutes later you are deep in it and the timer is still at zero. This is not a discipline problem. It is the design of the tool, which asks for attention at the exact moment attention is being spent elsewhere.

The forgetting is also asymmetric. You notice a timer that is still running (it is visible, it is counting), so you eventually stop it. You do not notice a timer that never started, because nothing is there to notice. Over a month, that means your tracked hours are systematically lower than your real ones, which is the worst direction for a freelancer’s error to run.

Replace the start with a closing time

The fix is to move the one moment you have to remember from the beginning of the day to the end, and make it automatic. A tracker that records the frontmost app all day and prints a summary at a fixed closing time needs nothing from you in the morning. Punchcard works this way.

  1. Open Punchcard. It lives in the menu bar and asks for zero macOS permissions: no Accessibility, no Screen Recording, no Full Disk Access.
  2. Set a closing time. This is the only configuration.
  3. Work as normal. Start sideways if that is how you start. The app records which app is in front, by name only.
  4. At closing time, a receipt prints: each app on its own line with its time, a day total, a stamp. If the Mac was asleep, it prints late, headed SORRY WE MISSED YOU.
  5. Read the receipt and do the billable split while the day is fresh.

The hours are now all there. The part that is still yours is step five.

The two-minute split

This is the procedure that replaces the timer. It works because app totals are a strong memory cue.

  1. Read the top three lines of the receipt. Say they are four hours in the editor, two in the browser, one in mail.
  2. For each line, ask “who was that for.” Four hours editor: three were the Henderson build, one was your own site. Two hours browser: mostly research for Henderson, some not. Mail: half and half.
  3. Write the client totals down. Henderson: 3 + 1.5 + 0.5 = 5 hours. Round to whatever your contracts allow.
  4. Put the number in your invoicing system, spreadsheet, or text file.

Two minutes, and you have a billable figure built on evidence rather than on a timer that started at eleven. The estimate in step two is not perfect. It is far better than the alternative, which was a blank page and a guess.

What about the hours already lost?

If you are reading this because last week’s timer shows fourteen hours and you know you worked forty, there is some recovery possible.

  1. Open Screen Time (System Settings, Screen Time, App & Website Activity) and look at This Week. If it was on, it has the app totals per day, which are your best evidence.
  2. Open Calendar for the week and list the meetings.
  3. In Finder, use Go, then Recents, sorted by Date Modified, to see which files were touched on which days.
  4. Check sent mail timestamps for when the desk was occupied.
  5. Reconstruct each day in blocks and assign clients from memory.

You will not get the week back precisely. You will get within an hour or two per day, which beats writing off the difference. How to find unbilled time you forgot about goes into this in more detail, and how to see your workday when you forgot to track it covers the single-day version.

What a passive tracker cannot do for billing

Be precise about the limits, because billing is where overclaiming costs money.

  • Punchcard has no per-client or per-project tracking. It does not know who the editor hours were for. You do.
  • It has no billable rates and produces no invoices. It is a record of the day, not a billing system.
  • It has no manual timer. If you want to clock a specific call to the minute, it will not do that; write the call down or use the phone’s own log.
  • It has no idle detection settings. If you leave an app in front and walk away, that app is what the receipt shows. Lock the screen when you step out.
  • It runs on one Mac at a time, with no sync. The license covers two Macs but each keeps its own record.

If a client requires a timesheet with start and stop times per task, that is a timer, and the honest approach is to use one for that client and use the receipt to check it. The receipt will usually show more hours than the timesheet. That difference is the unbilled time the timer was never going to catch.

Keeping the habit

The reason this method holds up is that it asks for attention at a moment you already have some: the end of the day, when the receipt prints. The print itself is the reminder. Paper feeds out, the stamp lands, and the question “who was that for” gets asked while the answer is still obvious.

Keep the receipts. On Sunday the week roll prints, and the total on it, set against what you invoiced, is the single most useful number in a freelance business. Turning receipts into a simple invoice line shows one way to carry it through.

Questions

Is a reconstructed figure acceptable for invoicing? That depends on the contract. For day rates and retainers, a daily record with app totals and a date is usually more than clients expect. For contracts that specify task-level timesheets, use a timer for those entries and treat the receipt as your own check on it.

What if I work on several clients in the same app all day? Then the receipt line for that app is a total you split from memory. This is the case where a timer theoretically wins, and in practice loses, because switching the timer between clients is the thing that gets forgotten. The split at the end, with the total in front of you, is usually closer to the truth.

Can I export the data? Yes. Punchcard exports CSV and keeps everything in one SQLite file at ~/Library/Application Support/Punchcard/punchcard.sqlite. The CSV has days and apps. The client column is the one you add.

Does it cost anything? Tracking never expires and the first seven receipts are free. After that, nine dollars once for two Macs, every update included, with a 30-day refund.