The Daily Network
Money

Job Costing for Roofers: Pricing for Profit, Not Just to Win the Bid

A practical job-costing framework that shows roofing owners where profit actually leaks, so pricing reflects real cost instead of gut feel.

Job Costing for Roofers: Pricing for Profit, Not Just to Win the Bid
Photo: Pexels

## Why "We're Busy" Doesn't Mean "We're Profitable"

A roofing company can run a full schedule, close job after job, and still watch margin quietly erode, because busy and profitable are not the same thing. The gap between the two is almost always found in job costing: most owners price based on a rough per-square rate they have always used, adjusted slightly for competition, rather than based on what a job actually costs to produce.

What are missed calls costing you?

Roughly how many inbound calls do you take in a week?

Tap to start. 5 quick questions, then see your monthly number.

## The Four Cost Buckets Every Job Needs

Accurate job costing means tracking every job against four buckets, not just materials and labor:

1. Direct materials. Shingles, underlayment, flashing, fasteners, and any specialty materials, priced at actual cost, not a rough estimate from memory. 2. Direct labor. Actual crew hours on that specific job, including tear-off, install, and cleanup, not an averaged labor rate applied uniformly across every job type. 3. Job-specific overhead. Dumpster rental, permit fees, equipment rental, delivery fees, and any subcontractor costs tied to that specific job. 4. Allocated overhead. A fair share of fixed costs (office staff, insurance, vehicles, marketing) spread across jobs based on volume or revenue, so every job is carrying its share of what it takes to keep the business running.

Most companies track bucket one reasonably well, track bucket two loosely, and skip buckets three and four almost entirely when pricing a bid. That is where the margin leak hides.

## Step 1: Establish Your True Overhead Rate

Before pricing a single job accurately, calculate total annual overhead (everything that is not direct material or direct labor on a specific job) and divide it by total annual production volume, expressed in squares or in revenue. This gives a per-square or percentage-of-revenue overhead rate that should be built into every estimate, not treated as something that gets covered "in aggregate" at year end.

A simple rule of thumb: if you do not know your overhead rate as a specific number, your pricing is a guess, no matter how confident it feels.

## Step 2: Track Actual Cost Against Estimated Cost, Job by Job

The estimate is a prediction. The job cost report is the truth. Building a habit of comparing the two after every job closes reveals patterns that a single job never shows:

- Which crews consistently run over on labor hours, and on which job types - Which material types generate more waste than estimated, and whether the estimate needs adjusting or the ordering process needs tightening - Which job types (steep-slope, multi-layer tear-off, complex flashing) are systematically underpriced relative to their true cost

## Step 3: Price by Job Complexity, Not Just Square Footage

A flat per-square rate is simple to quote but often mis-prices the jobs at either end of the complexity spectrum. A simple, single-story, low-pitch reroof and a steep, multi-facet, multi-layer tear-off should not carry the same per-square price, because they do not carry the same labor cost. Building a complexity multiplier into pricing, even a simple three-tier system (standard, moderate, complex), captures this without requiring a fully custom estimate on every job.

## Step 4: Know Your Break-Even Before You Discount

Salespeople under pressure to close a job will often discount to win it, especially against a lower competing bid. Without a clear break-even number in hand, that discount can easily cut into or below true margin without anyone noticing until the job cost report comes back weeks later. Give every estimator a hard floor price, calculated from the four-bucket model, below which a discount requires explicit manager approval.

## Step 5: Watch Warranty and Callback Cost as a Category, Not a Write-Off

Callback labor, material, and travel time are real costs that often get absorbed silently into "overhead" without anyone tracking which jobs, crews, or job types are generating them. Track callback cost by job and by crew specifically. A crew that looks highly productive on install speed but generates a disproportionate share of callbacks is not actually your most profitable crew once that cost is allocated back to them.

## A Simple Monthly Discipline

- Pull a job cost report on every closed job within a week of completion, while details are still fresh enough to investigate discrepancies - Review overhead rate quarterly, since fixed costs and production volume both shift over time - Review the ten highest-margin and ten lowest-margin jobs from the prior quarter side by side, looking for patterns in job type, crew, or sales rep

## The Payoff

Job costing does not make pricing more complicated for the sake of complexity. It makes pricing accurate, which means the business stops subsidizing its most expensive jobs with the margin from its easiest ones. A roofing company that knows its real numbers can price with confidence, hold the line in a negotiation, and know, job by job, whether being busy is actually building the business or just running it in place.

The lost-job calculator

Most shops lose more booked work at the phone than they realize. See your monthly number.

See my number →
Missed-call calculator
See your monthly number
See my number →