How to Calculate Job Profit (With a Worked Example)

Job profit isn't revenue minus the material invoice. Here's the full calculation, with a worked example you can copy for your next job.

Most contractors can tell you a job's revenue in a second — it's the number on the invoice. Fewer can tell you the job's actual profit without pulling receipts, a labor log, and a subcontractor invoice into a spreadsheet first. Job profit is not "revenue minus the material bill." It's revenue minus every cost the job touched, and it's only accurate once every one of those costs has actually been logged.

The full formula

Job profit is calculated as:

Job profit = Revenue − (Materials + Labor + Subcontractors + Other job costs)

And margin, which is the number that actually tells you whether a job type is worth repeating, is:

Margin = Job profit ÷ Revenue

Why "other job costs" is the category that gets skipped

Materials and labor are obvious. What gets missed is permit fees, disposal fees, equipment rental, fuel for extra trips, and small tool purchases made specifically for that job. None of these show up on the original bid line by line, but every one of them reduces profit the same as a framing lumber overage does.

A worked example

Say you bid a small remodel at $42,000. Here's how the job actually shook out:

Cost categoryAmount
Materials$14,200
Labor$11,800
Subcontractors (electrical, plumbing)$6,500
Permits, disposal, equipment rental$1,300
Total cost$33,800

Job profit = $42,000 − $33,800 = $8,200. Margin = $8,200 ÷ $42,000 = 19.5%. If your target margin on remodels is 25%, this job tells you something useful: either the bid needs to build in more contingency, or one of these categories — probably labor, since it's the easiest to underestimate — needs a tighter estimate next time.

Why this needs to happen mid-job, not at close-out

The formula above is easy to run once. The harder part is running it while the job is still open, so you can catch an overrun with time to act. That means every expense, labor hour and subcontractor invoice needs to be logged against the job as it happens, not reconstructed from a shoebox of receipts three weeks after the crew left.

This is the entire idea behind job costing software: each job gets an expected cost when it starts, an actual cost that updates as you log expenses, materials, labor and subcontractor costs, and — once you add anything you've committed to but haven't paid yet — a projected final cost that tells you where the job is headed before it closes. Jobsheet builds profit and margin per job automatically from those numbers, so you're not rebuilding this table by hand for every job.

A quick checklist for calculating job profit accurately

  1. Log every material purchase against the specific job, including small truck-stock draws.
  2. Log labor hours by job, not just by pay period.
  3. Record subcontractor invoices as soon as they're committed, even before they're paid.
  4. Don't forget permits, disposal, rental equipment and fuel for job-specific trips.
  5. Compare the final total to revenue — and to your target margin, not just to zero.

See your real numbers on every job

Jobsheet tracks budget, actual cost, committed cost and projected final cost per job. Start a 3-day free trial — plans are billed monthly in USD and you can cancel any time.

Start free trial