To calculate profit on a contractor job, subtract all direct job costs — labor with burden, materials, subcontractors, equipment, permits, and disposal — from the revenue you collected. That gives you gross profit. Then subtract the job's fair share of your overhead (truck, insurance, office, software) to get net profit, the number that tells you if the job actually paid you.
Most contractors can tell you what a job billed. Fewer can tell you what it actually made, because the math gets murky the moment you start asking which costs count and which labor is "free" because the owner did it himself. Get this wrong consistently and you'll stay busy while your bank account doesn't move.
The two numbers you need: gross profit and net profit
Gross profit is revenue minus direct job costs — the costs that exist only because you took this specific job. If you hadn't booked it, you wouldn't have paid for that lumber or that day of labor.
- Labor, fully burdened — hourly wage plus payroll taxes, workers' comp, and benefits, not just the paycheck number
- Materials — at what you actually paid, including delivery fees and waste, not the sticker price on the invoice
- Subcontractors — the full amount you pay out, even if it's a pass-through
- Equipment — rental fees, or a per-day rate for equipment you own if the job tied it up
- Permits and inspection fees
- Disposal and dump fees
Add those up, subtract from revenue, and you have gross profit. It's useful for comparing jobs to each other — which trade, which crew, which type of work is actually worth your time — but it's not the whole story because it ignores the cost of running the business in the background.
Net profit: what's left after overhead
Overhead is everything that keeps the lights on regardless of which jobs you run: office rent or home office costs, software subscriptions, your phone bill, marketing, insurance that isn't job-specific, accounting fees, vehicle payments not already allocated to a job, and your own base salary if you pay yourself one.
You don't get to skip this step. A job can look great on gross profit and still lose money once it absorbs its share of overhead, especially if overhead is high relative to revenue or if the job took far longer than planned and tied up the owner's attention the whole time.
The simplest way to allocate overhead per job: take your total annual overhead, divide by your total annual revenue, and apply that percentage to each job. If overhead runs $120,000 a year against $800,000 in revenue, that's 15% of every job's revenue going to overhead. A $10,000 job absorbs $1,500 in overhead regardless of how the job itself went. Your own overhead rate and labor burden will be different from these numbers — pull them from your actual books, not a rule of thumb, before you trust any job's profit number.
A full example with real numbers
Say you run a kitchen remodel that bills out at $18,000.
- Labor (3 workers, 10 days, fully burdened): $6,200
- Materials (cabinets, counters, flooring, fixtures): $7,400
- Subcontractor (electrician for 2 days): $900
- Permit: $250
- Disposal: $300
- Total direct job costs: $15,050
Gross profit: $18,000 − $15,050 = $2,950, or about 16.4% gross margin. Not bad on its own.
Now apply overhead at 15% of revenue: $18,000 × 0.15 = $2,700.
Net profit: $2,950 − $2,700 = $250. That's 1.4% net margin on a job that looked like a solid 16% winner before overhead. This is the gap that convinces contractors they're making money when the business bank balance says otherwise — and it's the same gap covered in more detail in why contractors lose money on jobs they estimated.
The common error: treating the owner's labor as free
Here's where the math gets faked, usually without anyone meaning to fake it. If the owner swings a hammer, runs the crew, or does the finish work himself, that time has to show up as a labor cost in the job — at the same fully burdened rate you'd pay a lead carpenter, or close to it. If it doesn't, the job's gross profit is inflated by however many hours the owner worked for free.
This is the single biggest reason solo and small-crew contractors think they're profitable and aren't. The job "made" $2,950 in the example above because the owner's 10 days on-site weren't billed as labor — they were absorbed as sweat equity. Price that labor in at even $350/day fully burdened, and the job just lost $550 before overhead is applied at all.
The fix is mechanical: assign yourself an hourly or daily labor rate before you estimate the job, and charge every hour you personally work against that job to the job's labor cost, same as any crew member. If the number that comes out the other end is uncomfortable, that's the estimate telling you something true, not the math being wrong.
Why this matters more than your markup percentage
A lot of contractors chase a markup target — 20%, 30%, whatever they've heard is standard — without checking whether that markup survives contact with actual job costs and overhead. Markup and margin aren't the same number, and mixing them up is its own source of pricing errors; the math behind markup vs. margin is worth understanding before you set pricing rules for your business.
Calculating actual profit per job, after every cost including your own labor, is the only way to know if your pricing formula is working in practice. You can hit your markup target on every estimate and still bleed cash if your labor burden is underpriced, your overhead allocation is too low, or change orders aren't being captured.
Doing this on every job without it becoming a second job
The math above is simple with one job and a calculator. It gets tedious fast across a full job list, especially once you're tracking burdened labor rates, overhead percentages, and actual costs against estimated costs for a dozen jobs running at once.
Trusso's job pricing app ties estimates to your own price book, so labor, materials, and overhead assumptions are built into the number before you send it — and actual job costs get tracked against that estimate as the work happens, so you can see gross and net profit per job without rebuilding a spreadsheet every time. It runs on the flat Trusso plans ($29/mo for owner plus 2 crew, $59/mo for up to 10, $99/mo unlimited), with no per-user fees and a 14-day free trial.
What's the difference between gross profit and net profit on a contractor job?
Gross profit is revenue minus direct job costs — labor, materials, subs, equipment, permits, disposal. Net profit subtracts the job's share of overhead (office, insurance, software, marketing) on top of that. Gross profit tells you if the job itself was priced right; net profit tells you if it actually made the business money.
Should I count my own labor as a job cost if I don't pay myself a separate wage?
Yes. Assign yourself a fully burdened hourly or daily rate and charge every hour you personally work on a job against that job's labor cost. Skipping this step is the most common reason small contractors overestimate how profitable their jobs really are.
How do I figure out what percentage of overhead to allocate to each job?
Divide your total annual overhead by total annual revenue to get an overhead rate, then apply that percentage to each job's revenue. If overhead is $120,000 against $800,000 in revenue, that's 15% — a $10,000 job absorbs $1,500 in overhead.
What counts as a direct job cost versus overhead?
Direct job costs only exist because you took that specific job: labor, materials, subcontractors, equipment rented or allocated for the job, permits, and disposal. Overhead exists regardless of which jobs you run — office costs, insurance not tied to a specific job, software, and marketing.
What's a healthy net profit margin for a contracting business?
Most trades target somewhere in the 10-20% net margin range after all costs and overhead, though it varies by trade and region. If a job's net margin is under 5% after you've correctly priced your own labor, it's barely worth the risk and schedule time it took up.
Run your business the simple way
Try Trusso free for 14 days and send your first estimate in minutes.
Start 14-Day Free TrialKeep reading
How to Add Before-and-After Project Photos to a Contractor Website
A good before-and-after gallery sells jobs while you sleep. Here's which jobs to shoot, how to match the angle and permission, and how to keep the page loading fast.
Read articleAIWhich Calls Should a Contractor's AI Receptionist Transfer to a Person?
An AI receptionist should hand off emergencies, angry callers, money questions it can't answer, and anyone who asks for a human. Here's the exact rule list and what happens when nobody picks up.
Read article