Roofing Operations · Subcontractors

Subcontractor Management in QuickBooks for Roofing Contractors

How to track sub costs per job, stay 1099 compliant, and prevent subcontractor overruns from destroying your job margins — all inside QuickBooks.

Book Free 15-Min Assessment → Find $10K in profit leaks in 90 days or first month free
✓ QuickBooks ProAdvisor ✓ Roofing specialist ✓ Plans from $600/mo
$10K+Profit leak guarantee
14 daysTo clean books
$600Starting monthly rate

Subcontractors are often the largest variable cost in a roofing company — and the most commonly mismanaged in QuickBooks. Sub payments coded to a generic expense account, not assigned to jobs, and missing 1099 tracking create three separate problems: inaccurate job costing, IRS exposure, and zero visibility into which subs are hurting your margins. Here's how to fix all three.

Step 1: Set Up Subcontractors Correctly in QuickBooks

Every sub should be a Vendor in QuickBooks with W-9 information on file before the first payment. The setup checklist:

  1. Create the Vendor record — legal name, address, SSN or EIN from their W-9
  2. Check "Track payments for 1099" in vendor settings — this is the only way QuickBooks flags the sub for year-end 1099 reporting
  3. Assign the correct expense account — Subcontractor Labor (COGS), not a generic Contractor Expense or Services Purchased account
  4. Never pay a sub without a W-9 on file — once the payment is made and the sub is gone, getting a W-9 becomes very difficult
IRS exposure: Failure to file required 1099-NEC forms results in IRS penalties of $60–$310 per form depending on how late they are filed, plus potential backup withholding requirements. For a roofing company with 20+ subs, this adds up fast.

Step 2: Assign Every Sub Bill to Its QuickBooks Project

Sub costs that aren't assigned to a Project don't appear in your job profitability report. If a $6,000 sub invoice for the Henderson job is entered as a general bill without a Project assignment, the Henderson job shows zero subcontractor cost — and appears far more profitable than it actually is.

The fix: when entering a sub bill, always select the Project in the Customer/Project column on the bill line. This links the cost to the job and makes it visible in the Project Profitability report. Full job costing setup guide →

Common failure mode: Sub bills entered by an office manager or owner who doesn't know which job they belong to. Fix this with a simple rule: no sub bill is entered without the job name written on it. Require subs to put the job address on their invoice.

Step 3: Separate Subcontractor Costs from Employee Labor

Subcontractor payments (1099) and employee wages (W-2) have different tax treatments and different margin profiles. They must be in separate QuickBooks accounts:

Cost Type QBO Account Tax Treatment 1099 Required?
Sub crews (1099)Subcontractor Labor (COGS)No payroll taxes owedYes (if $600+)
Your W-2 crewsEmployee Labor — Field (COGS)Payroll taxes, W-2 at year-endNo — W-2 instead

Misclassifying W-2 employees as 1099 subcontractors is an IRS audit trigger with significant back-tax liability. If a worker shows up every day, uses your tools, and works exclusively for you — they are likely an employee regardless of how they're paid.

Step 4: Analyze Sub Costs to Protect Job Margins

Once sub costs are correctly assigned to Projects, the Project Profitability report becomes a powerful management tool. Sort jobs by gross margin and look at the sub cost column: if the lowest-margin jobs consistently have the highest subcontractor cost percentage, you have a sub pricing or selection problem — not a bidding problem.

Target subcontractor cost at 12–20% of job revenue on residential work. Above 25% consistently means sub rates have outpaced your bid pricing. The solution is renegotiating sub rates, adjusting your bid to reflect current sub costs, or self-performing more work with your own crews.

Get Your Sub Tracking Set Up Correctly

Book a free 15-minute QuickBooks screen-share. JobCostBooks sets up subcontractor tracking, job cost allocation, and 1099 compliance for every roofing client.

Book My Free 15-Min Assessment →

$10K profit leak guarantee in 90 days · Plans from $600/mo · hello@jobcostbooks.com