What's the difference between direct costs and overhead for a roofing company?
Direct costs are anything you can tie to a specific job. For a roofing company, that means the shingles, underlayment, flashing, drip edge, ridge vents, and fasteners going on that particular roof. It includes the crew labor hours spent on that project, the dumpster rental for tear-off debris, dump fees, any subcontractors you bring in, equipment rental like a boom lift for a steep commercial roof, permit fees, and material delivery charges. If the expense only exists because of a specific project, it’s a direct cost.
Overhead is everything you pay whether you have one job on the schedule or ten. Office rent, utilities, phone and internet. General liability and workers’ comp premiums. Admin staff wages. Marketing, advertising, and software subscriptions. Vehicle costs for trucks that aren’t dedicated to a single project. Shop or yard rent where you store materials. These costs keep the business running but don’t belong to any single roof.
Some costs land in a gray area. Workers’ comp is a common one. It’s a single annual premium, which feels like overhead. But the premium is driven by payroll, which ties back to job labor. Some roofers treat it as overhead and others allocate it proportionally based on labor hours. Either approach works as long as you pick one method and stay consistent. Fleet costs are similar. The truck hauling shingles to a job site could be a direct cost, but when it makes three stops for three different projects in one morning, splitting it accurately gets impractical. Most roofing companies treat vehicle expenses as overhead and recover them through markup.
This classification matters because it drives your construction job costing and your pricing. When direct costs are tracked accurately for each roof, you know your real gross margin by job. You can see that residential tear-and-replace work earns 45% gross margin while flat commercial roofs only earn 28%. That information changes how you bid, what work you chase, and where you focus your crew’s time.
Overhead determines your markup. If monthly overhead runs $18,000 and you complete 15 jobs, each job needs to carry roughly $1,200 in overhead just to break even. Add that to direct costs and your desired profit margin, and you have a bid price grounded in real numbers instead of gut feel.
When costs are misclassified, the numbers mislead you. Dump overhead into direct costs and every job looks expensive, so you overbid and lose work. Leave overhead out of your pricing and every job looks profitable until the business somehow loses money at the end of the month. Getting the classification right is what connects your financial reports to reality. If you’re unsure how your books are set up or whether costs are landing in the right places, Beaver Dam accounting services like Rock Steady Bookkeeping can help you build a chart of accounts that separates direct and overhead cleanly so your job reports actually mean something.
Wisconsin's Small Business Bookkeeper
The Next Step:
A Quick Conversation
Tell us about your business. We'll talk through what you need, answer your questions, and give you a clear quote.
More Questions
How do I handle material markups in QuickBooks for a landscaper?
Set up products and services items in QuickBooks Online with both a cost and a sales price. When you add those items to invoices, QBO tracks the cost and revenue separately so your gross margin reports stay accurate.
Read answerWhat's the best way to track equipment and fuel costs for a landscaping company?
Equipment over $2,500 gets capitalized and depreciated as a fixed asset. Smaller tools are expensed immediately. Fuel is best tracked per truck or crew using fuel cards that feed into your accounting software for job-level cost allocation.
Read answerDo I need to 1099 my subcontractors as a roofer?
Yes, in most cases. Any individual or single-member LLC you paid $600 or more via check or ACH during the year needs a 1099-NEC. Corporations are generally exempt.
Read answerHow should a roofing contractor handle storm/insurance jobs vs retail jobs?
Track insurance and retail jobs as separate revenue streams using distinct income accounts or classes. Insurance work has a unique payment structure with ACV and RCV supplements that requires careful accounts receivable tracking to see true profitability.
Read answerWhat expenses can a pest control business deduct?
Most of what you spend running a pest control business is deductible. Chemicals, vehicle costs, equipment, licensing, insurance, and uniforms all count. The key is tracking them properly and knowing which expenses get deducted immediately versus capitalized.
Read answerHow do I track crew labor costs for job profitability?
Use a time-tracking tool like QBO Time so crews clock into specific jobs. Then load the full labor burden including payroll taxes and workers' comp onto those hours so your job profitability reports reflect what labor actually costs you.
Read answer