Guides

Guides › Job costing spreadsheet for contractors: know if a job made money · Updated 30 Oct 2026

Job costing spreadsheet for contractors: know if a job made money

Many trades businesses know their revenue but not which jobs actually made money. A job costing sheet compares what you estimated with what it really cost.

One row per job

Columns: Job, Client, Quoted price, Est. materials, Est. labour hours, Actual materials, Actual hours, Subcontractors, Other costs.

Labour cost

Put your loaded hourly cost in a settings cell (wages plus what each hour really costs you). Then:

=Actual_hours * Settings!B2

Profit and margin

=Quoted - (Actual_materials + Labour + Subs + Other)
=Profit / Quoted

Format the margin as a percentage. Sort by margin once a month.

Where did it go wrong?

Add two variance columns: actual minus estimated materials, and actual minus estimated hours. Patterns show up quickly, for example "bathroom jobs always run 20% over on hours". Use that in your next quote.

Record as you go

Log material receipts and hours per job weekly, not at the end. Memory is the most expensive part of a job costing system.

Rather start with a ready-made file?

The Trades Business Kit has job pricing, estimate, invoice, a jobs profit tracker and a dashboard in one file. Your data stays in your own file.

Trades Business Kit — Estimate, invoice, job pricing, job profit tracker and dashboard. Excel & Google Sheets, one-time $39.
Get the kit — $39 More info