Every contractor has that one job. The one that felt great while you were doing it. Happy customer, beautiful photos, maybe even a referral. And then you look at the numbers and realize you basically did it for free. 🫠
Busy and profitable are not the same thing. The only way to know which jobs are carrying your business (and which ones are quietly dragging it down) is to check. Here’s how to do it in five minutes.
The short answer
Pull your last five finished jobs. For each one, compare what you billed to what the job cost (subs, materials, field labor). Sort by margin %, not dollars. Then look for the pattern, and price your next bid with it in mind.
One honest catch before we start
This is a five-minute job only if your costs are already tracked by job. If your supplier bills, sub invoices and payroll aren’t tagged to a customer or project in QuickBooks, there’s nothing to sort. If that’s you, no shame! It’s the most common gap I see. Start tagging costs to jobs going forward, and you’ll be able to do this check in a couple of months.
Minute 1: Pick your last five finished jobs
Finished jobs only. A job in progress almost always looks weird, because the costs come in before the final invoice goes out.
Minute 2: Run profit by job
In QuickBooks Online, try the Profit and Loss by Customer report, or the project profitability reports if you use Projects. If you use job management software like JobTread or Buildertrend, your job costing reports there work too. For each job, you want two numbers: what you billed and what it cost.
Minute 3: Sort by margin %, not dollars
Job profit ÷ job income = job margin %. Here’s why percent matters more than dollars:
Quick math
The big kitchen: billed $90,000, cost $76,500. Profit $13,500. Margin 15%.
The bathroom: billed $28,000, cost $18,200. Profit $9,800. Margin 35%.
The kitchen made more dollars, but it tied up your crew three times as long. The bathroom was the better job, by a lot!
Made-up numbers for illustration only.
Minute 4: Look for the pattern
Now ask what the winners have in common, and what the losers do. Usually it’s one of these:
- Job type: you crush bathrooms and lose your shirt on additions.
- Job size: small jobs eat too much admin time, or big jobs run long.
- Customer type: some customers love change orders (and some change orders never get billed!).
- A cost line that keeps running over, like materials or a particular sub.
Minute 5: Adjust the next bid
You don’t have to stop doing your low-margin jobs. You just have to price them like you know what they really cost. Bump the estimate, tighten the scope, or build a change order process you actually use. And keep doing more of what’s working!
Better margins also lower your break-even. Here’s how to find your break-even in 5 minutes.
How I make this easier
I keep my clients’ costs tagged to the right jobs every month, so job profit is always a report away instead of a weekend project. It all rolls up into a month-end package by the 15th. See a sample month-end package.
Can your books answer “which jobs made money”?
Find out with a free books health check. You’ll get a score, your top risk areas, and a straight answer on what it would take to see job profit clearly. No pressure, and no judgment. Promise!
This post is general information, not tax or financial advice. Holly b. Accounting is a bookkeeping firm, not a CPA firm. Examples use made-up numbers.


Leave a Reply