Project Profitability When Every Employee Has Different Rates on Different Projects
By the CrewDriven team · 9 min read · Updated May 13, 2026
Most agencies cannot tell you what a project actually earns. Not because the math is hard — but because the data lives in three tools, the rates change every quarter, and nobody updates the spreadsheet retroactively. The result is "blended-rate management": you guess which clients are profitable, you guess which employees are profitable, and you keep working hard on the wrong projects. Here is what is actually going wrong, why per-project rates make agency P&L unknowable, and how to fix it.

Why multi-rate billing breaks agency P&L
Imagine a senior developer who costs you $40 an hour internally — fully loaded with taxes and benefits. She works 80 hours this month on Client A, where you bill her time at $90 an hour against a fixed retainer. She also works 60 hours on Client B, a discovery project billed at $120 an hour. Halfway through the month she gets a raise to $45 an hour. Now answer one question: which client made more money this month, and by how much? If your answer involves opening a spreadsheet, two tabs of a time tracker, and a payroll export — you have already lost. The number you arrive at will be wrong. The number your accountant arrives at will be different. And the number you actually invoice will be different again.
This is the silent operational tax on every agency past about four people. Each employee touches multiple projects. Each project has its own cost rate and its own bill rate. Rates change as people get raises and as you renegotiate retainers. Time tracking lives in one tool, invoices live in another, payroll lives in a third, and the reconciliation is somebody's Sunday evening. Agencies routinely discover, when they finally build a real model, that ten to twenty percent of their "profitable" projects are break-even or worse. Six months of working on the wrong client. You cannot run a margin business on guesses, but most agencies do.
What an honest project profitability system actually needs
The math itself is simple — revenue minus allocated labor cost, per project, per month. The hard part is keeping the data clean enough to do the math. Run any system you are evaluating, or building yourself, through this five-point checklist. If it fails any of these, the numbers it gives you will lie.
Per-assignment rate tracking
One employee can be on three projects at three different cost rates and three different bill rates. A senior developer might be $40 an hour on a long retainer where you committed to the rate two years ago, $50 an hour on a discovery sprint where you actually charge premium, and $35 an hour on an internal R&D project where time is mostly absorbed cost. The system needs to let you set rates per assignment — the pairing of one employee with one client — not per employee globally. Otherwise you are stuck inventing a "blended" rate that is wrong for every individual project.
Rate history with effective dates
When someone gets a raise on the 15th of the month, last week's hours should still cost the old rate and this week's hours should cost the new one. Almost no spreadsheet handles this correctly — the formula either retroactively rewrites history (wrong) or freezes the old rate forever (also wrong). You need rate changes recorded with an effective date, so historical reporting stays honest and you can answer "what did this project cost in March?" without time travel.
Multi-currency normalization
Paying a contractor in PHP, paying another in EUR, and billing the client in USD — without locking exchange rates at the moment the cost is incurred — means your reported margin moves every time the FX market moves. Over a year this can quietly take two or three percent off your bottom line. Every payment, both incoming and outgoing, needs to record the original currency, the exchange rate at the time of the transaction, and a normalized reporting amount so your P&L stays comparable across periods.
Time-to-cost allocation by hours worked
Tracked hours are the bridge between "how much you paid this person this month" and "how much it cost to deliver this project." If a developer worked 80 hours on Project A and 60 hours on Project B, you allocate her salary in that ratio — not as a flat percentage, not by feel. Without this allocation step you can see total payroll and total revenue but you cannot say "Project A cost us $12,400 in direct labor this month." Every project-level decision flows from this number.
Project-level P&L visibility — not blended averages
The whole point is to see revenue minus allocated cost on a per-project basis, refreshed every month, with the ability to drill into which assignments contributed which cost. A dashboard that only shows you "overall margin: 38%" is useless — it averages your two profitable clients with the one client quietly bleeding you dry. You need to see margin per project, ranked, so the unprofitable ones cannot hide inside the blended number.
How CrewDriven actually solves this
CrewDriven was built around a single observation: an agency is the relationship between clients, team members, and the rates connecting them. So the rate is not a property of the employee — it is a property of the assignment. When you assign a team member to a client, you set a cost rate and a bill rate for that specific pairing, with start and end dates. The same person can be on five clients at five different rate combinations, and the system tracks each independently.
When a rate changes — a raise, a renegotiated retainer, a new project phase — the platform records it as a rate-history entry with an effective date. Hours logged before that date keep the old rate. Hours logged after pick up the new rate. Last quarter's margins do not silently shift when somebody gets a raise this quarter. The historical P&L you saw in February is still the P&L you see when you look back from May.
Every payment — payroll out, invoice in, expense, transfer — is recorded in its original currency with the exchange rate at the moment of the transaction and a USD-normalized amount for reporting. That means your project-level margin is comparable across months even when the dollar moves. Underneath, monthly summaries roll up automatically: revenue per project, allocated payroll per project, operating expenses, and the resulting gross margin. You stop assembling reports and start reading them.
You can create your workspace now and import your team, clients, and rates in under an hour — or see the pricing roadmap to see how pricing will work after launch. Everything described above is in the platform today, free during the launch period.
When multi-rate complexity actually starts hurting
A solo freelancer with three clients can run profitability in a notebook. One rate per client, one cost (yourself), one currency if you are lucky. The numbers are small enough that you spot a problem before it compounds. This is the right scale for a spreadsheet, and any tool that asks you to set up assignments and rate histories at this stage is overkill.
The pain typically arrives around four to five team members and six or more active engagements. At that scale you have enough cross-assignments that no single person can hold the whole rate map in their head. Two of your developers swap onto each other's projects when somebody takes vacation. A designer is on a retainer at one rate and a one-off at another. You hire a senior to replace a junior on Project X, but the bill rate is locked, so margin silently collapses. This is the scale where a real project P&L stops being a luxury and starts being how you avoid hiring the wrong person or holding onto the wrong client.
CrewDriven works at both ends. Below the threshold you can ignore the rate-history machinery and just use the invoice and client modules — it behaves like a simple operations tool. Above the threshold you turn on per-assignment rates, rate history, multi-currency allocation, and monthly rollups, and the same workspace becomes an agency-grade financial model. The underlying primitives — clients, team members, payments — do not change. You just use more of them.
Five mistakes that hide your real project margins
- 1
Using a single blended rate for the whole team
Calculating "average cost per hour: $52" and applying it to every project is the most common mistake in agency accounting. It hides the fact that your senior on Project A actually costs $80 an hour while your junior on Project B costs $30. Two projects with identical blended margin can have wildly different real margins — and you will keep optimizing the wrong one until you split them apart.
- 2
Letting raises retroactively rewrite history
When you update an employee's rate in your spreadsheet without an effective date, every historical hour suddenly recalculates at the new rate. Last quarter's margins shift. Reports you sent to investors no longer match the database. This single bug has destroyed more agency dashboards than any other. Rate history with effective dates is not a nice-to-have, it is the difference between numbers you can defend and numbers you cannot.
- 3
Confusing cost rate with bill rate
These are two completely different numbers. The cost rate is what the employee costs you per hour, fully loaded. The bill rate is what the client pays you per hour for that employee. Margin is the gap. Agencies that store one column called "rate" inevitably end up either underpaying their team or undercharging their clients — sometimes both, on different projects, at the same time.
- 4
Ignoring FX drift between payroll and invoice currency
You pay your developer in EUR. You bill the client in USD. You report margin in USD. Between the day the work happens and the day the invoice gets paid, the rate moves a percent or two. Multiply by twelve months of payments in both directions, and you have a quietly leaking margin nobody can explain. Lock exchange rates at the moment of each transaction — both cost and revenue — and the drift disappears from your reporting.
- 5
Trusting tracked hours without reconciling to invoiced hours
Your team tracked 240 hours on Project X. You invoiced for 220. Where did the other 20 go? Probably "non-billable" overhead — discovery calls, scope clarifications, internal QA — that quietly absorbed into your margin. If you never reconcile tracked-versus-invoiced, you cannot see how much of your "billable" team is actually billable. Industry benchmarks suggest agencies should be at 85% or higher realization. Most do not measure it and assume they are.
Frequently asked questions
- Is CrewDriven really free?
- Yes — every module is free during the launch period, including per-assignment rate tracking, rate history, multi-currency payments, and project P&L rollups. There is no time-boxed trial behind it.
- How does rate history work when an employee gets a raise mid-project?
- You record the new rate with an effective date. Hours logged before that date stay at the old rate; hours after pick up the new rate. Historical reports for prior months keep showing the old cost, so your last-quarter P&L does not silently rewrite itself when somebody gets a raise this quarter.
- Do I need a separate time tracker, or does CrewDriven handle time tracking?
- CrewDriven focuses on the financial side — assignments, rates, and the calculation of project cost from logged hours. You can record hours directly in the platform, and we are open about the fact that integrations with dedicated time trackers are on the roadmap. For most small agencies, the built-in tracking is enough.
- How does multi-currency cost allocation actually work?
- Every payment captures the original currency, the exchange rate at the time of the transaction, and a USD-normalized amount. Project-level rollups always compare apples-to-apples in your reporting currency, so a payroll in EUR and revenue in USD reconcile cleanly into a single margin number — and that number does not jump around when the FX market moves.
- When does this complexity actually start mattering for my agency?
- Honestly, around four to five team members and six or more active engagements. Below that, a spreadsheet is fine and the overhead of setting up a real system is not worth it. Above that, the cost of guessing — keeping unprofitable clients, hiring the wrong role, raising prices on the wrong customers — compounds fast. If you have ever ended a quarter surprised by your margin, you are above the threshold.
See your real project margins for free
Create your workspace in under a minute. No credit card.