You just wrapped a big HVAC install that felt like it went smoothly. The customer paid on time, your crew finished in three days, and you moved on to the next job. Three months later, you're looking at your bank account wondering where all the money went. Sound familiar?
Most trades business owners can tell you their revenue within a few thousand dollars, but ask them which specific jobs actually made money and you'll get silence. The truth is straightforward: job costing for trades means tracking every dollar spent on a job against what the customer paid, so you know your true profit before you move to the next one. Without this discipline, you're flying blind, pricing new work based on guesswork, and wondering why a busy month doesn't translate to money in the bank.
The difference between a profitable trades business and one that's always scrambling comes down to knowing your numbers at the job level. Here's how to get there.
Why Most Trades Businesses Get Job Costing Wrong
The typical approach goes like this: you quote a job, add what feels like a reasonable markup, do the work, collect payment, and assume you made money because the invoice got paid. This system breaks down the moment you try to scale beyond one or two simultaneous jobs.
The problem isn't effort. It's that job costs hide in places you're not tracking:
- Labor hours that creep beyond estimates because a helper took an extra day to finish trim work
- Material costs that exceed your quote when you had to make three trips to the supplier
- Vehicle and fuel expenses scattered across multiple jobs in the same week
- Subcontractor invoices that arrive 30 days after you closed the job in your head
- Equipment rental charges you forgot to pass through
- Warranty callbacks and fixes that eat into margin weeks later
Each leak might only cost $200 to $500, but across twenty jobs a month, you're hemorrhaging $4,000 to $10,000 in profit you thought you earned.
The Five Cost Categories You Must Track for Every Job
True job costing for trades requires capturing costs in real time, not reconstructing them from memory weeks later. Break every job into these five buckets:
Direct Labor Costs
This is more than hourly wages. Calculate the fully-loaded cost of labor, which includes:
- Base hourly rate or salary
- Payroll taxes (typically 10-15% on top of wages)
- Workers compensation insurance
- Health benefits and PTO that accumulate while they work the job
- Any overtime premiums
If you pay a technician $28 per hour, your actual cost is closer to $38 to $42 per hour when you factor in the full burden. Track hours by job, by worker, every day. A timesheet sitting in a truck for a week is useless.
Materials and Supplies
Every part, fixture, fastener, and consumable that goes into the job needs a corresponding cost. This means:
- Capturing receipts in real time, photographing them before they disappear
- Tagging purchases to specific job numbers at the supplier or in your system
- Tracking inventory pulls from your shop or warehouse at actual cost, not just retail pricing
- Including the small stuff: wire nuts, sealant tubes, sandpaper, shop towels
The 40-pound box of screws you use across ten jobs needs to be allocated proportionally, not dumped entirely on one customer or ignored entirely.
Subcontractors and Specialty Labor
If you hire electricians, plumbers, drywallers, or any other trade to complete portions of work, their invoices are direct costs against that job's profitability. Track these costs when you commit to them, not when the invoice finally shows up six weeks later.
Equipment and Vehicle Costs
Your truck doesn't run on goodwill, and that excavator rental isn't free. Allocate these costs one of two ways:
- Per-job rental or lease costs when you rent equipment specifically for one project
- Hourly or daily rates for company-owned assets based on fuel, maintenance, insurance, and depreciation
A common formula: if your truck costs $18,000 per year to operate and you bill 1,800 hours of fieldwork annually, allocate $10 per billable hour to jobs. Track mileage and fuel by job if possible.
Overhead Allocation
This is where it gets real. Your shop rent, office staff, software subscriptions, insurance, and marketing don't disappear just because you're focused on fieldwork.
Calculate your monthly overhead, then divide by billable hours or revenue to determine an allocation rate. If you carry $15,000 in monthly overhead and bill 600 labor hours per month, you need to recover $25 per labor hour just to break even on overhead before you touch profit.
Apply this rate to every job. A three-day plumbing job with 24 labor hours needs to absorb $600 in overhead, or it's not truly profitable even if direct costs look good.
How to Calculate True Job Profit in Four Steps
Once you're tracking costs in real time, the math becomes straightforward:
- Add up all direct costs from the five categories above for the specific job
- Sum your total revenue from the customer, including any change orders or additional billing
- Subtract total costs from revenue to get gross profit in dollars
- Divide gross profit by revenue to get your gross profit margin as a percentage
Example: You bid a bathroom remodel at $12,500. Your costs break down as:
- Direct labor: $3,200 (80 hours at $40 fully loaded)
- Materials: $4,100
- Subcontractor (tile setter): $1,800
- Equipment and vehicle allocation: $320
- Overhead allocation: $2,000 (80 hours × $25)
Total costs: $11,420 Revenue: $12,500 Gross profit: $1,080 Gross profit margin: 8.6%
That's the truth. Not the $8,400 you thought you made by only counting materials and base wages. You netted $1,080 on a job that took two weeks and tied up crew capacity. Now you can decide if that's acceptable or if your pricing needs adjustment.
Setting Up a System That Actually Works
Spreadsheets can work for job costing if you have the discipline, but they rely on manual data entry that gets skipped when you're busy. The best approach uses software that captures costs as they happen.
TradesBackbone is built specifically for this workflow. It tracks labor hours by job as they're entered, links material purchases to job numbers automatically when you snap a photo of the receipt, and calculates real-time job profitability including overhead allocation. Instead of spending three hours at month-end trying to reconstruct where costs went, you see exactly where you stand on every active job, every day. That visibility changes which jobs you pursue and how you price new work. Learn more at tradesbackbone.com.
Whatever system you choose, it needs to:
- Let field crews log hours and costs from their phones without friction
- Connect material purchases to job codes automatically or in seconds
- Show job-level profitability in real time, not after month-end close
- Track change orders separately so you see margin on scope creep
- Generate reports comparing estimated vs. actual costs by category
The goal isn't perfection. It's visibility. When you can see costs accumulating against budget in real time, you catch overruns early enough to correct course or adjust scope.
What to Do When a Job Goes Sideways
Even with good tracking, some jobs will blow past estimates. The question is whether you catch it on day two or day twenty.
Run a cost-to-completion analysis at the midpoint of every job:
- Compare actual costs so far to the percentage of work completed
- Project remaining costs to finish based on what's left
- Calculate expected final profit based on those projections
- Decide whether to adjust scope, renegotiate pricing, or eat the loss and learn
If you're 40% complete but have already spent 65% of your labor budget, you're headed for a loss unless something changes. Options include talking to the customer about scope creep, pulling less experienced (cheaper) labor onto finishing tasks, or accepting a reduced margin and documenting what went wrong for next time.
The worst choice is ignoring the warning signs and hoping it works out. It won't.
Using Job Cost Data to Price Future Work Better
After six months of rigorous job costing, you'll have a dataset worth its weight in copper wire. Look for patterns:
- Which types of jobs consistently hit margin targets vs. which ones always run over
- Whether specific crew combinations are more or less efficient
- Which customers generate change orders and scope creep vs. which ones are dialed in
- What your true labor productivity is by task type (hours per fixture, per linear foot, per room)
Use this data to build pricing that reflects reality, not optimism. If bathroom remodels consistently run 15% over your labor estimates, build that into future quotes. If you're hitting 25% gross margin on service calls but only 8% on new construction, maybe you shift focus.
The goal of job costing isn't just to measure what happened. It's to use that measurement to make better decisions about which work to pursue, how to price it, and how to execute it profitably.
Frequently Asked Questions
What is job costing for trades and why does it matter?
Job costing for trades is the practice of tracking all expenses associated with a specific job against the revenue it generates to determine true profitability. It matters because without job-level visibility, you can have strong revenue but weak profits, and you won't know which types of work actually make you money until it's too late to adjust.
How often should I review job costs during a project?
Review job costs at least weekly for any job lasting more than a few days, and daily for large projects. Run a formal cost-to-completion analysis at the 25%, 50%, and 75% completion marks to catch overruns early enough to take corrective action before profit disappears entirely.
What is a good profit margin for trades jobs?
Most successful trades businesses target 15-25% gross profit margin at the job level for project work, and 30-40% for service and repair calls. Net profit after all overhead typically lands between 8-15% for healthy businesses. If you're consistently below 10% gross margin, your pricing is too low or your costs are out of control.
Can I do job costing without expensive software?
Yes, you can track job costs using spreadsheets, but it requires discipline to enter data daily and allocate shared costs properly. The risk is that manual tracking gets skipped during busy periods, which defeats the purpose. Basic job costing features are now available in affordable field service software designed for small trades businesses, making software the more reliable choice for most contractors.
What should I do if I discover a job lost money?
First, complete a post-mortem: identify exactly where costs exceeded estimates and why. Document lessons learned about estimating, scope management, or execution. Second, use that data to adjust how you price and manage similar work in the future. Third, decide whether that customer or job type fits your business model. Some work isn't worth pursuing even when you execute it well.
Stop Guessing and Start Measuring
You didn't get into the trades to do math and track spreadsheets all day. But running a profitable business requires knowing which work makes money and which work just keeps you busy. Job costing for trades is the discipline that separates contractors who build wealth from those who work themselves to exhaustion for mediocre pay.
Start with one simple change: track actual hours and material costs for every job over the next thirty days. Compare those numbers to what you charged. The gap between what you thought you made and what you actually made will tell you everything you need to know about why job costing matters. Then build systems that make tracking automatic so you can spend your energy growing a profitable business instead of wondering where the money went.