Chart of accounts for a roofing company
The default QuickBooks chart of accounts has one income account and a pile of expense accounts named for a retail store. A roofing company needs to see which type of work pays and what each job really costs. Here is the structure we set up for every roofing client.
Income
| 4000 Storm and insurance roofing | Contract price on insurance jobs, including deductible |
| 4010 Supplement income | Approved supplements on insurance jobs |
| 4100 Retail roofing | Cash and financed re-roofs |
| 4200 Repairs | Small jobs, leak calls, tune-ups |
| 4300 Commercial | Flat and low-slope commercial work |
| 4400 Gutters, siding, other | Anything that is not a roof |
| 4900 Discounts and refunds | Contra income, keeps refunds out of expenses |
Cost of goods sold
| 5000 Materials | Shingles, underlayment, flashing, everything from the supplier |
| 5010 Material returns and credits | Contra COGS so returns hit the right job |
| 5100 Subcontractor labor | Crews paid on 1099 |
| 5200 Crew wages | W-2 production labor only. Office and sales go below |
| 5210 Crew payroll taxes | Employer FICA, FUTA, SUTA on crew wages |
| 5220 Workers comp, production | The roofing class rate, separate from office |
| 5300 Permits and inspections | |
| 5310 Dump and disposal | |
| 5320 Equipment rental | Lifts, dumpsters, crane time |
| 5400 Sales commissions | Paid per job, so it belongs in COGS |
| 5500 Warranty and callbacks | Rework on closed jobs |
Everything above this line gets tagged to a job. That is what makes job costing work.
Overhead
| 6000 Office and admin wages | Plus their taxes and comp in sub-accounts |
| 6100 Sales salaries and draws | Base pay, not commission |
| 6200 Advertising and lead gen | Split by channel if you spend real money |
| 6300 Vehicle fuel and repairs | |
| 6310 Vehicle insurance | |
| 6400 General liability insurance | |
| 6500 Software | AccuLynx, QuickBooks, CRM, phones |
| 6600 Rent and utilities | |
| 6700 Professional fees | CPA, legal, bookkeeping |
| 6800 Merchant and financing fees | Card processing and dealer fees on financed jobs |
| 6900 Owner health, meals, travel, misc |
Balance sheet accounts that matter
- Customer deposits (liability). ACV checks and retail deposits collected before the job is done. Why.
- Accounts receivable. Supplements and recoverable depreciation live here until collected.
- Vehicles and equipment (fixed assets) with a loan on the liability side. Never expense a truck.
- Owner draws and contributions (equity). Keep personal money out of the P&L.
Three rules
- If it is a per-job cost, it goes in COGS and gets a job tag.
- Production labor and office labor never share an account.
- If you cannot explain what an account is for in one sentence, merge it.
Questions
Should sales commissions be COGS or overhead?
COGS if paid per job. It is a direct cost of the sale and you want it in the job margin. Base salaries and draws go in overhead.
Why split crew wages from office wages?
Workers comp rates are very different, job costing needs production labor only, and you want gross margin to reflect field cost, not admin.
Do I need to use account numbers?
No, but they keep the list in order and make it easier to talk about accounts with your CPA.
Can I use this for HVAC?
The structure is the same. Swap the income lines for Service, Install, Maintenance, and New construction, and add Equipment under COGS.