Billable Hours Tracking for Agencies: A Simple System That Protects Your Margins
In an agency, time is inventory. Every hour spent on a client either gets billed, fits inside a fixed fee, or quietly eats the margin. Most small agencies know their revenue per client to the dollar but have only a vague sense of the hours behind it. A simple per-task tracking system fixes that — without turning the team into timesheet clerks.
- Track time per task, per client, as work happens — not from memory on Friday.
- Separate billable, fixed-fee and internal work so you can see the real margin.
- Watch revisions and communication: they're where fixed-fee projects lose money.
- Price new projects on your own history, not on gut feeling.
Why agencies lose track of time
- Fixed-fee projects hide overruns: the invoice is the same whether the work took 20 hours or 40.
- Small requests ("just a quick change") don't feel worth tracking — and add up to days.
- Communication — calls, emails, feedback rounds — rarely lands on a timesheet.
- Timesheets filled on Friday are estimates, not records.
The system
1. One card per deliverable
On your board, each card is one deliverable for one client: "Acme — homepage hero design", "Acme — revision round 2". The client name goes first so reports can be grouped at a glance.
2. A timer on every card
Start the timer when you start working, pause when you switch, stop when you send it for review. In Teamflows, the timer is built into every task and visible on the board while it runs.
3. Tag the type of work
Add a simple tag in the title or description:
| Tag | Meaning | Example |
|---|---|---|
| Billable | Billed hourly to the client | Extra design work outside scope |
| Fixed | Part of a fixed-fee project | Homepage design in a website package |
| Internal | Not billed to anyone | Proposals, portfolio, admin |
4. Make communication visible
Each week, create one card per client: "Acme — calls & email". Track time there. This single habit usually reveals which clients cost far more than they pay.
Monthly review: three numbers per client
- Hours spent (all types).
- Revenue for the month.
- Effective hourly rate = revenue ÷ hours.
Sort clients by effective rate. The bottom of the list is where to renegotiate scope, limit revisions or raise prices. The top of the list is who you want more of.
Pricing the next project
When a similar project comes in, look at the last three: how many hours did they take, including revisions and communication? Price on that number, plus a buffer. Over time, your quotes stop being guesses — and your team stops working unpaid weekends. See estimated vs actual time for the method.
Frequently asked questions
Should designers and developers track every minute?
No. Track tasks to the nearest few minutes, and group tiny items into daily or weekly cards. Precision matters less than consistency.
Do we need a separate time tracker for invoicing?
If you invoice hourly and need detailed exports, a dedicated tracker can help. If you mainly want to know margins and improve quotes, a board with built-in timers is enough.
How do we handle work on fixed-fee projects?
Track it the same way. The invoice doesn't change, but the hours tell you whether the price was right.
How do we get the team to track consistently?
Explain that the goal is fair pricing and fewer unpaid overruns, not surveillance. See time tracking without micromanagement and task management for agencies.