# Job costing for trades: which jobs actually make you money

> Two jobs at the same price can pay you very different profit. The bank account is the last place you want to find that out. Job costing is how you see it sooner.

Source: https://toolbagcrm.com/blog/job-costing-which-jobs-make-money/
Author: The Toolbag Crew
Updated: 2026-10-17

Two jobs at the same price can pay very differently. The only way to know is to track each one.

## What job costing actually is

Job costing is the math of what one specific job cost you, against what you billed. Not the business overall. Not the average. A single job on its own. Labor, materials, the small stuff nobody bothered to put on the invoice, every dollar of it, against what the customer actually paid.

Run that on every job for a quarter and the picture changes. Two jobs that both quoted at $3,200 can come back with $1,400 of profit on one and $200 on the other. You felt them both as wins. The books say otherwise.

## Why eyeballing job profit stops working

Going by feel works for a while. A year, sometimes two. The shop is small, you’re on every job yourself, and the numbers you remember are close enough to the numbers that hit. Then you grow. A second truck shows up, then a second crew, and suddenly somebody else is on the job, the materials get pulled from a yard you didn’t visit, and your gut has nothing to go on anymore.

By the time the bank account tells you something is off, six months of bad jobs have already gone by.

**Bigger volume hides worse margins.** That’s the part most owners miss. Revenue is up, you’re working more hours than you have in years, and the bank balance keeps drifting the wrong way. The math was off the whole time. You just couldn’t feel it anymore.

## The four numbers to capture on every job

Doesn’t have to be fancy. Four numbers, on each job, while the job is happening, not pieced together three weeks later from a pile of receipts:

- Labor hours, actual ones. Clock in, clock out, every tech on site, with drive time.
- Materials cost, with the supplier invoice attached. Not what you guessed at quote time.
- Subcontractor and pass-through costs. The dumpster, the permit, the rental, the helper you paid in cash.
- What the customer actually paid, after change orders, discounts, and any deposit that did or didn't clear.

Multiply hours by your fully burdened rate, add the rest, subtract from revenue. That’s the gross profit on that single job.

Notice what isn’t there. Overhead allocation, owner draw splits, all the accounting gymnastics. Those matter for your annual books. For deciding which jobs pay you and which quietly bleed you, you don’t need them.

## What shows up once you start tracking

Run this for a quarter and patterns appear. They almost always look like this:

- A job type or job size that loses money every single time. You'll know it inside twenty tickets.
- A specific customer or referral source whose work comes in over budget and over scope, and gets paid slow. That relationship costs more than you thought.
- A supplier who's marking material up further than you assumed, so a job you quoted at a 35% gross is landing at 18%.
- A crew that takes 30% longer on the same scope than another crew. Maybe it's training. More often it's one tech burning the rest of the crew's hours.

The biggest one most owners miss: the small jobs. A $400 service call eats half an hour of drive each way, then ten minutes of paperwork, plus the “while you’re here, can you look at…” tag-on. The actual math on that ticket comes back red. The big jobs felt scary to quote. They were the only ones paying you.

> Bigger volume hides worse margins. By the time the bank tells you, six months of bad jobs have already gone by.

## Acting on what you find

Tracking is half. The other half is doing something with what the numbers tell you. The honest moves:

- Reprice the job types that keep losing money. Not by 5%, by 25 or 40%. Most customers don't notice. Competitors don't undercut. You stop bleeding.
- Politely walk away from the customers whose jobs always go sideways. Stop bidding their work, or quote at a number they'll say no to. Either one ends the problem.
- Tighten the scope on the loss-makers. If "while you're here" jobs always eat margin, build a flat trip charge or a scoped change-order form into the workflow. Quit giving the extras away.
- Compare crews. If one runs faster on the same scope, find out why. Then teach the rest.

You’re not trying to micromanage every quote. The point is that without the numbers, you’re guessing about which jobs are the good ones. The guessing gets worse as the business grows, not better.

## Where ToolbagCRM fits

The optional Job Costing plug-in lets you record cost entries and review job revenue, cost, profit, and margin. It can bring in invoice revenue, but labor and material costs still need accurate entries. Field time tracking and automatic materials capture are not currently available to new accounts. Free and Founders include unlimited users. [See plan terms, plug-in slots, and payment fees.](https://toolbagcrm.com/pricing/)

### Before you start job costing

- **Pick four numbers**: Labor hours, materials, pass-through costs, what the customer paid. Don't get fancier than that on day one.
- **Capture them as the job runs**: Not from a pile of receipts at month end. The numbers that get logged on the job are the only ones you can trust.
- **Use your fully burdened labor rate**: Just wages misses the overhead. The hour costs you more than the paycheck does.
- **Run a variance report monthly**: Estimate vs actual on every job. The patterns show up faster than you'd think.
- **Act on the bottom 20%**: Reprice them or scope them tighter. Stop bidding the worst ones altogether.

> There's no universal margin number. A roofer's healthy gross margin doesn't look like an HVAC tech's, which doesn't look like a cleaner's. The point of tracking isn't to hit a magic percentage. It's to know which of your jobs pull the average up and which drag it down.

- [HVAC CRM](https://toolbagcrm.com/crm-for-hvac/)
- [Plumbing CRM](https://toolbagcrm.com/crm-for-plumbers/)
- [Electrician CRM](https://toolbagcrm.com/crm-for-electricians/)
- [Roofing CRM](https://toolbagcrm.com/crm-for-roofers/)
- [Landscaping CRM](https://toolbagcrm.com/crm-for-landscapers/)
- [Cleaning CRM](https://toolbagcrm.com/crm-for-cleaners/)
- [Handyman CRM](https://toolbagcrm.com/crm-for-handymen/)
- [How to price and quote jobs for profit](https://toolbagcrm.com/blog/how-to-price-and-quote-jobs-for-profit/)
- [Cash flow for seasonal trades](https://toolbagcrm.com/blog/cash-flow-for-seasonal-trades/)
- [Best CRM for small contractors](https://toolbagcrm.com/blog/best-crm-small-contractors-unlimited-users/)
- [Founders pricing — get started](https://app.toolbagcrm.com/signup/)

## Related resources

- [How to price and quote jobs for profit](https://toolbagcrm.com/blog/how-to-price-and-quote-jobs-for-profit/)

- [Cash flow for seasonal trades](https://toolbagcrm.com/blog/cash-flow-for-seasonal-trades/)

- [Best CRM for small contractors](https://toolbagcrm.com/blog/best-crm-small-contractors-unlimited-users/)

- [CRM for HVAC](https://toolbagcrm.com/crm-for-hvac/)

