Construction job costing spreadsheet: free template and how to use it

What to track to know whether a job is making money, a free Excel template with the columns already set up, and the weekly habit that keeps it honest.

6 min read

Most small contractors can tell you what they charged for a job. Far fewer can tell you what the job actually cost them — until months later, when the receipts finally get sorted and the surprise is already baked into the bank account. The fix doesn't require software or an accountant. It requires a spreadsheet with the right columns and a ten-minute weekly habit.

This guide covers both, and at the end you can download the exact template we use — free.

What job costing actually means

Job costing is nothing more than keeping each job's money separate. Not "how did the business do this month" — that's what your bank balance vaguely tells you — but "what has Westlake cost so far, and what has it paid me."

The distinction matters because a busy month hides losing jobs. Two profitable remodels can cover for a third that quietly eats its margin in change-order materials nobody wrote down. If costs go into one pile, the losing job stays invisible until it's finished — when there is nothing left to do about it.

One sheet (or one section) per job. That's the whole architecture.

The columns that matter

For each job, track costs with these columns:

Column Why it earns its place
Date Order matters when you review the week
Vendor Who you paid — patterns show up fast
What it was for One short line, written the same day
Category Materials, labor, subcontractors, equipment, transport, permits, other
Amount The full amount you're committed to, tax included
Receipt? A simple yes/no — the ones without backup are the ones you'll fight about

Keep the category list short. Six or seven categories tell you where the money went; twenty tell you nothing because half of every week ends up in "other."

One note on the labor category: record what an hour actually costs you — wage plus payroll taxes, insurance and paid time off — not the wage alone. The labor burden calculator turns one into the other.

On a second section, track the money side of the same job:

  • Agreed price — the contract value, plus every approved change order, each on its own line. A change order that lives only in a WhatsApp thread doesn't exist.
  • Payments received — each deposit and progress payment, with its date.

Track money in separately — and don't call the difference profit

Here's the mistake nearly every spreadsheet makes: one "profit" cell that subtracts costs from payments received. Mid-job, that number is almost always wrong, in one of two directions.

If the client paid a healthy deposit and you've barely started buying materials, the sheet says you're wildly profitable. You're not — you're holding the client's money and the costs are coming. If you're deep into the work and the final payment hasn't landed, the sheet says the job is a loser. It probably isn't — you just haven't collected yet.

The honest version keeps two numbers side by side and refuses to blend them:

  • Collected — cash that has actually arrived.
  • Recorded cost — every cost you've written down so far.

The gap between the agreed price and what you've collected is what's left to collect. The gap between the agreed price and your costs is heading toward the real margin — but only once every cost is in. A job's true profit is only knowable when the work is done, the last invoice has been paid, and the last receipt is recorded. Until then, treat any "profit" cell as a rumor.

When the job is done and every cost is in, the job cost and profit calculator turns the totals into gross profit, margin, and what's left after overhead — the number this guide keeps telling you to wait for.

A worked example

Say the Westlake remodel looks like this today:

Contract value $48,000
Approved change order $3,500
Agreed price $51,500
Collected so far $32,000
Recorded costs so far $28,400

What can you actually conclude? You have $19,500 left to collect — worth knowing before you buy the next round of materials with your own cash. Costs are at $28,400 against an agreed price of $51,500 — so if the remaining work needs less than roughly $23,000 in costs, the job ends in the black. What you cannot conclude is "I've made $3,600" ($32,000 − $28,400). That number is a coincidence of payment timing, and next week's lumber delivery will change it.

The ten-minute weekly habit

A job costing sheet is only as good as its most recent entry. The habit that keeps it honest:

  1. Enter every receipt from the week — same week, before the details go fuzzy. A receipt entered three weeks late gets a guessed category and a rounded amount.
  2. Ask what's missing. Did a sub invoice you verbally? Did your crew buy anything with cash? The costs you didn't write down are the ones that erase margins.
  3. Look at what's left to collect on every active job — and whether a progress payment should have been requested already.

Ten minutes, ideally the same day each week. The value isn't the arithmetic; it's that no job goes more than a week without you looking at it.

Where the spreadsheet starts to break

A spreadsheet handles one careful person and a couple of jobs beautifully. It starts to crack in predictable places: three or four jobs running at once, crew members buying materials with photos of receipts scattered across WhatsApp, and the weekly entry session becoming an evening of typing someone else's tickets. The sheet is only as current as the receipts that made it in — and the ones that didn't are exactly the problem.

That's the point where a purpose-built tool earns its keep. Obra was designed around exactly this loop: your crew sends the receipts — a photo, a WhatsApp message, or an email — you confirm each one, and every job shows what it has cost and what remains to collect. And when you're ready to look ahead, Obra builds a final-cost forecast from inputs you review yourself — telling you where the margin is at risk, and just as plainly what's still missing. If you've been keeping a spreadsheet like the one above, you can import it and keep your history. Start free whenever the spreadsheet stops being enough.

Get the template

Until then, the template below has every column from this guide with the totals already wired up — one sheet per job, costs and payments kept honestly separate. Enter your email below and the download starts right away.

Free download

Not ready for an app? Start with our free Excel template.

A ready-made spreadsheet to track costs and income per project — with categories and the totals already set up.

The download starts right away. We'll also follow up by email with more job-costing help — no spam, unsubscribe anytime.