The job's finished and it felt like a good one. The invoice was the biggest you've sent all month, the crew ran hard every single day, and the customer shook your hand and promised to call you next time. By every gut measure, that was a win.
A few weeks pass, though, and the checking account doesn't match the feeling. The deposit landed, the deposit went out, and somehow the fat job didn't leave you any fatter. You can't quite put your finger on where it all went.
Here's the quiet truth most owners learn the hard way: busy and profitable aren't the same thing. A job can keep five people moving for a week and still come in thin once you count everything that went into it. The good part is you can find out which kind of job it really was in about 15 minutes, no bookkeeper and no spreadsheet you'll never open again.
Why the biggest job is sometimes the thinnest
Your invoice is the loud number. It's the one you remember and the one that makes the week feel good. The costs are quiet, and they're scattered across a dozen places: the supply-house receipts wedged in the truck, the second trip for the part you forgot, the hour your lead burned on the phone with the inspector.
Drive time is the sneakiest cost of all. A job spread across three towns eats fuel and daylight that never once shows up on the bill. If the crew spent ninety minutes a day just getting between stops, that's the better part of a workday gone by Friday, and nobody wrote any of it down.
Now the favor. You know the one. Someone says "while you're here, could you just..." and suddenly a half-day's gone to something you never billed because it felt small standing in the driveway. Stack three of those across a job and the margin's already bleeding before you've printed the invoice.
Get your three piles together
You don't need perfect records for this. You need three things for one finished job, and rough is honestly fine.
- The receipts. Every material and supply cost you can lay hands on: photos of crumpled receipts, the supply-house statement, the equipment rental. Snap them with your phone if that's all you've got.
- The hours. Who worked the job and roughly how many hours each, drive time included. A scribble on the back of an envelope counts. If you kept voice notes or it's all on your calendar, even better.
- The invoice. The final amount you billed, plus what you actually collected if that number came out different.
That's the whole pile. If you've been snapping receipt photos as you go, you're already halfway there. If not, dig the glovebox out just this once and you'll see why the habit's worth keeping.
Hand it to AI and ask for the plain number
Open any AI chat tool (ChatGPT, Claude, Gemini, the free versions handle this fine) and give it the piles. You can type the numbers, paste them in, or upload photos of the receipts and let it read them off. Then ask a plain question.
Something like this works:
- "Here are the material receipts, the labor hours, and the final invoice for one job. Add up all my costs, subtract them from the invoice, and tell me the profit in dollars and as a percent of the invoice."
- "Use $X an hour as my loaded labor cost." Loaded means wages plus the taxes, insurance, and overhead that ride along with every hour. If you don't know yours, a rough guess still beats leaving labor out entirely.
- "List every cost you counted so I can check your work."
Ask for that breakdown on purpose. You want the itemized list, not just the bottom line, so you can catch anything it missed or counted twice. A minute later you'll have a real profit figure for a job you were only guessing about before.
Run five or six jobs and watch for the pattern
One job is a data point. Five or six is a map. Run the same quick check on your last handful of finished jobs, keep the answers together in one note, and the pattern starts showing itself.
Maybe the big remodels carry the whole operation and the little service calls barely break even once you count the driving. Maybe one friendly customer always turns into a favor festival. Maybe the jobs clustered in one town print money while the ones scattered across the region quietly don't.
Watch for these in particular:
- The three-town job. Work spread across the map eats truck hours that no invoice ever reflects.
- The quick favor. The repeat customers you like best are often the ones you under-bill, because "don't worry about it" feels good in the moment.
- The rush job. Overtime, a second supply run, a rental you grabbed last minute. Speed costs money and it hides down in the receipts.
- The vague scope. "We'll figure it out as we go" jobs almost always run long on hours nobody bothered to track.
Once you can name the kind of job that bleeds, you can bid the next one with your eyes open. That doesn't mean turning it down. It means pricing it for what it actually costs you, not what it feels like it should cost.
Where this falls short (and it does)
AI is only as good as what you feed it. Hand it three receipts when there were really seven and it'll hand you back a confident number that's flat wrong. It can't know about costs you never wrote down, so the hours nobody logged stay invisible to it too.
It'll also happily invent a loaded labor rate if you don't give it one, and its guess could be way off for your trade. Give it your real numbers, or tell it plainly you're working from an estimate. And eyeball the breakdown every time. The arithmetic will be right; whether it counted the right things is still on you.
This check won't run your business for you. It just turns a vague "that one felt off" into a number you can actually act on, and that's most of the battle right there.
Worth doing this week
Pick one finished job, ideally a big one that left you scratching your head, and run the check start to finish.
- Gather the three piles for that single job: receipts, rough hours, final invoice.
- Work out your loaded labor rate once, even roughly, and write it down so you can reuse it next time.
- Hand it all to an AI chat tool and ask for the profit in dollars and percent, with the cost breakdown listed out.
- Do the same for four or five more recent jobs and keep every answer in one note.
- Before your next bid, look down that list and ask whether this new job smells like one of your winners or one of the quiet losers.
If you'd rather not wrestle with the prompts yourself, this is exactly the kind of small, practical setup we help Massachusetts owners get running. Either way, do it once and you'll never look at a big invoice quite the same way again.