Here's what most builders don't say out loud: they have no idea whether they made money last year.
Revenue is up. The schedule is full. Everyone's working hard. But at year-end, the profit doesn't match the hustle — and no one can explain why. That's not a productivity problem. That's an accounting problem.
You don't need a bookkeeper to fix this. What you need is a working understanding of how construction accounting works, what numbers actually matter, and what to look at every month before the money disappears.
This guide covers exactly that — no accounting degree required.
Cash vs. Accrual: The Decision That Shapes Everything
The first thing to understand about construction accounting is that there are two fundamentally different ways to record money — and most builders are using the wrong one without knowing it.
Cash Basis
Record revenue when cash hits your account. Record expenses when you write the check. Simple. That's why most small builders default to it.
The problem: cash basis lies to you. A $200K payment lands in October, and your October P&L looks incredible — but the job cost $175K in labor and materials that came in November and December. You think you made $200K. You actually made $25K. And you've already spent the rest.
Accrual Basis
Record revenue when it's earned (when work is completed), and expenses when they're incurred (when you receive the bill, not when you pay it). This matches revenue to the work that produced it.
| Scenario | Cash Basis P&L | Accrual Basis P&L |
|---|---|---|
| October: Receive $200K draw | $200K revenue | $0 (not yet earned) |
| Oct–Dec: Complete job, $175K in costs | Costs hit in Nov/Dec | Revenue & costs match |
| Year-end profit picture | Misleading by months | Accurate |
| Tax planning accuracy | Difficult | Reliable |
Practical recommendation for builders under $5M: Use accrual-basis job costing, even if you file taxes on cash basis (which is allowed). Track revenue and costs per job, not per bank statement. QuickBooks and JobTread both support this — it's a settings decision, not a software upgrade.
Chart of Accounts for Construction: The Simplified Version
Your chart of accounts is the spine of your financial system. Every dollar that moves through your business gets categorized here. Most builders either have too many accounts (80+, impossible to use consistently) or too few (no visibility into where money actually goes).
The right number for a residential construction business doing $500K–$3M is 25–40 accounts. Here's a working model:
| Account Type | Key Accounts | Why It Matters |
|---|---|---|
| Revenue | Construction Revenue, Change Order Revenue, Service Work | Separate job types to see which category earns most |
| Cost of Goods Sold | Materials, Subcontractors, Direct Labor, Equipment Rental, Permits | These flow into gross margin per job |
| Overhead (Fixed) | Rent/Mortgage, Insurance, Admin Salaries, Software, Vehicles (base) | Costs that exist whether you have jobs or not |
| Overhead (Variable) | Fuel, Marketing, Professional Fees, Small Tools | Scales with activity — watch these in busy periods |
| Owner/Equity | Owner Draw, Owner Salary, Distributions | Separate from operating expenses — most builders confuse these |
The most common chart-of-accounts failure we see: mixing COGS and overhead. Insurance goes under overhead. Materials go under COGS. When these get crossed, your gross margin calculation is wrong — and so is every pricing decision you make downstream.
For a deep dive on construction-specific cost codes within this framework, see our post on QuickBooks Construction Accounting: The 32-Code System.
The Three Numbers That Actually Tell You How You're Doing
You don't need to read a full P&L every month. You need three numbers. These three tell you whether your business is healthy, stressed, or bleeding.
1. Gross Margin %
(Revenue − Cost of Goods Sold) ÷ Revenue × 100
This is job-level profitability. It tells you how much of every dollar of revenue survived after paying for materials, subs, and direct labor. For residential construction, healthy gross margin runs 20–32% depending on project type. Under 18% consistently means your pricing is broken.
2. Net Operating Income
Gross Profit − Overhead Expenses
This is what's left after running the company. Healthy residential construction at $500K–$3M should produce 5–12% net operating income. Below 5%, you're working for your costs. Below 0%, the business is consuming capital.
3. Cash Flow from Operations
Even profitable businesses go bankrupt. Construction cash flow is notoriously lumpy — big draws come in, then payroll and subs hit. Watch your actual bank balance against projected payments due in the next 30 days. If the gap closes to under 2 weeks of payroll, that's a cash crisis forming.
Monthly P&L Review Checklist
Block 45 minutes at the end of each month. Run through this in order:
- Is revenue recorded correctly? Check that draw payments are tied to the correct job, not dumped into a generic "revenue" bucket. If you're using accrual, confirm revenue matches work completed — not payment received.
- Is gross margin where it should be? Calculate gross margin for the month. Compare it to your target (set by project type). A 5-point drop from target is worth investigating before it becomes a pattern.
- Are overhead costs consistent? Most overhead is fixed — insurance, rent, admin. If a line item jumps more than 15% from last month, find out why. Unexplained overhead spikes are usually miscategorized COGS or unplanned spend.
- What did each active job actually cost? Pull a job cost report for every job in progress. Compare actual costs to estimated costs. A job that's 60% done but at 75% of budget is burning — catch it now, not at close-out.
- What's the current bank balance vs. the next 30 days of obligations? List every payment due in the next 4 weeks: payroll, subs, suppliers, overhead. Compare against available cash. If the math is tight, activate the receivables — call clients about upcoming draws before they slip.
Red Flags That Require Immediate Attention
These aren't minor issues. Any one of these showing up in your monthly review means something is broken and needs to be fixed before the next job starts:
| Red Flag | What It Usually Means | First Move |
|---|---|---|
| Gross margin below 18% two months in a row | Pricing failure or untracked cost overruns | Pull job cost reports for the last 5 completed jobs |
| Job costs significantly over estimate | Scope creep, sub overruns, missing cost codes | Walk the job; identify first unauthorized cost increase |
| Subcontractor invoices not matching POs | Scope changes not documented, billing errors | Compare sub invoices to signed scopes and POs |
| Owner draws exceeding net income | Business is being consumed to fund personal expenses | Set owner compensation as a fixed salary line in overhead |
| Revenue looks good but cash is tight | Receivables stretched, overbilling on earlier draws | Audit current draw schedule vs. work-in-place on each job |
| Monthly P&L swings wildly | Cash basis recording, not accrual — timing distortions | Switch job cost tracking to accrual, keep tax filing separate |
When to Hire a Bookkeeper
You don't need a bookkeeper at $400K in revenue. You do need one before you hit $1.5M. Here's the honest threshold:
Do this yourself until:
- You have fewer than 6 active jobs at a time
- Monthly reconciliation takes less than 3 hours
- You can run a clean job cost report in under 10 minutes
Hire a bookkeeper when:
- You're running 8+ jobs simultaneously and reconciliation falls behind
- You can't produce a P&L within 48 hours of month-end without significant effort
- You've had to call your accountant to explain discrepancies twice in the same quarter
- Revenue exceeds $1.2M–$1.5M (the complexity threshold where DIY accounting breaks down)
What a good construction bookkeeper costs: $600–$1,500/month for a part-time specialist. At $1.5M revenue with 20–25% gross margin, that's $300K–$375K gross profit per year. Spending $10K–$18K annually to have accurate financials is not a cost — it's the system that lets you price, plan, and scale.
When you're ready to hire, look specifically for bookkeepers with construction industry experience — QuickBooks for contractors, job costing workflows, percentage-of-completion revenue recognition. General bookkeepers often get the job cost layer wrong, which defeats the purpose.
The Accounting Setup That Actually Works
For builders under $2M, this is the minimum viable accounting stack:
- QuickBooks Online (Contractor tier) — Chart of accounts, P&L, job costing reports. It's the standard for a reason. See our QuickBooks Construction Setup guide for the exact configuration.
- JobTread or Buildertrend — Estimate-to-actuals tracking, sub billing, POs. The field data needs to flow back to your accounting software. If it doesn't, you're doing double entry manually.
- Separate business bank account — This should be obvious, but it isn't. One account for business. One for personal. No exceptions. Commingled accounts make every financial statement meaningless.
- Monthly close habit — The 45-minute checklist above. Block it. Do it every month. Accounting is only useful if it's current.
"Most builders don't have an accounting problem — they have a looking-at-the-numbers problem. The money story is already in QuickBooks. They just never open it."
For the connection between clean accounting and profitable pricing, read our post on How to Price Construction Jobs: Markup Formula Builders Use. And if you want to see how financial clarity contributed to a real client doubling revenue, the FrameWork™ Case Study shows exactly how that happens.
For the connection between clean accounting and profitable pricing, read our post on How to Price Construction Jobs: Markup Formula Builders Use. And if you want to see how financial clarity contributed to a real client doubling revenue, the FrameWork™ Case Study shows exactly how that happens.
Progress Billing: Getting Paid as You Build
Construction accounting isn't just about recording what happened — it's about getting paid correctly while the job is in progress. Progress billing (also called draw schedules) is the mechanism residential builders use to collect payment incrementally as work is completed.
Most problems with progress billing come down to one failure: billing faster than work is completed. This is called overbilling, and it's more common than builders want to admit. It feels like good cash flow until the job reaches 80% complete, the client owes $0, and there's $40K of work still to finish.
How to Structure a Draw Schedule
A clean draw schedule ties payment milestones to verifiable work completion stages, not arbitrary dates. Standard residential draw structure:
| Draw | Milestone | Typical % | Verification |
|---|---|---|---|
| Draw 1 | Contract signing / mobilization | 10–15% | Signed contract, permits pulled |
| Draw 2 | Foundation / rough framing complete | 25–30% | Framing inspection passed |
| Draw 3 | Rough mechanical (plumbing, HVAC, electrical) | 20–25% | Rough-in inspections passed |
| Draw 4 | Drywall and insulation complete | 15–20% | Site walkthrough with photos |
| Draw 5 | Substantial completion | 15–20% | Punch list issued and 90% resolved |
| Retainage | Final punch list cleared | 5–10% | Final walkthrough sign-off |
The verifiable milestone column is non-negotiable. When a draw is tied to "inspection passed," there's no ambiguity. When it's tied to "rough framing approximately complete," there's a negotiation every single draw. Eliminate the ambiguity in the contract and your cash flow becomes predictable.
WIP Reporting: Your Job Cost Reality Check
Work-in-Progress (WIP) reporting is the construction accounting tool that shows you whether each active job is profitable — in real time, before the job closes. Most small builders skip it. The ones who skip it often discover at job closeout that they lost money on a job they thought was fine.
WIP reporting compares two things: what percentage of the job is complete, and what percentage of the budget you've spent. If these two numbers are out of alignment, you have a problem — and the earlier you catch it, the cheaper the fix.
| Job | Contract Value | % Complete | Budget Spent | Status |
|---|---|---|---|---|
| Johnson Kitchen | $85,000 | 65% | 58% | On track |
| Williams Addition | $220,000 | 40% | 55% | Over budget — investigate now |
| Davis Remodel | $140,000 | 80% | 72% | On track |
| Thompson New Build | $380,000 | 25% | 22% | On track |
The Williams Addition is the problem: 40% complete but 55% of the budget is spent. That's a 15-point gap. If that trend continues, a $220K job becomes breakeven or a loss. You have two choices now: identify what caused the overrun and correct it, or have a change order conversation with the client. Either way, you need to act before you're at 80% complete and 110% of budget.
Run this WIP report every two weeks on active jobs. QuickBooks Job Reports and JobTread both support this view. It takes 20 minutes and is the single most valuable accounting exercise a production builder can do.
Job Costing vs. Traditional Accounting: The Core Difference
Standard accounting tracks money at the company level. Job costing tracks money at the project level. For contractors, job costing is not optional — it's the only way to know whether you're pricing correctly.
| Question | Traditional Accounting | Construction Job Costing |
|---|---|---|
| Did we make money this month? | Yes (company-level) | Yes, but which job? |
| Which job made money? | Can't tell | Jobs A and C were profitable |
| Which job lost money? | No visibility | Job B lost $8K |
| Why did Job B lose money? | No data | Sub overrun + missed change order |
| Was my estimate accurate? | No comparison possible | Estimated $42K labor, actual $51K |
| Should I keep this job type? | No pattern data | Kitchens avg 28% GM, additions avg 18% |
Without job costing, you're running a construction business on faith-based accounting. You know revenue. You know bank balance. But you don't know which jobs are making you money and which are quietly eroding your margins. Builders who implement job costing consistently — even at a basic level — make better pricing decisions within one quarter.
The setup is straightforward: in QuickBooks, assign every invoice and bill to a "Customer: Job." In JobTread, costs flow to jobs automatically. The discipline is consistent categorization — every cost coded to the right job, every week. It only takes a few months of consistent data to see patterns in your estimates that sharpen your pricing.
What's the difference between construction accounting and regular bookkeeping?
Construction accounting includes all standard bookkeeping functions (recording income and expenses, reconciling accounts, producing P&Ls) but adds the project layer: job costing, WIP reporting, progress billing, and percentage-of-completion revenue recognition. A regular bookkeeper can handle the standard functions but often lacks construction-specific knowledge to set up job costing correctly, manage draw schedules, and produce job cost reports. When hiring a bookkeeper for a construction business, specifically ask about their experience with job costing and construction accounting software (QuickBooks for Contractors, Sage, or JobTread integration).
What is contractor bookkeeping, and how is it different from regular bookkeeping?
Contractor bookkeeping refers to the financial record-keeping practices specific to construction businesses. The key differences: (1) Revenue recognition — contractors use percentage-of-completion or completed-contract methods, not simple cash receipt. (2) Job costing — every cost tracked at the project level, not just company level. (3) Retainage accounting — held-back payment amounts tracked separately as receivables. (4) Sub billing management — tracking lien waivers, COIs, and sub invoices per project. (5) Draw schedule management — collecting payment in milestone-based installments. These elements require construction-specific accounting setup and familiarity that a general bookkeeper may not have.
What accounting software is best for residential builders?
QuickBooks Online (Contractor tier) is the standard for builders doing $500K–$3M who want a standalone accounting platform. It handles job costing, P&Ls, bank reconciliation, and integrates with most construction management platforms. For builders who want tighter field-to-accounting integration, JobTread has built-in financial tracking that reduces double-entry significantly. Buildertrend has an accounting module but is weaker than QuickBooks for pure financial reporting. For builders over $3M with complex reporting needs, Sage 100 Contractor or Foundation are worth considering, though they require more setup and training. The worst choice is continuing to use spreadsheets past $750K in revenue — job cost tracking complexity exceeds what spreadsheets handle cleanly.
How do I set up job costing in QuickBooks for construction?
Key setup steps: (1) Enable Projects (in QBO Plus/Advanced) — this is the job cost layer. (2) Create a project for each active job. (3) Assign every transaction to the correct job — invoices to the client, bills from subs, payroll to the job. (4) Set up your chart of accounts with COGS accounts matching your cost codes (materials, subcontractors, direct labor, equipment rental, permits). (5) Run the "Job Profitability Summary" report monthly to see gross profit per job. The hardest part is consistent discipline in step 3 — every transaction coded to the right job. That discipline is what separates builders with useful financial data from those without.
When should a residential builder switch from cash basis to accrual accounting?
Switch to accrual-basis job costing (not necessarily tax filing basis) when you have 3 or more jobs running simultaneously and your cash-basis P&L is producing monthly swings that don't reflect actual performance. For most builders, this happens around $750K–$1M in annual revenue. You can continue to file taxes on cash basis (most small builders do, and it's legal) while maintaining accrual-based internal financials for management purposes. The two aren't mutually exclusive — your accountant handles the tax side, your QuickBooks setup handles the management side. Accrual accuracy on job cost reporting is non-negotiable once you're running multiple overlapping projects.
Beyond the Bid Circle
Get Construction Accounting Templates, Job Costing Setups, and Builder Community
The Circle includes the QuickBooks Chart of Accounts template, WIP tracking spreadsheet, draw schedule templates, and live monthly sessions where builders walk through real financial reviews together. Founding Member rate is $29/month locked for life.
Join the Circle at the Founding Rate →