Guide · 9-minute read
Time tracking for agencies, without the bureaucracy.
Agencies have time-tracking problems freelancers don't: multiple members logging time on overlapping projects, role-based visibility, utilization math, project member access. This guide covers the patterns that work without turning your tool into an HR system.
Last updated May 27, 2026
Per-project rates, not per-member rates
Tempting design: store every member's rate on their user record, then time tracked by member X on project Y bills at X's rate. Wrong shape for most agencies.
Right shape: rate lives on the project. 'Brand refresh for Atlas Co. is a $200/hr engagement' — regardless of whether the senior designer or the junior worked on it that afternoon. If you want to track effective margin per member, that's a reporting concern, not an invoicing concern.
Hoursmith uses per-project rates. If per-member-per-project rates are essential to your model, you'll need a different tool. (We've considered the feature; the use cases haven't been numerous enough to justify the complexity.)
Member-no-money is a feature, not a bug
Agency members track time, but they typically don't need to see client billing rates or invoice totals. Exposing those creates two risks: a slipped conversation where a member tells a client what your margin is, and a moment-of-doubt where a member thinks they're being underpaid relative to what the client pays.
The right model: members see hours, projects, and tasks. Owners and Admins see hours, rates, and amounts. Hoursmith strips money columns from member payloads at the server boundary — they aren't hidden in the UI, they aren't in the response. Reports run the same way: member views never carry Rate or Amount columns.
Project member access — keep teams to their work
A junior designer working on Client A's brand refresh shouldn't see Client B's strategy retainer. The right control: project-level membership. Members are explicitly enrolled on projects they work on; everything else is filtered out at the query layer.
Hoursmith ships this as the project_member model with full enforcement (Stage 2 enforcement is on by default). A Member trying to load a project they're not on gets a 403; the project doesn't appear in their picker, their reports, or their notifications.
Auto-add on assignment: when an Owner assigns a member to a task on a project, the member is auto-added to the project's roster. Escalation guard: only Owners and Admins can add members to projects; a member can't auto-grant another member access via assignment.
Utilization math, simply
Utilization = billable hours / total work hours. For most agencies the target is 60-75% — the rest is sales, ops, training, and admin. Below 60% suggests the pipeline is thin or admin is too heavy; above 80% sustained suggests burnout (you're losing the discovery/learning cycles that compound over years).
Track non-billable time honestly. Internal projects ('Agency operations', 'Sales calls') with rate $0 and billable=false capture the work that doesn't bill but happens. Reports then show real utilization without manual adjustments.
Hoursmith's reports surface this on Studio+. Filter by member, group by project, billable=true vs billable=false. Total billable / (total billable + total non-billable) = utilization.
Approval workflows — or the absence of them
Some agencies want a formal 'time approval' step where Owners sign off on tracked time before it invoices. Hoursmith doesn't ship explicit approval. Members can edit their own entries until invoice; Owners and Admins can edit anyone's. The audit log records every change.
If formal approvals are a hard requirement, we may not be the right tool. The trade-off we picked: more autonomy for the team, faster invoicing, less bureaucracy. For most agencies in our 3-25-member band that math works; for some it doesn't.
Audit log — see who touched what
Agency plan ships a complete activity & audit log. Every workspace mutation — time entry edited, invoice sent, member added, rate changed — writes a row with timestamp, user, and details. Filterable, exportable, ⚠️-tagged where appropriate.
This is the right tool for 'this number changed last week, who changed it?' and 'we need to show our client which member worked on this engagement.' Studio has the time/invoice/member events; Agency adds the comprehensive log.
How Hoursmith does it
How Hoursmith handles agency team dynamics
Flat-fee pricing means hiring is free of tooling tax. Studio is $15/mo annual for up to 10 members; Agency is $31/mo annual for up to 25.
Project member scoping (Stage 2 enforcement, default-on) limits Members to projects they're enrolled on. Server-stripped money columns mean members never see rates or amounts they shouldn't.
Reports on Studio+; advanced reporting (per-member utilization, lifetime value, week-over-week trends) on Agency. Audit log on Agency. Priority support on Agency.