Skip to content
Wisegrid blog

Construction Job Costing for Small Crews (2026 Guide)

By Ryan Kramer, founder of Wisegrid. Last updated July 2026.

Ask a small contractor which of last year’s jobs made money and most of us will tell you about the year. “The year was okay.” The year is not the point. The job is.

QuickBooks tells you about the year. Job costing tells you about the job: the kitchen that quietly ran $6,000 over on materials, the deck that was actually your best margin all summer, the addition where labor ate everything. Without a per-job number, you re-quote next season on vibes, and the money-losing jobs come back.

Job costing is not accounting

It sounds like a bookkeeping chore. It is not. Job costing is one sheet per job that answers one question: where did the money go? Three categories cover a small crew:

  • Materials: the lumber package, the shingles, the HVAC unit.
  • Labor: hours times rate, yours and your crew’s, subs included or split out.
  • Permits and fees: the line everyone forgets and the county never does.

Here is what a real one looks like for a kitchen remodel:

Line item Category Qty Unit cost Total
Framing lumber package Materials 1 $38,500 $38,500
Framing crew Labor 240 $85 $20,400
Roofing shingles + underlayment Materials 32 $410 $13,120
Roofing crew Labor 80 $78 $6,240
Electrical rough-in labor Labor 120 $92 $11,040
HVAC system + install Materials 1 $21,400 $21,400
Building permits Permits 1 $4,850 $4,850

Every line is quantity times unit cost. In a live sheet the Total column is a formula, so it computes as you type, and there is no re-adding a column at midnight before an invoice goes out.

The three-step routine

  1. Start the cost sheet the day you quote. Copy your estimate lines in. The estimate IS the first draft of the job cost.
  2. Add actuals as they happen. The lumber delivery invoice goes in the day it arrives, not at the end of the job from a shoebox. Thirty seconds per line.
  3. Stack the total against the quote when you close. Quote minus total cost is the job’s real profit. Write it down where you will see it when you quote the next similar job.

Do this for one season and two things happen: your quotes get sharper, because they are built on real numbers, and you start declining the job types that never pencil out. That second one is where the money is.

Where the leaks hide

  • Un-logged extras. The “while you’re here” requests that never became change orders show up in job costing as materials and hours with no revenue against them. If a job’s costs look mysteriously high, this is usually why.
  • Your own hours. Small-crew owners chronically cost their own labor at zero. Put yourself in at a real rate; a job that only works when you work free is not a working job.
  • Category drift. If everything lands in one “misc” bucket, you learn nothing. Materials, labor, permits: three buckets is enough to see the shape of the job.

The fast setup

Grab the free construction job costing template: a live sheet with the categories, the qty and unit cost columns, and the total formula already wired. It is literally just like Excel to use, so there is nothing to learn, and the same sheet lives next to your change order log and draw schedule for the job.

For the two-minute version of the question, run your numbers through the free job profit calculator: contract amount in, materials, labor, and subs in, profit and margin out. If the margin surprises you, the cost sheet will tell you why.

Watch: Job Costing for a Small Crew (2 minutes)