Most roofing contractors run a standard QuickBooks Profit and Loss report and see a wall of numbers that doesn't tell them much. The problem isn't the report — it's that the default P&L isn't built for a roofing company. A useful roofing P&L shows revenue by job type, costs by category, gross margin, and ideally per-job profitability alongside company totals. Here's what it should look like and how to get there.
What Should a Roofing Company P&L Report Show?
A roofing company P&L should show five things clearly: revenue by job type, direct job costs by category, gross profit and margin, operating overhead, and net profit. If your current P&L shows only "Revenue" and "Expenses" without any of this detail, it's a generic setup that won't help you run your business.
P&L Structure for a Roofing Company
Here's what a properly structured roofing company P&L looks like in QuickBooks:
| Line Item | Example ($2M company) | % of Revenue |
|---|---|---|
| REVENUE | ||
| Residential re-roof | $1,100,000 | 55% |
| Insurance restoration | $700,000 | 35% |
| Commercial | $150,000 | 7.5% |
| Service / repair | $50,000 | 2.5% |
| Total Revenue | $2,000,000 | 100% |
| COST OF GOODS SOLD | ||
| Materials | $560,000 | 28% |
| Subcontractor labor | $320,000 | 16% |
| Employee labor — field | $200,000 | 10% |
| Permits & disposal | $40,000 | 2% |
| Equipment rental | $20,000 | 1% |
| Total COGS | $1,140,000 | 57% |
| GROSS PROFIT | $860,000 | 43% |
| OPERATING EXPENSES | ||
| Insurance (business) | $80,000 | 4% |
| Vehicle expenses | $60,000 | 3% |
| Owner salary | $120,000 | 6% |
| Admin / bookkeeping | $30,000 | 1.5% |
| Marketing | $40,000 | 2% |
| Software & tools | $20,000 | 1% |
| Total OpEx | $350,000 | 17.5% |
| NET PROFIT | $510,000 | 25.5% |
What Margins Should a Roofing Company Target?
| Metric | Target | Warning Sign |
|---|---|---|
| Gross margin (residential re-roof) | 38–50% | Below 28% |
| Gross margin (insurance restoration) | 30–45% | Below 22% |
| Gross margin (commercial) | 25–38% | Below 18% |
| Gross margin (service/repair) | 50–65% | Below 40% |
| Materials as % of revenue | 22–32% | Above 38% |
| Subcontractor labor as % of revenue | 12–20% | Above 25% |
| Net profit margin | 10–20% | Below 8% |
If your gross margin is consistently below 30%, the issue is almost always one of three things: materials being purchased at above-market rates, subcontractor labor costs running over estimate, or jobs being bid too low. Job costing data from the Project Profitability report will show you which one. Use our free roofing job cost calculator to check margin on individual jobs.
How to Run the Right P&L in QuickBooks
- Go to Reports → Profit and Loss
- Set date range to prior calendar month
- Click Customize → Rows/Columns → Group by Class (if you use Classes for job types) or run separately by customer
- For per-job detail: run Project Profitability report (Reports → search "Project Profitability")
- Export both to PDF or Excel and review by the 10th of every month
The 3 Reports Every Roofing Contractor Should Run Monthly
Run these three by the 10th of every month for the prior month. Nothing else is required:
- Profit & Loss — company-level revenue, COGS, gross margin, net profit
- Project Profitability — gross margin per individual job; sort by margin % to find outliers
- Balance Sheet — check Retainage Receivable balance and follow up on anything over 60 days
These three reports give you everything you need to manage the financial health of your roofing business month to month. JobCostBooks delivers all three as standard deliverables for every client. See our roofing bookkeeping services →