Accurate Profitability Per Client: Why Timesheets and Projects Belong Together
Most agencies cannot tell you which clients are profitable. Here is why, and what changes when timesheets, projects, and invoices share a single data store.
Ask the founder of a fifteen-person agency which of their clients made them the most money last quarter. Most can answer. Now ask which clients lost them money. Suddenly the room gets quiet.
This is not because agency owners are unsophisticated. It is because the data needed to answer the question lives in three different tools, and nobody has the time to reconcile it on a weekly cadence.
Here is what changes when timesheets, project data, and invoices share one workspace, one schema, and one source of truth.
The arithmetic of profitability
Client profitability is a simple equation that gets hard for boring reasons. The equation is:
Profit per client = Revenue collected from that client minus (hours worked on that client x fully loaded cost per hour)
The arithmetic is fifth-grade math. The data collection is where most agencies fail.
Revenue collected lives in your invoicing tool, scoped to a client. Hours worked lives in your timesheet tool, scoped to a person and a task. The link between the task and the client lives in your project management tool. To compute the equation, you have to join three datasets that have no foreign keys between them.
In practice, an analyst exports CSVs from three tools every Monday, fights with VLOOKUPs for an hour, and produces a spreadsheet that is half right.
Why the standard stack makes this hard
The standard agency stack is not designed for profitability. It is designed for individual workflows.
The timesheet tool knows about hours and people. It does not know what an invoice is.
The invoicing tool knows about line items and payments. It does not know which person on your team logged the hours that justify those line items.
The project tool knows about tasks and statuses. It does not know what each hour costs or what was billed.
Each tool is internally consistent. The seams between the tools are where the data integrity disappears.
The integrated approach
When the project, the time entries, and the invoice live in one workspace, the data model can be a single graph:
- A client owns multiple projects
- A project contains multiple tasks
- A task contains multiple time entries
- An invoice contains multiple line items
- A line item links to one or more time entries
This means "show me the profit for Client Acme last quarter" is one calculation on connected data, not a CSV-juggling expedition. You take the time entries for that client, sum the hours, multiply by your cost rate, and subtract the result from the invoices marked paid in that period.
Because the hours and the payments already point at the same client records, you do not need an analyst stitching three exports together. The data is connected in one workspace, and you can export your timesheets and invoices to run the numbers whenever you want.
What you find when you can see clearly
When agency owners run this query for the first time on real data, the results are almost always uncomfortable.
The most common pattern: two or three clients are quietly net-negative. They consume more hours than the contract pays for, usually because of scope creep or because the project rate was set when the team was less experienced and slower. The agency thought they were running tight margins; they were actually running a small subsidy program for these clients.
The second most common pattern: one or two clients are dramatically more profitable than the average. They pay good rates, their work is straightforward, and they do not consume a lot of project management overhead. These are the clients you should be cloning.
Both insights change how you sell. You either renegotiate or fire the net-negative clients. You build a pipeline targeting more clients that look like the high-margin ones. Neither move is possible if you cannot see profitability clearly. And when the answer is that a client is underpriced rather than unprofitable, covers how to reset the number without guessing.
The cost rate is the catch
There is one piece of data the integrated workspace cannot infer for you: the fully loaded cost rate for each role.
Fully loaded means the person's salary divided by their billable hours per year, plus their share of overhead (benefits, insurance, software, office, equipment). A junior designer paid $60,000 a year with $20,000 of overhead and 1,500 billable hours per year has a fully loaded cost rate of around $53 per hour.
If you bill that designer at $100 per hour, your gross margin per hour is $47. If you bill at $75 per hour, your margin is $22. If you bill at $60 per hour, you are losing money on every hour they work.
Most agencies have never actually computed their fully loaded cost rates. They use the billing rate as a proxy, and they hope.
Once you bring a real cost rate for each role and apply it to the logged hours, your profitability picture stops being directional and starts being precise.
Three questions you can finally answer
Once timesheets, projects, and invoices share a workspace, three questions that used to be unanswerable turn into a straightforward calculation most agencies have never run before.
Profit per client per quarter. Rank them. The bottom of the list is your action-item list; the top is your sales-target list.
Profit per project type. "Brand identity" might be high-margin while "ongoing social media" might be low-margin. Or the reverse. The answer drives which services you pitch. (Related: covers how to collect honest hours data your team will tolerate.)
Realization rate. This is the ratio of billable hours invoiced to billable hours logged. If your team logged 800 hours but you only invoiced 700, you have a 12.5 percent leak. That leak might be discounted scope, unbilled scope creep, or hours someone forgot to roll into the invoice. Either way, knowing the number lets you fix it. Realization is one of , alongside utilization and your effective hourly rate.
Profitability is not a spreadsheet exercise. It is an integration problem. The data exists. It just needs to live in the same place.
What it feels like in practice
Inside an integrated workspace, the profitability flow looks like this on a Friday afternoon:
- Pull each client's logged hours and their paid invoices, both already scoped to the same client records.
- Apply your cost rates and spot the one client sitting at minus eight percent margin.
- Click into that client. See that three of their projects all ran over hours.
- Open the latest project. You scoped it at 60 hours; the team logged 95.
- Decide whether to renegotiate the contract or limit future scope.
Total elapsed time: a few minutes, because nothing has to be exported from one tool and reconciled against another. In the old stack, this was a half-day spreadsheet exercise, and most agencies simply did not do it.
Start with one client
You do not need to roll out a full cost-rate model on day one. Pick one client whose profitability you secretly worry about. Make sure their projects, their time entries, and their invoices are tracked in the workspace for one quarter. Then run the numbers.
The answer might surprise you. Either way, you will be making decisions on data instead of vibes. Get started with a free workspace and see your real profitability numbers for the first time.
Keep reading
All postsRun your business on one workspace
Zinx OS is free to start, with every feature on every plan. See for yourself in under a minute.