Job Costing Guide

Job costing is how you know if you're actually making money. Here's how to do it.

By Phazahn Odom | Founder of Phixmo | Former bookkeeper for residential GCs | Former NFL tight end, Pittsburgh Steelers

Most residential GCs find out whether a job made money after it's over. They finish the work, send the final invoice, and then discover during reconciliation that the 12% margin they bid turned into 4%. By then it's too late to do anything about it.

Job costing fixes that. It's the practice of tracking your actual costs against your budget as the job runs, so you see problems while there's still time to fix them. This guide covers how to do it without an accounting degree.

What is job costing?

Tracking the actual costs of a specific project against the budget you estimated, broken down by category.

When you bid a job, your estimate becomes a budget: so much for labor, so much for materials, so much for subs. Job costing means recording what you actually spend in each category as the job progresses and comparing it to those budgeted amounts.

The goal is simple: know at any point whether you're on budget, over, or under, in each category, while the job is still running. That knowledge is what lets you protect your margin.

Why does job costing matter?

Because without it, you're flying blind until the job is over.

You catch overruns while you can still act.

If your labor budget was 200 hours and you're at 180 hours with 60% of the work done, job costing tells you that you're heading for an overrun. You can adjust: tighten the schedule, address inefficiency, or have the margin conversation early. Without job costing, you find out you used 280 hours after the job is done and the money is spent.

You learn which estimates are wrong.

If your framing consistently comes in 20% over budget across multiple jobs, that's not bad luck, it's a bad estimate. Job costing reveals these patterns so you can fix your estimating.

You know your real margin.

Not the margin you bid, the margin you actually made. That's the number that matters, and job costing is the only way to know it before the books are reconciled months later.

What should you track?

Five categories cover most residential jobs.

Labor.

The biggest variable and the most important to track. Hours times rate, compared to estimated hours. Track this weekly, not at the end. Labor overruns are the most common margin killer and the easiest to catch early if you're watching.

Materials.

Every material purchase against the materials budget. The challenge is capturing every receipt. A $280 hardware store run that doesn't get logged is $280 of untracked cost.

Subcontractors.

What you pay subs against what you budgeted for them. Compare your electrical, plumbing, and HVAC actuals to your estimates.

Equipment.

Rentals, purchases, and equipment costs allocated to the job.

Other.

Permits, fees, dumpsters, and anything else. The miscellaneous category that's easy to ignore but adds up.

For each category, you want to see three numbers: budgeted, spent so far, and remaining. That tells you your position at a glance.

Why do spreadsheets fall short for job costing?

Spreadsheets are where most small GCs start, and they work until they don't.

They require manual entry for everything.

Every receipt, every time entry, every sub payment has to be typed in. On a busy week with multiple active jobs, this falls behind or gets skipped, and incomplete data makes the job costing useless.

They don't alert you.

A spreadsheet shows you the numbers if they're current, but it doesn't tell you that labor is trending over budget. You have to notice it yourself, which means you often don't until it's too late.

They're disconnected.

Your estimate is one file, your costs are another, your time tracking is on paper, your invoices are in accounting software. Nothing talks to each other, so getting a real-time picture means manually pulling from multiple places.

They don't scale.

One job on a spreadsheet is manageable. Five active jobs, each with labor, materials, subs, and changes, becomes a data-entry burden that no busy GC keeps up with.

How does software make job costing automatic?

The right tool captures costs without manual entry and alerts you to problems.

When job costing is built into your project management platform, costs flow in automatically. Time entries from GPS clock-ins become labor costs. Photographed receipts become material costs. Approved change orders adjust the budget. You're not typing data, you're reviewing it.

This is how Phixmo handles job costing. Your estimate sets the budget by category. As the job runs, labor costs come from crew clock-ins, material costs come from AI-parsed receipts, and sub costs come from recorded payments. At any point you see budgeted vs actual vs remaining for every category. Budget anomaly alerts flag when something is trending over. And you can ask in plain English, "how much have we spent on labor for the kitchen remodel?" and get the answer from live data.

The difference is that job costing actually happens. When it requires hours of manual data entry, busy GCs skip it. When it happens automatically, you always know where you stand. Approved change orders adjust the budget so the comparison stays honest, and AI takeoffs build the category budget in the first place.

How do you start job costing?

Four steps to get going.

1. Build your estimate by category.

Break every bid into labor, materials, subs, equipment, and other. This becomes your budget. An estimate that's just a single number can't be job costed.

2. Capture costs as they happen.

Log labor (ideally automatically via time tracking), receipts, and sub payments as the job runs, not at the end. The discipline of real-time capture is what makes job costing work.

3. Review weekly.

Once a week, look at budgeted vs actual for each category on each active job. This is where you catch overruns early.

4. Learn from completed jobs.

After each job, compare your final actuals to your original estimate. The patterns (where you consistently run over or under) tell you how to improve your estimating.

Know your margin before the job ends.

Phixmo captures labor, materials, and subs automatically, shows budgeted vs actual by category in real time, and alerts you when something trends over. Field workers are always free.

Common questions

Do I need an accountant to do job costing?

No. Job costing is for the GC who's running the business, not just the accountant. Clean categories, real-time capture, and weekly review are all you need. If you can read a budget, you can do job costing.

How often should I review job costs?

Weekly for active jobs. That's frequent enough to catch overruns while you can still act, without becoming a burden. The whole point is seeing problems early.

What's the most important category to track?

Labor. It's the biggest variable and the most common source of overruns. Track estimated vs actual hours weekly and you'll catch the majority of margin problems early.

Can I do job costing on a spreadsheet?

You can start there, but spreadsheets require manual entry, don't alert you to problems, and become unmanageable across multiple jobs. Software that captures costs automatically makes job costing something that actually happens consistently.

How does job costing connect to change orders?

When a change order is approved, it should adjust the budget so your job costing stays accurate. Otherwise you're comparing costs that include the change against a budget that doesn't. Phixmo adjusts the budget automatically on approval.

Related reading