Roofing Chart of Accounts: A Complete Template for Roofing Contractors
Roofing books fail in a specific way. The default small-business chart of accounts has one Sales account and one Materials account, and a roofing company sells at least four different things at four different margins, pays most of its labor to sub crews per square, and collects a meaningful share of its revenue from insurance carriers on a clock it does not control. Blend all of that into two accounts and the P&L reports one number that is the average of businesses that have nothing in common.
This is a working chart of accounts for a roofing contractor, account by account, with the reason each one exists.
Free download: Roofing chart of accounts template (CSV), the structure in this guide as 57 numbered accounts with types, subtypes, and a one-line note on why each exists. Imports into QuickBooks Online, Xero, and most accounting software. No email required.
Why the default template fails roofers
Three things are true of roofing that are not true of a generic service business.
Sub crews are the biggest cost. Most residential roofers pay crews per square, not per hour on payroll. That is a direct job cost, and in the default template it lands in operating expenses where it never touches gross margin.
A large share of revenue is insurance work, which arrives as an initial claim, then supplements, then a depreciation holdback that pays on completion. Booked as plain sales, you cannot see your claims mix, your supplement rate, or how much the carriers owe you.
Money arrives before the work. Deposits, and on commercial jobs retainage in both directions. Booked as revenue the day they land, your months are wrong and a cancelled job leaves income on the books for a roof that was never installed.
Income accounts
| Account | What belongs in it |
|---|---|
| Replacement revenue, residential | Full residential re-roofs; your largest line |
| Replacement revenue, commercial | Commercial and low-slope work, if you do enough to matter |
| Repair revenue | Leak repairs, flashing, storm patches |
| Insurance claim revenue | Jobs paid by a carrier, tracked apart so you can see the claims mix |
| Supplement revenue | Approved supplements above the original claim |
| Gutters, siding, and accessories | Add-on trades sold with the roof |
| Storm and emergency tarping | Emergency dry-in, often billed separately |
| Other income | Rebates, referral fees, scrap metal |
The split that matters most is insurance claim revenue from supplement revenue. Supplements are the number that decides whether storm work paid. A shop that runs a 15 percent supplement rate and a shop that runs 35 percent are different businesses, and one income account hides which one you are.
Cost of goods sold
COGS is for costs that vary with the job. In roofing that list is longer than most shops think.
| Account | Why it is separate |
|---|---|
| Roofing materials, shingles and tile | Primary material, priced by the square |
| Roofing materials, underlayment and accessories | Ice-and-water, flashing, vents, ridge, drip edge |
| Lumber and decking | Sheathing replacement; the most common change order, so it needs its own line |
| Direct labor, crews | Burdened cost of employed roofers on jobs |
| Subcontract labor | Sub crews per square; usually your largest COGS line |
| Dumpsters and haul-off | Tear-off disposal; a real per-job cost most shops bury in expenses |
| Permits and inspections | Municipal permits per job |
| Equipment rental | Lifts and conveyors rented for a specific job |
| Warranty and callback cost | Leak callbacks on completed roofs; your quality signal |
| Financing and dealer fees | Fees on financed jobs, costed to the job that carried them |
| Freight and delivery | Rooftop delivery and supply-house freight |
Two of these change how your margins look the moment you add them. Dumpsters and haul-off can run several hundred dollars a job and almost every roofer has them in operating expenses, which quietly inflates every job's margin by that amount. And financing fees on a dealer-financed roof are a cost of that roof, not a bank fee; a financed job that looked like a 40 percent job may have been 33 once the fee is where it belongs.
Balance sheet accounts roofers are missing
| Account | Why it exists |
|---|---|
| Insurance claims receivable | Approved claim amounts not yet paid by the carrier, kept apart from homeowner A/R because it collects on a different clock |
| Retainage receivable | Held-back portion of commercial contracts, not due until completion |
| Customer deposits | Money collected before the job starts; not revenue until the roof is on |
| Retainage payable | Amounts you hold back from subs until their work is accepted |
The deposits account is the one to set up today. A deposit is a liability until the job is done, and it is released to revenue on completion. If a job cancels, the deposit is refunded or forfeited as a recorded decision, not silently left in income.
Operating expenses
Standard, with two roofing-specific splits: sales commissions apart from office salaries, so you can see cost per closed job, and canvassing and lead fees apart from general marketing, so you can see cost per lead. Workers' compensation gets its own line because in roofing it is a large fixed cost worth watching on its own.
Setting it up without breaking your history
- Change at a period boundary, the start of a quarter or year.
- Rename before you create. If "Sales" becomes "Replacement revenue, residential," renaming keeps the history. Creating a new account splits it.
- Merge rather than delete. Deleting an account with transactions either fails or orphans data.
- Map old to new in writing before you touch anything, so you can restate the prior year.
- Tell whoever codes transactions. If your crew leads pick categories on supply-house runs, they need the new list.
And if you use bank rules to keep the new accounts filled, write them narrowly and check quarterly what they actually caught. A rule that files every supply-house charge to shingles will file the underlayment and the dumpster there too. What that costs is a post of its own.
What good looks like
Once the structure is right, your P&L answers these without a spreadsheet:
- What was replacement gross margin last month, residential and commercial separately?
- What was our supplement rate on insurance work, and what does the carrier still owe us?
- What did haul-off cost as a share of replacement revenue?
- What did callbacks cost, and which crews generated them?
- What is our cost per closed job, commissions included, and cost per lead?
If your books cannot answer those, the chart of accounts is the problem, not the bookkeeper. Once it can, the next step is per-job costing, so those numbers exist for each roof and not just the month.
The roofing chart of accounts template (CSV) has all 57 accounts numbered and ready to import. For the HVAC and plumbing versions, see the HVAC chart of accounts and plumbing chart of accounts.
*Written by Austin Semple, a former controller: three years in audit, seven running the books for small businesses, and the founder of Poof. Poof holds customer deposits as a liability and releases them on completion, costs financing fees to the job that carried them, and closes the books within five business days or the next month is free. Start a 30-day trial, no card required.*
Frequently asked questions
What is a chart of accounts for a roofing company?
It is the list of every account your books can post to: income, cost of goods sold, operating expenses, assets, liabilities, and equity. For a roofer, the structure decides whether you can see replacement margin separately from repair margin, whether insurance work actually paid after supplements, and what a tear-off really costs once dumpsters and sub crews are counted.
Should subcontract labor be COGS or an expense?
Cost of goods sold. Sub crews are paid per square on specific jobs, which makes them the most direct cost in roofing and usually the largest. Putting them in operating expenses hides them from gross margin and makes every job look more profitable than it was.
How should I book insurance claim jobs and supplements?
Keep insurance claim revenue and supplement revenue as separate income accounts, and carry approved-but-unpaid claim amounts in an insurance claims receivable apart from homeowner receivables. Supplements are the number that decides whether storm work paid; if they are blended into replacement revenue you will never see your supplement rate.
Why do I need a customer deposits liability account?
Because a deposit is not revenue until the roof is on. Booking deposits to income on the day they land overstates the month you collected them and understates the month you did the work, and it makes your books wrong if the job cancels. Hold deposits as a liability and release them to revenue on completion.
Can I import this template into QuickBooks or Xero?
Yes. The CSV has 57 numbered accounts with account types and subtypes in the columns QuickBooks Online and Xero expect. Import at a period boundary, rename existing accounts rather than creating duplicates, and map the old accounts to the new ones in writing before you touch anything.
Ready to Automate Your Bookkeeping?
See how Poof can save you hours every week with AI-powered bookkeeping.
Start Your Free TrialRelated Articles
Garage Door Chart of Accounts: A Complete Template for Install and Service Companies
A working chart of accounts for a garage door company: install revenue split from service, openers, and new construction; doors and openers as inventory until installed; install labor apart from service labor; and the deposit and lead-cost accounts most operators are missing. Free 54-account template.
Read more →TradesLandscaping Chart of Accounts: A Complete Template for Maintenance and Install Companies
A working chart of accounts for a landscaping company: maintenance revenue split from softscape, hardscape, irrigation, and snow; crew labor separated by route versus project; equipment fuel and repairs apart from trucks; and the prepaid-season and deposit accounts most operators are missing. Free 61-account template.
Read more →TradesPest Control Chart of Accounts: A Complete Template for Route-Based Operators
A working chart of accounts for a pest control company: recurring revenue split from one-time and termite work, prepaid plans and termite warranties held as deferred revenue, chemicals and tech labor in COGS by the route, and the retreatment reserve most operators are missing. Free 54-account template.
Read more →