Job Costing

Contractor Job Costing: Know Your Profit Per Job Before the Month Ends


Contractor working on a laptop reviewing job numbers outdoors
The P&L tells you the month. Job costing tells you the job.

Here is a question most contractors cannot answer on a Tuesday: which of last week's jobs made money? Not the month. The jobs. The $3,800 repipe, the two-day bath rough-in, the service calls on Thursday. If the answer comes from gut feel, or arrives six weeks later from the accountant, the business is flying with last quarter's instruments.

Job costing is the fix, and it is simpler than the name sounds. It means tracking revenue and costs per job, so each job reports its own profit. The monthly P&L tells you whether the business survived. Job costing tells you which jobs are worth repeating.

What job costing actually is

Every job has five numbers:

Revenue. What the customer paid or will pay. The contract price plus approved change orders, not the estimate you sent. If change orders live on paper in the truck, they are not in the revenue number, and the profit math is fiction.

Direct labor. Hours worked on that job times your loaded rate: wage plus payroll tax, workers comp, and benefits. Not the wage. The wage is what the tech takes home. The loaded rate is what the tech costs you.

Materials. What the job consumed, including the supply-house runs. This is where most job costing falls apart, because materials get bought in bulk and spread across jobs from memory. The discipline is simple: every receipt gets a job name before it leaves the truck.

Subcontractors. What you paid the sub for that job's work. Separate line, always. Sub costs buried in a general "job expenses" pile hide the jobs where the sub ate the margin.

Overhead share. Your fixed costs (rent, insurance, office, your salary) divided across the month's jobs. You do not need a perfect allocation. A simple per-job or per-day share is enough to stop the business from looking profitable on jobs that only cover direct costs.

Revenue minus the other four is the job's gross profit. Divide by revenue and you have the margin. That is the whole system. Five numbers per job, and suddenly you know.

The loaded labor rate most contractors skip

If you take one thing from this guide, take this: cost labor at the loaded rate or the job costing is theater. A tech paid $28 an hour costs roughly $38 to $45 an hour once payroll tax, workers comp, drive time, and a slice of overhead are in. Contractors who cost jobs at the wage consistently believe their margins are fifteen points higher than they are.

Set the loaded rate once, in one place, and let every job pull from it. When the rate changes (raise, new comp rate, new truck payment), update it once and every future job costs correctly. A job costing spreadsheet with a single rate cell does this automatically. A notebook does not.

Person reviewing and signing off on job paperwork
Every job gets five numbers. If one is missing, the profit is a guess.

A spreadsheet that runs the costing for you

Job costing fails when it takes an hour per job, because nobody does it. It works when entering the numbers takes five minutes and the math is automatic. The structure that works:

One row per job. Customer, job name, start and end dates, status. Everything else hangs off the row.

Cost entry as it happens. Labor hours, material receipts, sub invoices: entered against the job when they occur, not reconstructed at month end. The habit is "receipt gets a job name before it leaves the truck." Five seconds at the counter beats an hour of archaeology in December.

Automatic margin flags. The spreadsheet computes gross profit and margin percent per job and flags anything under your floor. A common floor is 15 percent. Red rows get attention this week, not at tax time.

A monthly rollup. Total revenue, total costs, total gross profit, and margin by month, with a bar chart you can read in ten seconds. This is the view that tells you whether the business is getting healthier or just busier.

Busier is the trap job costing exists to expose. A shop running ten jobs at 8 percent margin is working harder than a shop running six at 25 percent, and taking home less. Without per-job numbers, the busy shop feels successful right up until the cash runs out.

Reading the dashboard: which jobs to take more of

Once three months of jobs are costed, the dashboard starts answering strategic questions:

Which job types carry the margin? Service calls versus installs, small jobs versus large, one trade versus another. The numbers usually surprise people. The job type you thought was the breadwinner is often the one subsidized by the work you considered filler.

Which customers are profitable? Some customers generate change orders and pay on time. Others negotiate every invoice and pay in 60 days. Per-job costing attached to a customer list shows you who to chase and who to fire politely.

Where does the estimate go wrong? Compare estimated margin to actual margin per job. If estimates say 25 percent and actuals say 14, the estimating is broken, not the crews. That comparison is the feedback loop that fixes bidding.

What is the real capacity? Labor hours per job, totaled by week, show when the crew is actually full. Most contractors hire based on feeling overwhelmed. The hours say whether the answer is hiring, raising prices, or dropping the worst-margin job type.

Contractor reviewing paperwork and costs at a home office desk
The dashboard answers one question: which jobs should you take more of?

Start with this week's jobs

You do not need to cost last year's work. Start today: five numbers for each job currently open, updated as costs land. In thirty days you will have your first real month. In ninety days you will know things about your business that most contractors never learn, like which work to sell more of and which to stop selling entirely.

That is what systems and tools do at their best. The thinking (which five numbers, what the floor is, how the rate loads) is done once. After that, the spreadsheet does the remembering and the flagging, and you do the deciding.

The Contractor Operating System is the job costing spreadsheet this guide describes, connected to the rest of the business: the estimator that feeds it, the pipeline tracker that forecasts from it, the invoice and profit dashboard that reports per-job margin with under-target jobs flagged red, plus a client CRM and expense tracker in the same workbook. $149 as a one-time purchase, no subscription and no per-seat pricing, works in Excel and Google Sheets.

Put this thinking to work.

A five-tab spreadsheet operating system for residential contractors: estimate jobs to hit your margin, track every lead, invoice and see per-job profit, manage clients, and log expenses. $119 one-time.

See the Contractor Operating System →

The launch notes

Occasional, plain-spoken email.

New products, new playbooks, and practical notes on running a professional practice. No spam, no funnels, no daily drip. Unsubscribe anytime.