By industry

How do developers and software teams track hours without reconstructing the week on Friday?

Updated 5 min read

Short answer

Track per client and project, and use what your work already leaves behind as memory: git commits, AI coding sessions, your calendar and the tickets you had open. Log small support questions right away or collect them per client, or they disappear. Keep tracking hours on fixed-price projects too: it's the only way to see whether the budget in hours holds.

Why do developers lose so many hours?

Programming is work you do in long blocks, but the day is full of interruptions: a stuck colleague, a client on the phone, a production incident. After an interruption you go back to the code, not to your timesheet.

What gets lost isn't the big blocks but the edges. You'll still remember today's main project on Friday. The twenty minutes for another client, you won't.

  • Helping a colleague on another project.
  • The client who calls with a question that takes forty-five minutes.
  • An incident that makes you drop everything.
  • Code review for a project you don't build yourself.
  • Digging through logs or docs that never existed as a task.

What do you do with ten-minute support questions?

Small questions cost little each and a lot together. Whether you bill them is a choice per client: sometimes support falls under a maintenance contract, sometimes you charge per quarter hour. But you always log them, or you don't know what that contract costs you.

Agree per client where those hours go, for example a ‘Support’ or ‘Maintenance’ project, and log them as soon as the question is done. If that doesn't happen, a timeline that finds the question later helps.

Support agreements and what they ask of your tracking
AgreementHow you log itWhy
Fixed-price maintenance contractOn a support project, non-billableTo see whether the contract still pays
Support billed as you goOn a support project, billableEvery question reaches the invoice
Support within a running projectOn the project itselfThe project budget stays accurate

How do commits and AI sessions help you find your hours?

Your work leaves traces. A commit has a time, a repository and a message. A session in Claude Code, Codex or Cursor shows which problem you were on and for how long. Alongside your calendar, those are the best clues to what you did on a given day.

They're a memory aid, not a timesheet. A commit doesn't say how long you worked on it, and an AI session left open isn't time worked. Use them to build suggestions you check yourself, as explained in Automatic time tracking.

Mind privacy. Commit messages, file names and prompts often aren't meant for your manager or your client. Keep that data private and share only the hours with a short description. More in Privacy and AI context.

Can your AI agent log the hours itself?

Yes, if your time tracker has an MCP server. The agent you just fixed a bug with knows which repository and branch it worked in and which commits were made. At the end of the session it can log that time, with a description a client could read.

  1. Connect your assistant to your time tracker's MCP server once and sign in.
  2. Work as usual. At the end, ask: ‘log this’.
  3. The agent sends a description, the repository, the branch and the commit subjects, not code or file paths.
  4. If the tracker is unsure about the client or duration, the agent asks you.
  5. The entry waits for approval, like your other hours.

How the right client is picked for a repository is explained in How log_work works.

Aren't tickets enough to derive hours from?

Tickets describe what needs doing; hours describe what it cost. A ticket can be open for three days while you spent two hours on it, and plenty of work never had a ticket. Deriving hours from ticket statuses gives a skewed picture.

What does work: put the ticket number in the description of your time entry. Then anyone can link the hours to the ticket without keeping two systems in sync.

Why track hours on a fixed-price project?

On a fixed price you don't bill the hours, but they decide whether the project makes money. If you don't track them, you only find out at the end that the budget was blown twice over, and you can't estimate the next quote any better.

Give the project a budget in hours and log against it as usual, with a non-billable activity if those hours aren't billed separately. Check weekly how much of the budget is used, not just at delivery.

If your company builds new software in the Netherlands, it may qualify for the WBSO, the Dutch R&D tax credit. RVO then asks for time records that at least distinguish per day, per project and per employee. How that works for software is in WBSO for software.

How Half5 does it

The Half5 desktop app for Mac and Windows puts your work on a private ‘Timeline’: programs and window titles, browser pages via the extension, commits from the git folders you choose, and Claude Code, Codex and Cursor sessions under ‘AI sessions’. From that come ‘Suggestions’ you confirm or adjust. Only you can read your timeline; Half5 can't. Your team lead only sees the hours you register. There's no ticket-system integration today; a ticket page open in your browser does show up on your timeline.

Agents log through the MCP server at https://app.half5.com/mcp with log_work. Those entries wait as ‘Not approved yet’. Half5 remembers per user which repository belongs to which client; you manage that under connected agents, in the repository memory. Projects have a budget in hours: you see budget used and how far over budget a project is, and the ‘Project health’ report. There's no dedicated WBSO export; you filter the report by activity, project and employee and export to CSV, Excel or PDF.

Frequently asked questions

Do I need to log every context switch separately?

Not every switch, but every piece of work for a different client or project. A timeline or your commits help you find those pieces later without operating a timer.

Does my employer see my commits and AI prompts?

That depends on your software. In Half5, commits and AI sessions stay on your private timeline; your organisation only sees the hours you register.

Can Claude Code or Cursor log my hours?

Yes, through MCP. The agent logs the time with a description, repository and branch, and the entry waits for approval before it counts towards invoicing.

How do I track hours on a fixed-price project?

Log them on the project as usual, with a non-billable activity if they aren't billed separately. That shows how much of the budget in hours has been used.

How do I link hours to tickets?

Put the ticket number in the entry's description. Then you can search per ticket without your time tracker and ticket system having to stay in sync.

Sources

Someone cycles home along the canal after work

Close your laptop on time today.

Try Half5 free for 30 days, on your own or with your whole team.