Skip to main content

5 Overhead Allocation Mistakes Roofing Companies Make With Fixed Costs

David Patterson, Roofing Industry Analyst··31 min readBusiness Metrics
On this page

Overhead allocation for a roofing company's fixed costs is the way you spread the costs that do not move with any single job — rent, the office payroll, insurance administration, the truck loan, the estimating software — across the jobs you actually sell. Done well, it tells you which roofs paid for the building and which ones did not. Done badly, it quietly subsidizes your worst work with the profit from your best work, and you never see it.

The short version: do not bury every fixed cost in one flat percentage of revenue, do not let direct and indirect costs leak into the same bucket, do not allocate a cost by a base that has nothing to do with what drives it, do not ignore that roofing revenue is seasonal while rent is not, and do not treat the allocation report as if it were a price tag. Those are the five mistakes below, in order of how much money they tend to hide.

None of this requires a finance degree. It requires picking a small number of cost pools, choosing an allocation base that has a real relationship to each pool, and applying it the same way every month so your job reports stop lying to you. The numbers will never be perfect. The goal is a model that is consistently wrong in a small way instead of confidently wrong in a large way.

One honesty note before we go deep: the tax and federal-contracting sources cited here — the IRS, the SBA, and the Federal Acquisition Regulation — are not roofing pricing rules. They are used here for the plain-language discipline they teach: keep records, separate direct from indirect costs, allocate by a reasonable relationship, and stay consistent. Your CPA, not a blog, signs off on how any of this hits your tax return or financial statements.

First, get the words straight: fixed, variable, direct, indirect

Half of every overhead argument in a roofing office is two people using the same word to mean different things. Pin the vocabulary down before you allocate a dollar.

A fixed cost does not change when you install one more roof or one fewer. The SBA describes fixed costs as expenses that do not change with an increase or decrease in production, and lists rent, salaries, property taxes, insurance, interest, and depreciation as examples. Your shop rent is the same whether crews ran six jobs last week or zero.

A variable cost moves with volume. Shingles, underlayment, fasteners, dumpster pulls, fuel burned driving to the job, and per-job labor all rise and fall with how much you produce.

A direct cost can be traced to one specific job. The bundles delivered to 412 Oak Street, the tear-off sub on that address, the permit pulled for that address.

An indirect cost supports more than one job, or the whole company. The office manager's salary, the general liability premium, the CRM subscription, the yard.

The trap is assuming these two pairs line up. They do not. A cost can be fixed and indirect (rent), variable and direct (shingles), fixed and direct (a foreman salaried to a single long commercial project), or variable and indirect (office electricity that climbs in summer). Overhead allocation is mostly about one quadrant: the fixed indirect costs that have to be carried by jobs even though no single job caused them.

Cost example Fixed or variable Direct or indirect Where it usually lands
Shingles for 412 Oak St Variable Direct Job cost, traced
Crew install labor on that job Variable Direct Job cost, traced
Shop rent Fixed Indirect Overhead pool, allocated
General liability premium Fixed Indirect Overhead pool, allocated
Estimating software subscription Fixed Indirect Overhead pool, allocated
Owned dump trailer (depreciation) Fixed Indirect Overhead pool, allocated
Permit for a specific roof Variable Direct Job cost, traced
Salaried PM on one large job Fixed Direct Job cost, traced for that job
Office electricity Mixed Indirect Overhead pool, allocated

The last column is the whole game. Anything you can cleanly trace to a job belongs in that job's cost. Everything left over — the indirect pile, most of it fixed — is what you have to allocate. The five mistakes below are all ways that allocation goes sideways.

Mistake 1: Treating every fixed cost as one flat percentage of revenue

This is the default in most roofing shops, and it is the most expensive. You add up a year of overhead, divide by a year of revenue, get a number like 14 percent, and staple it onto every estimate. Clean. Easy to explain to a new salesperson. And it silently assumes that a job's price is a fair stand-in for how much office, management, and shop support that job consumed.

It usually is not.

Consider two jobs at the same price. A $9,000 insurance restoration that needed a supplement, three carrier phone calls, a re-inspection, photo documentation, a mortgage check endorsement, and two trips to the property. And a $9,000 cash retail replacement that was measured once, sold once, installed in a day, and paid by card. A flat revenue percentage charges both the same overhead. But the restoration job ate days of office time the retail job never touched. Allocate by revenue and you have just decided, by accident, that paperwork is free.

It runs the other way too. A revenue base over-burdens material-heavy work. A big metal or tile job carries a high price largely because the material is expensive, not because it drained the back office. Push 14 percent of that price into overhead and you have loaded a fixed-cost share onto a job whose dollars came from a supplier, not from your support team. You may walk away from good high-material work because the model made it look thin.

The SBA's break-even guidance frames the real question without ever using the word overhead. Break-even is fixed costs divided by contribution margin per unit. Your fixed costs are a lump you must cover over a year, regardless of which jobs cover them. A flat revenue markup pretends those fixed costs distribute themselves neatly in proportion to price. They do not — they distribute themselves in proportion to effort and capacity, and price is a poor proxy for either.

When a flat percentage is fine — and when it lies

A single blended rate is acceptable when your work is uniform. If you do nothing but residential asphalt tear-offs of similar size, sold and installed the same way, revenue and effort track closely enough that one percentage will not steer you wrong. The flat rate breaks down the moment your mix gets lumpy: residential plus commercial, retail plus insurance, replacements plus a service department, single-day jobs plus multi-week projects.

Your work mix Flat revenue % risk
One product, similar job sizes, one sales motion Low — a blended rate is workable
Retail and insurance restoration mixed Medium — restoration carries hidden office load
Residential and commercial under one roof High — commercial PM and billing load is invisible
Replacement plus a service/repair department High — small jobs are overhead-dense per dollar
Multiple branches or divisions High — a company rate hides branch-level reality

The fix is not to abandon a markup. It is to stop using one base for all fixed costs and split the pile into a few pools that each get a base that fits — which is the rest of this page.

Mistake 2: Letting direct and indirect costs leak into the same bucket

The second mistake is quieter and corrupts your data at the source: the same kind of cost gets charged directly to one job and dumped into overhead on another, with no rule governing which. Once that happens, your job reports stop being comparable, and every downstream allocation inherits the mess.

The Federal Acquisition Regulation is written for government contractors, not roofers, but its discipline is worth borrowing. FAR 31.202 defines a direct cost as one identified specifically with a single cost objective, and says no cost may be charged directly if other costs of the same nature, in the same circumstances, were charged as indirect. FAR 31.203 covers the indirect side. The principle underneath the legalese: pick a lane for each cost type and stay in it.

Here is how the leak shows up in a roofing company:

  • Supervision. A foreman's time gets charged directly to a big commercial job, because someone tracked it. On small residential jobs, the same supervision sits in overhead because nobody bothered. Now every small job looks artificially lean and every large job looks heavy, and you cannot trust a side-by-side.
  • Equipment. A rented lift gets charged to the job that rented it — direct. An owned lift that does the identical work disappears into overhead as depreciation. Jobs using your own iron look cheaper than jobs renting iron, even when the work is the same. You start to think owning gear is more profitable than it is.
  • Warranty and callbacks. A return trip to fix a leak gets absorbed into general crew payroll instead of charged back to the originating job. The job that caused the problem still shows a healthy margin; the callback cost smears across every job as "overhead." A recurring install defect now reads as a company overhead problem instead of a training or crew-quality problem you could actually fix.
  • Small tools and consumables. Caulk, blades, nails, gloves — charged to a job when someone remembers, charged to the shop when they do not.

The mistake is not picking the "wrong" lane. Reasonable companies treat supervision as direct; others pool it. The mistake is switching lanes without a written rule. Decide once: is foreman time direct or indirect? Is owned-equipment cost direct (via an internal equipment rate) or indirect? Is callback labor charged back to the originating job? Write it down, put it in your job-cost setup, and make every estimator and bookkeeper follow it.

This is also where recordkeeping stops being a tax chore and starts being a management asset. The IRS recordkeeping guidance notes that good records let you monitor your business's progress, prepare financial statements, and track deductible expenses. The same source documents — supplier invoices, payroll detail, equipment logs — are exactly what you need to keep the direct/indirect line clean. IRS Publication 583 on starting a business and keeping records and Publication 334, the tax guide for small business, reinforce the habit. If your books cannot tell you whether a foreman's hours hit a job or the office, your allocation is built on sand.

A clean-lane rule sheet you can adopt

FIXED-COST CLASSIFICATION RULES  (review yearly with CPA)

Cost type                  Treatment        Rule / base
-------------------------   --------------   ----------------------------
Foreman / lead supervision  DIRECT           hours logged to job
Project manager (>$50k)     DIRECT           % of PM time per project
Project manager (general)   INDIRECT         field-mgmt pool
Owned equipment             DIRECT (rate)    internal $/crew-day rate
Rented equipment            DIRECT           actual rental, to the job
Callback / warranty labor   DIRECT           charged to ORIGINATING job
Small tools / consumables   INDIRECT         field-mgmt pool
Shop rent / utilities       INDIRECT         facilities pool
GL & umbrella insurance     INDIRECT         admin pool
Estimating software         INDIRECT         estimating/sales pool
Office payroll              INDIRECT         admin pool
Sales commissions           DIRECT           % of contract, to the job

The exact lanes matter less than the fact that the sheet exists, everyone uses it, and it does not change mid-year. Consistency is what makes two job reports comparable.

Mistake 3: Allocating a cost by a base that has nothing to do with it

Once the indirect pile is clean, you spread it with an allocation base — sometimes called a cost driver. This is the base you divide by: direct labor hours, direct labor dollars, total direct cost, revenue, job count, crew-days, squares installed, or estimate count. Each base sends a different signal. Pick one that has no real relationship to the cost, and you manufacture false profitability.

The idea of allocating by relationship is old and well-settled. FAR 31.201-4 describes allocability as charging a cost in reasonable proportion to the benefit received, or by some other equitable relationship. Standard cost-accounting practice says the same: spread an indirect cost by a base that represents a logical link between the expense and the work that benefits from it. The base should cause the cost to move, or at least track it closely.

Here is how indirect roofing pools map to bases that actually fit:

Fixed/indirect pool What drives it Reasonable allocation base A base that lies
Admin & office payroll Transactions, invoices, calls Job count, or direct labor $ Squares installed
Estimating & sales support Bids prepared (won or lost) Estimate count Revenue of won jobs only
Field management & supervision Days crews are in the field Crew-days Revenue
Equipment & vehicles Days of use Crew-days or equipment-days Job count
Facilities (rent, utilities, yard) Capacity to operate Direct labor $ or revenue Estimate count
Insurance administration Payroll and job activity Direct labor $ Job count
Purchasing / material handling Volume of material bought Direct material $ Labor hours

Watch what the wrong base does. Allocate estimating software by labor hours, and a storm season where you bid forty roofs and won eight will hide a mountain of bidding cost — because the eight winners carry hours, but the thirty-two losers carried the real estimating load. Allocate that pool by estimate count and the cost of chasing work finally shows up where it happens. That single change has talked more than one owner out of a low-close-rate lead source.

Allocate office rent by squares installed and your high-volume production crews look like cost hogs even though they barely touch the office. Allocate field supervision by revenue and a cheap, complicated, multi-trip repair looks supervision-free while a simple high-dollar replacement eats a supervisor's whole "share." The supervisor was on neither roof in proportion to price — he was there in proportion to days.

How many pools do you actually need?

Not many. The instinct to build twenty pools for precision is a trap; you will spend more on bookkeeping than the precision is worth, and nobody will maintain it. Match pool count to company complexity.

Company profile Suggested pools
Owner-operator, one crew 1 blended pool (a flat rate is honest here)
Small residential, 2–4 crews 2–3: admin, field/equipment, estimating
Residential + service department 3–4: add a service pool so small jobs are seen
Residential + commercial 4–6: separate commercial PM and billing load
Multi-branch or multi-division Pools per division, allocated then sub-allocated

The right answer is the smallest number of pools that keeps your distinct work types from subsidizing each other. If residential is quietly paying for commercial's project-management overhead, you need at least one more pool. If everything you do looks alike, one pool is not a failure — it is honesty.

Mistake 4: Ignoring that fixed costs are flat while roofing is seasonal

Roofing revenue swings with weather, daylight, hail, and the insurance claim cycle. Fixed costs do not. Rent, salaries, the truck loan, the GL premium, and the software all bill in January exactly as they bill in July. If your allocation ignores that mismatch, your monthly job reports become a weather report wearing an accountant's coat.

Two ways this goes wrong, both common:

You only spread overhead when revenue lands. In a slow February, few jobs close, so the few that do absorb an outsized chunk of the month's fixed costs and look terrible. In a busy June, dozens of jobs split the same fixed nut and look fat. Same crews, same quality, same pricing — wildly different "profitability" driven entirely by the calendar. Owners who price off monthly reports start discounting in spring and panicking in winter, both for no real reason.

You spread overhead evenly by month regardless of volume. Now January work carries a full month of fixed costs against a trickle of jobs and looks unprofitable, while peak-season work looks artificially clean. You might cut off-season marketing or lay off office staff you will scramble to rehire in April.

The cleaner approach is to recover fixed costs against an annual base, not a monthly one. Estimate your fixed indirect pool for the year, estimate the year's allocation base (crew-days, labor hours, or revenue, per pool), and compute an annual rate. Apply that steady rate to jobs as they close, whatever the month. This is the same logic behind a predetermined overhead rate in standard job costing: you set the rate from a full year's expectations so a single slow or busy stretch does not whipsaw the numbers.

A worked example with round, hypothetical figures:

ANNUAL FIXED-COST RECOVERY RATE  (illustrative only)

Field-management pool (annual)............  $240,000
Expected crew-days this year..............    1,200

Rate = $240,000 / 1,200 = $200 per crew-day

A 2-day replacement absorbs:  2 x $200 = $400 of field overhead
A 1-day repair absorbs:       1 x $200 = $200 of field overhead

Notice the repair carries half the field overhead of the replacement even if its price is one-fifth — because it tied up a crew for half the days, which is what actually drives field management. Revenue would have told you the opposite story.

Because it is an estimated annual rate, reality will not match exactly. If crews work more days than expected, you under-recover (more overhead happened than you applied); fewer days, you over-recover. In job-cost accounting this is the familiar under- or over-applied overhead, and you true it up at year-end. The IRS recordkeeping habit and Publication 334 again matter here: clean, dated records of revenue, job closeouts, and crew-days are what let you set a sane annual base and reconcile against it. The exact accounting treatment of any variance is a question for your CPA, not your gut.

Two questions to separate every season

When seasonality muddies the picture, split the problem in two:

  1. What is the annual fixed nut? Total it once. This is the number break-even is built on, and it has to be covered across the whole year, not earned back evenly month to month.
  2. Which work consumes shared resources, and when? A storm-response month spikes phones, documentation, and dispatch; a steady retail month spreads load evenly; a maintenance program drips small support across many tiny visits.

Answer those separately and you can choose an annual rate, a seasonal rate, or a rolling average with eyes open — instead of letting the calendar quietly rewrite your margins.

Mistake 5: Reading the allocation report as a price tag

The last mistake is the most seductive because it happens after you have done everything else right. You build clean pools, fit each to a sensible base, set an annual rate — and then you treat the allocated number as the truth about what a job is worth. It is not. An allocation report is a management model, not a price, not cash flow, and not a financial statement.

The Cost Accounting Standards exist precisely because allocation is a method, applied consistently for comparison — not a declaration of a single true cost. The standards stress consistency, classification, and equitable allocation; they do not pretend the resulting number is the market price of the work. Private roofers are not governed by CAS, but the lesson holds: an allocated cost is one lens, ground a particular way, useful for the comparison it was built for and misleading if you ask it questions it cannot answer.

Here is how owners over-read the report:

  • "The job with the lowest allocated overhead is the best job." Maybe. Or maybe it carries warranty risk, a tricky access situation, or a customer who will dispute the final invoice. Allocation does not see scope risk.
  • "Service work shows high overhead per dollar, so kill the service department." Service jobs are overhead-dense per dollar by nature — they are small. But the service truck generates replacement leads, keeps your name on the homeowner's fridge, and feeds the production calendar in slow months. The report priced the visit; it did not price the relationship.
  • "Big commercial absorbs overhead beautifully, chase more of it." Until you notice the retainage, the 75-day pay cycle, the bond cost, and the PM time the base never fully captured. Revenue-friendly is not the same as cash-friendly.
  • "Allocated cost plus my margin equals my price." Price lives in the market. Your cost floor (direct cost plus a fair allocation) tells you the floor you cannot drop below; it does not tell you what a customer will pay or what a competitor will bid.

A real estimate has to layer on what allocation ignores: scope and change-order risk, labor availability, material price volatility, warranty exposure, financing and retainage timing, sales commission, and the cost of acquiring that customer. The allocation report sets the floor and starts the conversation. It does not end it.

Use the report as a tripwire. When it flags a work type as a loser, do not cut the work — interrogate the model first. Wrong pool? Wrong base? Bad data quality? A timing mismatch from Mistake 4? A real cost the base does not capture? Nine times out of ten the fix is in the assumptions, not in the job.

Putting it together: a roofing fixed-cost review you can run in an afternoon

You do not need a consultant to get most of this right. You need an afternoon, your P&L, and the discipline to follow the same sequence every year.

Step 1 — List every fixed and shared cost, before deciding anything

Pull the recurring indirect costs from your books: rent, utilities, software, GL and umbrella insurance, office payroll, management payroll, sales support, estimating tools, training, yard and warehouse, phones, vehicles, owned-equipment depreciation, bookkeeping, legal and professional fees, and warranty administration. Resist the urge to assign anything yet. You want the full pile visible first.

Step 2 — Label each cost direct, indirect, or mixed

Use the rule sheet from Mistake 2. A mixed cost gets a documented split — a foreman who runs one big job for a month is direct for that month and indirect the rest of the year. The standard is consistency, not perfection. Write the reasoning next to the cost so next year's review starts from a known place rather than a fresh argument.

Step 3 — Group indirect costs into a few pools

Fewer than you think. A small contractor: admin, field/equipment, estimating. A residential-plus-commercial shop: add a commercial pool to stop residential from carrying commercial's PM load. Add a service pool the moment small jobs start hiding in a residential blend. Match pool count to the table under Mistake 3.

Step 4 — Assign each pool the base that actually drives it

Not the base that is easiest to pull from your software — the one that explains the cost. Job count for closeout-heavy admin. Crew-days for field supervision and equipment. Estimate count for sales support. Direct material dollars for purchasing. Revenue is allowed a seat, but it does not get to carry every pool by default.

Step 5 — Set an annual rate per pool and apply it steadily

Divide each pool's annual cost by its expected annual base to get a rate per crew-day, per estimate, per job, or per labor hour. Apply it as jobs close, regardless of season. Plan to true up over- or under-recovery at year-end, with your accountant.

Step 6 — Sanity-check the model against what you actually see

This is the step everyone skips and the one that earns the afternoon back. If the model says service is a loser but service feeds your replacement pipeline, the pool is missing value, not the department. If it says commercial absorbs overhead well but cash always arrives late and PMs are buried, the base is too blunt. Allocation is a lens. Your eyes on the operation are the reality check.

A one-page review checklist

FIXED-COST ALLOCATION REVIEW — annual

[ ] Pulled all recurring indirect costs from the P&L
[ ] Labeled each direct / indirect / mixed (rule sheet exists)
[ ] Mixed costs have a written, documented split
[ ] Indirect costs grouped into the FEWEST sensible pools
[ ] Each pool has a base that DRIVES the cost (not the easy one)
[ ] Annual rate set per pool (not monthly, not revenue-only)
[ ] Rate applies the same way every month / season
[ ] Plan to reconcile over/under-recovery at year-end with CPA
[ ] Model compared against observed reality, by work type
[ ] Service / small jobs valued for leads, beyond per-dollar cost
[ ] Method unchanged mid-year unless documented and intentional
[ ] CPA / tax pro reviewed anything touching the return

A full worked example: two roofs, three allocation methods

Abstract rules slide off. Numbers stick. So here are two real-feeling jobs run through three different allocation methods, with round, clearly hypothetical figures, to show how the method — not the jobs — decides which one looks profitable.

Say a contractor runs two jobs in the same week. Job A is a straightforward retail asphalt replacement: $14,000 contract, one crew, two days, $7,000 in direct material, $2,800 in direct labor, sold in a single visit, paid by card. Job B is an insurance restoration of the same size: $14,000 contract, one crew, two days, $7,000 direct material, $2,800 direct labor — but it took a supplement, two carrier calls, a re-inspection, a mortgage endorsement, and four office touches across three weeks before it closed.

The direct costs are identical. Everything different about these jobs lives in the overhead — and the allocation method decides whether you ever see it.

Assume the company's annual fixed indirect pool is $480,000, split into a $300,000 admin/estimating pool and a $180,000 field/equipment pool. Expected base for the year: $4,000,000 revenue, 1,500 crew-days, and 50,000 admin "touches" (calls, invoices, documents). That gives a 12% revenue rate, a $120 per-crew-day field rate, and a $6-per-touch admin rate.

Allocation method Overhead on Job A Overhead on Job B What it tells you
Flat 12% of revenue $1,680 $1,680 Identical — the office load on Job B is invisible
Crew-days only ($120/day) $240 (2 days) $240 (2 days) Still identical — field base misses office work
Pooled: $120/crew-day + $6/touch $240 + ~$12 (2 touches) = $252 $240 + ~$24 (4 touches) = $264 field; plus admin touches Job B carries more, where it should

Work the admin pool properly and the gap widens. If Job A consumed 2 office touches and Job B consumed 16 (the supplement, the calls, the re-inspection, the endorsement, the follow-ups), the admin allocation is $12 versus $96 — and that is before you count the three weeks of carrying the job open. Under a flat revenue rate both jobs report the same margin and you would happily chase more restoration work at that price. Under a pooled method the restoration job reveals its true office appetite, and you either reprice it, build the supplement fee into the contract, or stop treating retail and restoration as the same animal.

The point is not that one method is mathematically "correct." It is that the flat method made a real difference disappear, and the pooled method made it visible. Visibility is the entire return on doing this work.

Reading the variance, beyond the number

Once you apply an annual rate, watch the gap between what you applied and what actually happened. If you applied $120 per crew-day all year and your real field pool came in at $200,000 against 1,500 days, your true rate was $133 — you under-recovered by $13 a day, roughly $20,000 you thought you collected and did not. That is not a disaster; it is a signal to reset next year's rate. The opposite — over-recovery — means you padded jobs and may have priced yourself out of bids you could have won. Either way the variance is information, and clean records are what let you read it. The IRS recordkeeping habit of dated, supportable transaction records is exactly what makes a year-end true-up possible instead of guesswork.

Regional and climate variation roofers should expect

Allocation is not one-size-fits-all because roofing companies are not. A few patterns worth pricing into your pools:

Storm and hail markets (the Plains, Texas, the Southeast) live and die on insurance restoration, which is the most overhead-dense work there is per dollar — supplements, carrier calls, re-inspections, documentation, and mortgage endorsements. If you work storm, your admin and estimating pools are heavier than a pure-retail shop's, and a flat revenue markup will badly understate them. Crew-days and estimate-count bases serve you better than revenue.

Snow and ice markets (the Upper Midwest, Northeast, mountain West) face a hard seasonal cliff. Fixed costs run twelve months; installable days might run seven or eight. Annual-rate recovery (Mistake 4) is close to mandatory, or your winter reports will be unreadable. Owned snow and ice-dam equipment also blurs the direct/indirect line — set an internal equipment rate so it is charged to the work that uses it.

Hot, sunny, steady markets (the Southwest, parts of California) get more even production and tighter tile and low-slope work. Material-heavy tile and metal magnify the Mistake 1 problem — revenue-based overhead loads supplier dollars with office cost. A direct-cost or labor-based facilities allocation behaves better.

Coastal and high-wind zones carry heavier insurance and code-compliance overhead, and stricter fastening and inspection requirements add field-supervision time. That belongs in a field-management pool allocated by crew-days, not smeared into a company-wide percentage.

None of these change the five mistakes. They change which mistake will bite you first.

Where a targeting tool fits in the overhead picture

Allocation tells you what your fixed costs are and which jobs consumed them. It is silent on the question that actually moves the fixed-cost recovery line: are you filling the schedule with the right jobs in the first place? Fixed costs get cheaper per job the more good jobs you run through the same office, yard, and trucks. Idle capacity is the most expensive overhead there is, because you pay for it whether or not a crew is on a roof.

That is the seam where outbound targeting matters. A tool like RoofPredict does not allocate costs, inspect roofs, or price jobs — and it should not be confused with your CPA or your job-cost software. What it does is tell a contractor which roofs are actually due for work, house by house, by pairing an estimated roof-age range with storm physics that model hail and wind impact on each individual roof rather than just where the storm passed. That changes the denominator in your allocation math. More crew-days spent on roofs that were genuinely due — and fewer spent knocking brand-new roofs or chasing dead leads — means the same annual fixed nut spreads across more productive days, and your recovery rate per crew-day drops.

It also sharpens the work types in your pools. A company running storm response, repairs, replacements, gutters, and maintenance has wildly different support loads by type — and knowing which homes are due lets you point canvassers, mailers, and an old CRM of past estimates at the houses most likely to convert, instead of spreading sales support evenly across cold ground. That is the same estimating-and-sales pool from Mistake 3, made smaller per won job. Better targeting does not fix a broken allocation method. It makes a correct one look far better, because every fixed dollar is working against more real demand.

Common mistakes beyond the big five

A few smaller traps that show up once the main five are handled:

  • Forgetting owner labor. An owner who still sells, estimates, and runs crews is a real cost. Leave that labor out and your overhead looks artificially low and your jobs look more profitable than they are — right up until you try to hire your own replacement and the margin vanishes.
  • Counting marketing as fixed overhead. Some marketing is a fixed brand cost; lead-generation spend is closer to a variable acquisition cost per job. Blending them hides which channels actually pay.
  • Never updating the rate. A rate set three years ago, before you added a branch and two trucks, is fiction. Reset it yearly, minimum.
  • Changing the method mid-year to make a number look better. The fastest way to lose the ability to compare anything. Consistency over flattery.
  • No written record of the method. If the method lives only in the owner's head, it dies with the owner's memory and cannot be reviewed by a CPA. Write it down.

How overhead allocation connects to break-even and capacity

Allocation is not an accounting hobby. It feeds the two numbers that decide whether the business survives a slow stretch: break-even and capacity utilization.

The SBA break-even formula is fixed costs divided by contribution margin. Your contribution margin per job is the contract price minus the variable (direct) cost. Notice what is and is not in that formula: variable cost is subtracted per job, but fixed cost sits on top as a single annual lump you must cover. That is the cleanest argument against burying fixed costs in a per-job percentage. Fixed costs are a target you clear across the year, not a tax you levy per sale. The allocation rate is just a tool for tracking how fast you are clearing the target and which work clears it fastest per crew-day.

That reframing changes how you think about a slow month. If your annual fixed nut is covered by, say, day 210 of crew-work, then every productive crew-day after that contributes far more to the bottom line, because the fixed costs are already paid. Every idle crew-day before that point is pure leak. This is why capacity utilization — keeping crews on roofs that are actually due for work — does more for your margins than shaving a point off the overhead rate. You cannot allocate your way out of empty trucks.

Lever What it changes Effect on fixed-cost recovery
Better allocation method Visibility into which jobs pay Reprice or drop money-losing work
Higher close rate on bids More won jobs per estimate Spreads estimating pool thinner per job
More productive crew-days More days of real production Spreads field pool thinner per day
Fewer idle crew-days Less paid-for, unused capacity The single biggest recovery lever
Cutting a real fixed cost Smaller annual nut Lowers the whole break-even bar

The top row is this page. The bottom four are operations. A correct allocation method tells you which of those levers to pull and where the money is hiding; it does not pull them for you. Owners who treat allocation as the finish line tune the report and leave the trucks half-full. Owners who treat it as a diagnostic use it to aim the work.

What to bring to your accountant

This page is about management visibility. The tax and financial-statement treatment is your accountant's call, and you will get more out of that conversation if you arrive prepared. Bring:

  • Your chart of accounts and last full-year P&L
  • The list of fixed/indirect costs and your direct/indirect/mixed labels
  • Your pool structure and the base chosen for each pool
  • Job-cost reports for a sample of each work type
  • Crew-day, labor-hour, estimate-count, and job-count totals for the year
  • The written rule sheet and any mid-year changes, dated

The IRS guide to business expense resources and Publication 583 outline what the agency expects you to track; your accountant translates that into how your specific allocation choices land on the return and the financials. Records first, method second, professional review third. In that order, the conversation is short and the answers are defensible.

Get the five right — one pool too few rather than too many, a base that fits each, an annual rate that ignores the calendar, and a report you read as a tripwire instead of a verdict — and your job costing stops flattering your worst work. That clarity is worth more than any single percentage you could staple to an estimate.

Sources checked: June 18, 2026.

FAQ

What is overhead allocation for a roofing company's fixed costs?

It is the internal method a roofing company uses to spread costs that do not move with any single job — rent, office payroll, insurance administration, owned equipment, software — across the jobs it sells. The goal is to see which jobs actually paid for the building, the trucks, and the back office. A good method picks a few cost pools, assigns each a base that has a real relationship to the cost, and applies it consistently so job reports are comparable rather than flattering.

What overhead percentage should a roofing company use?

There is no single correct number, and any specific figure you see online should be treated cautiously unless it comes from a named source. Overhead as a share of revenue varies widely by work mix, region, and whether you include marketing. More important than chasing a benchmark is calculating your own rate from your own annual fixed costs and an allocation base that fits, then reviewing it with your accountant. A borrowed percentage applied to a different business is a guess wearing a number.

What is the difference between fixed and variable overhead in roofing?

Fixed overhead does not change when you install one more or one fewer roof — rent, salaries, the truck loan, insurance premiums, software. The SBA lists rent, salaries, taxes, insurance, interest, and depreciation as typical fixed costs. Variable overhead moves with volume, such as fuel, some supplies, and dumpster pulls. Most allocation effort goes to fixed indirect costs, because they must be carried by jobs even though no single job caused them, and revenue alone is a poor way to spread them.

How do you calculate an overhead rate for a roofing company?

Total a cost pool's expected annual indirect cost, then divide by the expected annual amount of a base that drives that cost. If a field-management pool is $240,000 and you expect 1,200 crew-days, the rate is $200 per crew-day, applied to each job by its days. Use a few pools rather than one, choose a base that fits each pool, and set the rate annually so seasonality does not whipsaw your monthly numbers. Reconcile any over- or under-recovery at year-end with your accountant.

What allocation base should roofing fixed costs use — revenue, labor, or crew-days?

It depends on the cost. Field supervision and equipment usually fit crew-days; admin and closeout work often fit job count; estimating and sales support fit estimate count, including bids you lost; purchasing fits direct material dollars; facilities can fit direct labor dollars. Revenue is allowed but should not carry every fixed cost by default, because a job's price reflects material and market, not how much office and management support it consumed. Match each pool to the base that actually drives it.

Why does a flat revenue percentage distort roofing overhead?

Because price is a poor proxy for support effort. A small insurance repair can demand multiple calls, a re-inspection, documentation, and several trips while carrying a low price, and a flat percentage charges it almost no overhead. A high-material metal or tile job carries a high price largely from supplier cost, and a flat percentage loads it with overhead it never consumed. The base should relate to the cost being spread, which a single revenue markup ignores entirely.

How does seasonality affect roofing overhead allocation?

Roofing revenue swings with weather and the claim cycle, but fixed costs bill every month regardless. If you only spread overhead when revenue lands, slow-month jobs look terrible and busy-month jobs look fat for no real reason. If you spread it evenly by month, winter work looks unprofitable. The cleaner approach is an annual recovery rate: estimate the year's fixed pool and the year's base, set a steady rate, apply it as jobs close, and true up the variance at year-end.

Should a roofing company use its overhead report to set prices?

No. An allocation report is a management model for comparing work types, not a price. Price lives in the market. Your allocated cost plus direct cost tells you a floor you should not drop below, but a real estimate must add scope risk, labor availability, material volatility, warranty exposure, financing and retainage timing, sales commission, and customer-acquisition cost. Read the report as a tripwire that prompts you to inspect assumptions, not as a verdict on which jobs to take or cut.

How often should a roofing company review its fixed-cost allocation?

At least once a year, and again whenever the business changes shape — a new branch, a new service line, owned equipment replacing rentals, a staffing change, a software switch, or a storm season that reshuffles your work mix. The other trigger is when reports stop matching what managers see day to day. If the model says a profitable-feeling department is losing money, that is the signal to re-examine the pool, the base, and the data before you act on it.

The Roofline by RoofPredict

Stay Ahead of Roofing Market Changes

Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.

By signing up, you agree to receive The Roofline by RoofPredict. Unsubscribe anytime.

Related Articles