TL;DR
Total revenue tells you almost nothing about profitability. The real picture lives at the project level, where some clients make money and others quietly drain it. Tracking revenue and costs by project is how you stop subsidizing bad work with good.
Most small business owners know roughly whether the business is profitable. Very few know which specific projects are making money and which ones are quietly eating margin. When you only look at total revenue and total expenses, the good projects subsidize the bad ones and you never know it.
Why Total Revenue Tells You Almost Nothing
Imagine you run a consulting firm with four active clients. Your overall margin looks fine. But two of those clients are highly profitable, and two are costing you money once you account for all the time and resources they consume. If you only see the blended number, you will keep renewing the bad contracts because the top line looks okay.
This is one of the most common ways service businesses leak money. The revenue is there. The margin isn't. And the answer is almost always hiding at the project level.
What Owners Get Wrong
The most common mistake is tracking revenue by client but not tracking costs by client. You know what you billed. You don't know what you spent delivering the work.
Labour is usually the biggest blind spot. If your team spends more hours on a project than you estimated, but you're billing a fixed fee, every extra hour is coming out of your margin. Without time tracking tied to a project code, you will never see that until it's already happened five times on the same client.
The second mistake is ignoring indirect costs. Software subscriptions purchased for a client, subcontractors brought in to fill gaps, travel to a site visit. These are real costs. If they're not assigned to the project, they show up as overhead and inflate your perceived margin across everything else.
The CFO Perspective
The goal of project-level profitability tracking is not to punish bad projects. It's to make better decisions about pricing, capacity, and client selection going forward.
Once you can see actual margin by project, a few things happen. You identify which types of work are consistently profitable and which aren't. You find out whether your pricing model matches your actual cost to deliver. You stop taking on projects that feel like revenue but function like losses.
An illustrative example
A small agency doing around $800K in revenue ran project tracking for the first time after about two years in business. They had always priced by deliverable. When they started logging hours by project code and assigning subcontractor costs to each file, they found that their largest client by revenue was one of their least profitable. The scope had grown through informal requests over time, the price hadn't moved, and the actual hours were nearly double the original estimate. Across all projects, the top three clients by revenue were in the middle of the pack for margin. Two smaller clients were outperforming everything else.
That data changed how they approached renewals and new proposals. The unprofitable clients didn't disappear overnight, but the pricing conversations became a lot clearer because the numbers backed them up.
What to Do About It
- Set up project codes. Every project or client gets a code. Every expense and every hour gets tagged to one. This is the foundation. Without it, you're working with blended numbers that hide everything.
- Track time by project. This is non-negotiable for service businesses. Even rough time tracking is better than none. Tools like Harvest, Toggl, or even a simple spreadsheet work at the early stage. The point is to get actual hours into the calculation.
- Assign direct costs to projects. Subcontractors, materials, software, travel. If it was purchased for a specific project, it belongs in that project's cost column.
- Calculate gross margin per project. Revenue minus direct costs (labour and hard costs). Don't fold in overhead yet. That comes later. Start with the gross view.
- Review monthly, not quarterly. Quarterly review means you're three months into a bad engagement before you see the problem. Monthly lets you flag scope creep before it compounds.
- Use the data in pricing conversations. When you know what a project actually cost versus what you charged, you have a real basis for pricing the next one. Stop estimating from instinct when you have actual data to work from.
Knowing your overall profit is a starting point. Knowing where that profit comes from is how you build a business that grows on purpose. If you want to set up project-level tracking in your business, book a free call at peterxiacpa.com/book.
Next step: run your numbers through the free CFO scorecard.
Frequently Asked Questions
- How do I start tracking profitability by project?
- Start by assigning a project code to every client or engagement. Tag all labour hours and direct expenses to that code. Then calculate revenue minus those direct costs to get gross margin per project.
- What costs should I assign to a project?
- Assign any cost that was incurred specifically for that project: subcontractor fees, materials, software purchased for the client, travel, and all labour hours worked on the file.
- How often should I review project profitability?
- Monthly is the right cadence for most service businesses. Quarterly review means you are often three months into a money-losing engagement before you catch it.
Get weekly CFO insights
No fluff. Real finance strategy for Canadian business owners. Unsubscribe any time.
Related Articles
Retainer vs Hourly vs Project: Which Model Protects Your Margin?
Retainer, hourly, and project pricing each handle risk and cash flow differently. The mistake most owners make is applying the same model to every client. Matching the pricing structure to the scope and relationship type is how you protect margin.
5 min readHow Many CFO Meetings a Month Do You Actually Need?
Monthly CFO calls are fine when things are stable. When your business is growing fast or navigating a transition, monthly is too slow and you end up making decisions without the financial visibility you need. The right cadence matches how fast your business needs answers.
4 min readWhy Your Income Statement Shows Profit But Your Bank Account Disagrees
An income statement showing profit and a bank account that looks thin are not contradictory. Timing differences from receivables, loan principal, capital purchases, and deferred revenue explain the gap. Understanding which items drive it in your business turns confusing statements into useful tools.
6 min readNeed financial strategy for your business? Explore our CFO services or book a call.
