Job Costing

Job Costing 101 for Contractors

Job costing is the process of tracking every cost associated with a specific project — then comparing those actual costs to what you estimated. It's the only way to truly know if a job was profitable.

What Is Job Costing?

Job costing assigns every expense — labor hours, material purchases, subcontractor invoices, equipment rentals — to a specific job or project. At the end of the job, you can see:

  • • What the job actually cost vs. what you estimated
  • • What your actual profit margin was
  • • Which cost categories ran over budget (and by how much)
  • • Whether your estimating is accurate or consistently off

Without job costing, you're running your business on gut feeling. You might be making money overall, but losing money on certain job types, certain customers, or certain trade categories — and you'd never know.

Consider this scenario: you complete 20 jobs in a quarter and net $30,000 in profit. Sounds fine — but what if 5 of those jobs generated $40,000 in profit and the other 15 collectively lost $10,000? Without job costing, you'd never know which job types to pursue and which to reprice or avoid. That's the real power of job costing: it tells you not just how much you made, but where you made it.

Job Costing vs. Regular Bookkeeping

Regular bookkeeping tracks your total income and expenses at the business level. Job costing tracks income and expenses at the project level. Both are necessary — but for contractors, job-level visibility is often more actionable than business-level reporting.

A P&L statement tells you the business made $8,000 this month. Job costing tells you the bathroom remodel made $6,200, the kitchen remodel made $4,100, and the small handyman job lost $2,300 because you underestimated the tile work. Those are completely different decisions you can act on.

Many accounting tools like QuickBooks require extensive manual setup — class tracking, custom job codes — to do basic job costing. Purpose-built contractor software handles this automatically by tying receipts, timesheets, and invoices to specific jobs.

The Four Categories of Job Cost

1. Direct Labor

Every hour worked on a job by you or your employees. This includes the actual wage paid plus payroll taxes (typically 7.65% for FICA) plus any benefits. Don't track gross wage alone — track fully-loaded labor cost.

Example: If an employee earns $25/hour and payroll taxes add 10%, your actual cost is $27.50/hour. On a 40-hour job, that's $1,100 in labor cost — not $1,000.

For solo operators, your labor cost is your opportunity cost — what you're worth per hour. Many solo contractors forget to assign a value to their own time, which causes severe underpricing. If you could earn $75/hour working for someone else, your time on a job costs the business $75/hour whether you pay yourself that or not.

2. Materials

Every supply, material, and product purchased for the job. Track actual receipts, not estimates. Common mistakes: buying materials for multiple jobs in one purchase without allocating costs properly, or forgetting small purchases (screws, tape, connectors) that add up.

On a job where you estimated $3,000 in materials but actual receipts total $3,800, that $800 overrun comes directly out of your profit margin. Over 20 jobs per year, that pattern costs you $16,000 in margin you didn't account for — and didn't reprice around.

Best practice: photograph every receipt at the point of purchase and note the job. Even if you batch-enter them weekly, the job attribution stays accurate.

3. Subcontractors

Any outside contractors hired specifically for this job. This is often one of the most undertracked cost categories — invoices come in late, or verbal agreements aren't documented until payment is due.

Never use a subcontractor without a written quote tied to a specific job scope. When the invoice arrives, tag it to the job immediately. Subcontractor costs that aren't tracked to jobs create phantom profit — your P&L looks fine but the job-level view shows you're losing money on sub-heavy jobs.

4. Equipment

Rentals or equipment usage charged to the job. If you own equipment, you can allocate a daily rate to jobs based on ownership cost. Equipment rentals should always be tracked per job.

To calculate a daily ownership rate for equipment you own: take the annual cost (payment + insurance + maintenance + depreciation) and divide by 250 working days. A $40,000 piece of equipment with $8,000/year in carrying costs has a $32/day internal cost rate. Assign that to jobs it's used on.

How to Calculate Job Profitability

Job Revenue (total invoiced) = $15,000

Less: Direct Labor = ($3,200)

Less: Materials (actual receipts) = ($4,100)

Less: Subcontractors = ($1,500)

Less: Equipment = ($300)

Gross Profit = $5,900 (39.3% margin)

Gross profit doesn't include overhead allocation (rent, insurance, vehicle costs). That's your overhead — which gets subtracted at the business level. But tracking gross profit per job tells you which jobs are your most and least profitable.

A healthy gross margin for most contracting trades is 35–50%. If you're consistently below 30%, either your costs are higher than estimated or your prices are too low. Job costing data tells you which it is — and lets you fix it.

Estimated vs. Actual: The Most Valuable Comparison

The real power of job costing isn't knowing what a job cost — it's comparing what it cost to what you estimated. This comparison is your feedback loop for better estimating.

Category
Estimated
Actual
Variance
Labor
$2,800
$3,200
+$400
Materials
$3,800
$4,100
+$300
Subcontractors
$1,500
$1,500
$0
Equipment
$250
$300
+$50
Total Cost
$8,350
$9,100
+$750
Gross Profit
$6,650
$5,900
-$750

In this example, labor ran $400 over estimate. If this pattern repeats across jobs, your labor estimates are consistently low by ~15%. The fix is simple: add 15% to labor estimates going forward — or investigate where the extra hours are going (callbacks? inefficient crew? scope creep?).

Why Most Contractors Don't Do Job Costing (And How to Start)

The most common reason contractors don't job cost: it feels like too much work. If you're entering expenses into QuickBooks and tagging them manually to jobs, it is a lot of work.

The simplest starting point:

  1. Take photos of every receipt and note which job it's for. Even just doing this step creates a paper trail you can work from.
  2. Track employee hours by job, not just total hours. A simple timesheet with a job field is enough to start.
  3. Get every subcontractor invoice in writing before you pay them. Create a bill in your system linked to the job.
  4. Review each completed job against the estimate. Even a 10-minute comparison after each job teaches you more than a year of gut-feeling pricing.

Start with your next job. Don't try to retroactively job cost past jobs — that's where people give up. Track one job completely, review it, and you'll immediately see the value. Most contractors who start job costing are shocked by what they find in the first month.

Common Job Costing Mistakes to Avoid

  • Only tracking materials, not labor. Labor is often 30–50% of job cost and the hardest to estimate accurately. Tracking materials without labor gives you an incomplete picture.
  • Using estimate costs instead of actual costs. Job costing is only useful if you use real numbers. Entering your estimate into the actual column defeats the purpose.
  • Not tracking small purchases. $15 here, $30 there — hardware store runs, gas for material pickup, small tools — add up to hundreds of dollars per job and routinely go untracked.
  • Waiting until job completion to review. Review costs at each milestone. Catching a labor overrun at the midpoint gives you a chance to adjust; catching it at the end just tells you how much you lost.
  • Tracking gross profit but not overhead allocation. Gross profit is important, but some jobs take significantly more overhead time (estimating, customer communication, admin) than others. A low-gross-margin job that also takes 10 hours of your office time is much less profitable than it appears.

Using Job Costing Data to Improve Your Business

After 3–6 months of consistent job costing, you'll have enough data to answer questions like:

  • • Which job types consistently have the highest gross margins?
  • • Which customers generate the most profitable work?
  • • Which cost categories do I consistently underestimate?
  • • What's my actual average gross margin — and is it trending up or down?
  • • Are certain crew members or subcontractors driving cost overruns?

These answers let you make concrete business decisions: pursue more of the job types with the best margins, adjust estimates in categories where you consistently run over, and have data-backed conversations with customers when scope changes.

Job Costing Built Into CogniFlow Books

CogniFlow Books tracks labor (from timesheets), material receipts, and subcontractor costs per job — automatically. See your real margin on every job without manual data entry. Compare estimated vs. actual costs on every project and build the data you need to price confidently.

Try It Free