Pete runs an HVAC operation in Charlotte. Last year he did just under $400,000 in revenue, a number he was proud of. Then his accountant sat him down and walked him through the actual numbers. After materials, labor, fuel, equipment wear, insurance allocation, and the four hours Pete spent on phone calls and scheduling per job, his net margin on residential service calls was hovering just above 8%.
He'd been busy all year. He'd worked hard. And he'd kept about $32,000 of it. 'I thought I was making good money,' he said. 'I was just moving a lot of money.'
Pete's problem isn't unique. It's one of the most common blind spots in contracting: knowing your revenue while having no idea what you actually profit per job. The fix is job costing, and once you start doing it, you can never go back.
The Difference Between Revenue and Profit (And Why Contractors Confuse Them)
Revenue is the number at the top of your invoice. Profit is what's left after every cost associated with that job is subtracted. Most contractors track revenue automatically, it's right there on every payment they collect. Profit requires actual tracking, and most contractors don't do it at the job level.
The result is that they make pricing decisions based on gut feel, market rates, or what they charged last year, not on what they know it actually costs them to do the work. Some jobs that feel profitable are breaking even. Some jobs that feel slow are actually their highest-margin work. Without job costing, you're flying blind.
What Goes Into Real Job Cost
To calculate true job profitability, you need to account for every cost the job actually generates. This is where most informal mental calculations fall short.
- Direct materials. Everything purchased specifically for this job, parts, equipment, supplies, consumables. Track receipts per job, not in a single monthly pile.
- Direct labor. Every hour worked on this job by you and any crew, multiplied by the true hourly cost. For employees, that means wages plus payroll taxes, workers' comp, and benefits allocation. For yourself, that means your target hourly rate, not zero.
- Subcontractor costs. If you brought in a sub for any portion, that cost belongs to this job.
- Job-specific overhead. Fuel for the service call. Permit fees. Equipment rental. Disposal or haul-away costs. Any expense you wouldn't have incurred if this job didn't exist.
- Administrative time. Estimate prep, scheduling, client calls, invoicing. Most contractors bill none of this. It still costs them real hours.
Pete started tracking job costs manually for 30 days, one line per job in a spreadsheet. What he found surprised him. His high-ticket new-install jobs, which felt like his biggest wins, had the tightest margins because of parts costs, permitting, and multi-day labor. His maintenance contracts, which felt routine, were pulling margins well above 30% because he'd streamlined the work to under an hour per call.
A Simple Job Costing System You'll Actually Use
You don't need accounting software to start. You need a system simple enough that you'll actually use it in the field, not just in theory.
The one-page job card method. For each job, create a simple record, a notes app, a spreadsheet row, or a paper form, that captures: job name or number, invoice total, materials cost, labor hours and cost, any subs or additional costs, and calculated margin. That's it. Five fields. Takes three minutes to complete after each job.
Review it weekly. After four to six weeks, patterns emerge. You start seeing which job types, which neighborhoods, and which clients generate the best margins. You start adjusting your pricing and your sales focus accordingly. You stop chasing high-volume, low-margin work just to look busy.
If you want to go further, tools like QuickBooks, Jobber, or even a well-structured Google Sheet can automate a lot of this tracking. But the simplest version, a per-job record you actually fill out, beats a sophisticated system you abandon after two weeks.
How Job Costing Changes Your Pricing Decisions
Once you know your real cost per job type, pricing stops being guesswork. You know your floor, the minimum you can charge and still make a worthwhile margin. You can set prices with confidence rather than anxiety. And when clients push back, you're not caving on price because you're afraid you'll lose the job. You're holding the line because you know what the job actually costs you to deliver.
Pete repriced his residential service calls upward by 12% after his job costing exercise. He expected pushback. He got almost none. Turns out clients weren't objecting to his price, they were objecting to the uncertainty that came with his vague estimates. Once he started presenting detailed, itemized quotes, the same price felt more reasonable.
Your Numbers Should Work For You, Not Against You
Most contractors work incredibly hard. The ones who build real wealth aren't necessarily working harder, they're tracking smarter. Knowing your actual margin per job is what separates a busy contractor from a profitable one.
Platforms like Qiggz also help contractors focus on better opportunities by connecting them with homeowners posting clear job details upfront. With direct chat and documented conversations, contractors can assess the work, price it accurately, and protect their margins before the job even begins.




