You did $5.2 million in revenue last year. Your crew finished 14 projects — three of them over $500K. You had a backlog that stretched into Q3. By every visible metric, your general contracting company was thriving. But when your accountant pulled the year-end balance sheet, there was $38,000 in the operating account. Not $38,000 in profit. $38,000 total. Your line of credit was tapped at $175,000. Two subs were threatening liens because they hadn’t been paid in 60 days. And the bonding company was asking for updated financials you didn’t want to send.
Where did the money go? The answer is buried in retainage you billed but couldn’t collect for 90 days, a $420,000 project that went 23% over budget because change orders weren’t tracked, $87,000 in underbillings you didn’t know existed until the WIP schedule was prepared, and materials you bought for one job but charged to another. This is why construction contractor bookkeeping isn’t something you delegate to a general bookkeeper who’s used to service businesses and retail — the financial mechanics in construction are fundamentally different from every other industry.
This guide covers the specific financial management challenges that general contractors and specialty subcontractors between $1M and $10M face. If you already know what a P&L is and you’re past the “shoebox of receipts” stage, this is where you go deeper — into WIP accounting, job costing, progress billing, certified payroll, bonding requirements, and the KPIs that determine whether your construction company is actually profitable or just moving cash.
A general bookkeeper can reconcile your bank account and categorize expenses. What they can’t do — without construction-specific knowledge — is interpret the financial patterns that make or break a contracting business. Here’s what makes construction bookkeeping fundamentally unique.
A restaurant earns revenue when customers pay. A construction contractor earns revenue over the life of a project that might last 6, 12, or 18 months. A $1.2 million school renovation that starts in March and ends in November creates revenue recognition questions that simply don’t exist in other industries. How much revenue have you earned in July, when the project is 45% complete? The answer depends on your accounting method — and getting it wrong distorts every financial statement you produce.
On most commercial and public projects, the owner withholds 5-10% of each progress payment as retainage — a guarantee that you’ll finish the job. On a $800,000 contract with 10% retainage, that’s $80,000 locked up until substantial completion. If you’re running five projects simultaneously, you might have $200,000-$400,000 in retainage sitting on your balance sheet that you can’t spend. Your bookkeeper needs to track retainage as a separate receivable — not lump it in with collectible AR — or your cash flow projections will be dangerously optimistic.
A general contractor on a commercial project might manage 8-15 subcontractors — electrical, plumbing, HVAC, drywall, concrete, steel, roofing, painting, flooring, fire protection. Each sub has a contract, a billing schedule, insurance requirements, and lien waiver obligations. The bookkeeping for sub management alone is a full-time discipline. Miss a lien waiver and you could pay twice for the same work.
Original contract: $650,000. Owner requests additional scope: $85,000 in change orders. But the change orders were verbally approved, not signed. You’ve already spent $62,000 executing the additional work. Is that $62,000 a cost against the original contract (crushing your margin) or against an approved change order (maintaining it)? Your books need to track change orders as separate cost centers from Day 1.
Key insight: The difference between a construction company that nets 8% and one that barely breaks even is rarely about bid pricing or volume. It’s about whether the owner has real-time visibility into job costs, WIP position, and cash timing. That visibility starts with construction-specific bookkeeping.
Your chart of accounts is the foundation of every financial report you’ll produce. A generic QuickBooks chart of accounts gives you “Sales” and “Cost of Goods Sold.” That tells you nothing about whether your commercial division is subsidizing money-losing residential remodels, or whether your labor costs on government projects are running 30% higher than private work.
Here’s a chart of accounts structure built specifically for construction contractors:
| Account Number | Account Name | Type |
|---|---|---|
| 4000 | Revenue | |
| 4100 | Contract Revenue — Commercial | Income |
| 4150 | Contract Revenue — Residential | Income |
| 4200 | Contract Revenue — Government / Public Works | Income |
| 4300 | Change Order Revenue | Income |
| 4400 | T&M / Service Work Revenue | Income |
| 4500 | Retainage Billed | Income |
| 5000 | Cost of Goods Sold (Direct Job Costs) | |
| 5100 | Direct Labor — Field Crews | COGS |
| 5150 | Direct Labor — Prevailing Wage Premium | COGS |
| 5200 | Materials — Lumber, Concrete, Steel, Masonry | COGS |
| 5250 | Materials — Electrical, Plumbing, Mechanical | COGS |
| 5300 | Subcontractor Costs | COGS |
| 5400 | Equipment Rental | COGS |
| 5450 | Owned Equipment Costs (fuel, maintenance, depreciation) | COGS |
| 5500 | Permits & Inspection Fees | COGS |
| 5600 | Bond Premium — Job-Specific | COGS |
| 5700 | Temporary Facilities (trailers, fencing, dumpsters) | COGS |
| 6000 | Operating Expenses (Overhead) | |
| 6100 | Office & Administrative Salaries | Expense |
| 6200 | General Liability Insurance | Expense |
| 6250 | Workers’ Compensation Insurance | Expense |
| 6300 | Vehicle & Fleet Costs | Expense |
| 6400 | Office Rent & Utilities | Expense |
| 6500 | Yard / Storage Facility Costs | Expense |
| 6600 | Marketing & Advertising | Expense |
| 6700 | Professional Fees (CPA, Legal) | Expense |
| 6800 | Software & Technology | Expense |
| 6900 | Small Tools & Consumables (under $2,500) | Expense |
The critical splits: Separating revenue by project type (commercial, residential, government) lets you calculate gross margin by division. Separating materials by trade category (5200 vs 5250) prevents the “everything is materials” trap. And breaking out the prevailing wage premium (5150) is essential for bidding accuracy on government work — if Davis-Bacon wages add $12/hour over your standard rate, you need to see that cost isolated so your next public works bid reflects reality.
Bond premium as a job cost (5600): Performance and payment bonds typically run 1-3% of the contract value. On a $1.5 million project, that’s $15,000-$45,000. This is a direct job cost — not overhead. If you bury it in operating expenses, your job-level margins look artificially high and your overhead rate looks inflated. Assign it to the specific project it covers.
WIP accounting is the single most important concept in construction contractor bookkeeping — and the one most general bookkeepers get wrong. It determines how much revenue you recognize, whether your financial statements are accurate, and whether your bonding company will increase or cut your capacity.
There are two primary methods for recognizing revenue on long-term contracts:
Percentage-of-completion (POC): You recognize revenue proportionally as work is performed. If a $1 million project is 60% complete based on costs incurred, you recognize $600,000 in revenue — regardless of how much you’ve billed. This is the required method under GAAP for most contractors and the method your bonding company expects to see.
Completed contract: You defer all revenue and costs until the project is substantially complete. Revenue appears as a lump sum when the job closes. This method is only available for contracts expected to be completed within two years and for contractors with average annual gross receipts under $29 million (2026 threshold). It’s simpler but can severely distort your financial picture if you have multiple large jobs in progress.
For most contractors between $1M and $10M, percentage-of-completion is the right choice — and the method your CPA and bonding company will insist on.
This is where construction bookkeeping separates professionals from amateurs.
Overbilling occurs when you’ve billed more than you’ve earned based on percentage of completion. Example: a project is 40% complete based on costs, but you’ve billed 55% of the contract. The 15% difference is an overbilling — essentially, the owner has prepaid you for work you haven’t done yet. Overbillings appear as a current liability on your balance sheet.
Underbilling occurs when you’ve earned more than you’ve billed. The project is 60% complete but you’ve only billed 45%. You’ve done work you haven’t been paid for yet. Underbillings appear as a current asset — but unlike cash, you can’t spend them.
Why this matters: A contractor with $300,000 in net underbillings has essentially self-financed $300,000 of the owner’s project. That cash came from somewhere — usually your operating account or your line of credit. Meanwhile, a contractor with $300,000 in net overbillings has borrowed against future work. When the job progresses and billings catch up to actual completion, that cash advantage disappears.
Every construction contractor should produce a WIP schedule monthly. Here’s what it looks like:
| Project | Contract Value | Est. Total Cost | Cost to Date | % Complete | Earned Revenue | Billed to Date | Over/(Under) Billing |
|---|---|---|---|---|---|---|---|
| Maple St Office TI | $820,000 | $656,000 | $419,840 | 64.0% | $524,800 | $574,000 | $49,200 |
| Lincoln School Addition | $1,450,000 | $1,189,000 | $570,720 | 48.0% | $696,000 | $580,000 | ($116,000) |
| Riverside Condos Ph. 2 | $2,100,000 | $1,764,000 | $1,411,200 | 80.0% | $1,680,000 | $1,575,000 | ($105,000) |
| City Hall HVAC Upgrade | $380,000 | $311,600 | $280,440 | 90.0% | $342,000 | $361,000 | $19,000 |
| Totals | $4,750,000 | $3,920,600 | $2,682,200 | $3,242,800 | $3,090,000 | ($152,800) |
In this example, the contractor has net underbillings of $152,800 — meaning they’ve performed $152,800 more work than they’ve billed. That’s $152,800 in cash they’re owed but haven’t invoiced. The Lincoln School project alone has $116,000 in underbillings, which suggests the project manager isn’t billing aggressively enough or missed a billing cycle.
Critical: Your bonding company reviews your WIP schedule as part of every bond application. Consistent net underbillings signal poor billing discipline. Consistent large overbillings signal potential cash flow problems when those overbillings reverse. Either pattern can reduce your bonding capacity — which directly limits the size and number of projects you can bid.
Job costing in construction means tracking every dollar of cost against the specific project that generated it. Without project-level cost tracking, your company P&L might show a 22% gross margin — but you have no idea that three of your eight active projects are losing money while two profitable jobs are masking the damage.
Here’s a simplified job cost report for a $650,000 commercial tenant improvement:
| Cost Category | Budget | Actual to Date | % of Budget | Variance |
|---|---|---|---|---|
| Direct Labor | $78,000 | $91,400 | 117.2% | ($13,400) |
| Materials | $142,000 | $128,600 | 90.6% | $13,400 |
| Subcontractors | $285,000 | $267,000 | 93.7% | $18,000 |
| Equipment | $24,000 | $31,200 | 130.0% | ($7,200) |
| Permits & Fees | $8,500 | $8,500 | 100.0% | $0 |
| Temporary Facilities | $12,000 | $14,800 | 123.3% | ($2,800) |
| Bond Premium | $9,750 | $9,750 | 100.0% | $0 |
| Total Direct Costs | $559,250 | $551,250 | 98.6% | $8,000 |
| Gross Margin | $90,750 (14.0%) | $98,750 (15.2%) | $8,000 |
On the surface, this job looks fine — $8,000 under budget overall. But look closer. Labor is 17.2% over budget ($13,400 overrun), while materials and subs came in under. If you only track total costs, you’d miss the labor problem entirely. That labor overrun — maybe caused by rework, inexperienced crew members, or scope creep — becomes a pattern on your next three jobs if you don’t catch it here.
Change orders are the single biggest source of margin erosion in construction. The Associated General Contractors of America (AGC) reports that the average commercial project experiences cost growth of 5-15% from change orders. The problem isn’t the change orders themselves — it’s the gap between when extra work is performed and when it’s formally approved and billed.
The bookkeeping discipline: Every change order gets its own cost code from the day it’s verbally authorized. Labor hours, materials, and sub costs for the change order scope are tracked separately from the base contract. When the formal change order document is signed, you already have accurate costs to bill against. When it’s not signed — and this happens constantly — you have a documented record to support your claim.
A contractor who tracks change orders reactively (after the paperwork is signed) will always underbill. A contractor who tracks change order costs proactively (from the moment extra work begins) protects their margin.
Most commercial and public construction projects use the AIA G702 (Application and Certificate for Payment) and AIA G703 (Continuation Sheet) for progress billing. These are the industry-standard billing documents — and your bookkeeper needs to understand them.
On a $1.5 million contract with 10% retainage and monthly billings over 10 months:
For a contractor running three to five projects simultaneously, retainage receivables of $300,000-$500,000 are common. That’s capital you need to fund from operations or a line of credit. Your bookkeeper must track retainage receivable by project, with expected release dates, so your cash flow forecast reflects reality — not just what’s been billed.
Most construction contracts specify monthly billing cycles with a submission deadline — typically the 25th of the month for payment by the 30th of the following month. Miss a billing cycle and you’ve just pushed $80,000-$150,000 in cash receipts back by 30 days. Your bookkeeper should maintain a billing calendar with submission deadlines for every active project and flag any project where the percentage billed lags more than 5% behind the percentage complete (a sign of underbilling).
On a typical commercial GC project, subcontractors represent 60-80% of total project costs. Managing sub payments, compliance documents, and lien exposure is a core bookkeeping function — not an afterthought.
Every subcontractor who receives $600 or more in a calendar year must receive a 1099-NEC form by January 31 of the following year. For a GC managing 30-50 subs across multiple projects, this means collecting W-9 forms before the first payment — not scrambling in January.
The IRS penalty for late or missing 1099s ranges from $60 to $310 per form depending on how late you file. On 40 subs, that’s up to $12,400 in avoidable penalties. Your bookkeeper should maintain a sub compliance file with W-9, insurance certificates (GL + WC), and signed contracts before any sub receives their first payment. For a deeper dive on this, see our guide on 1099 subcontractor compliance for contractors.
Before you pay a subcontractor, you need their conditional lien waiver (waiving lien rights on work being paid for). After payment clears, you collect the unconditional lien waiver. This is non-negotiable — if you pay a sub $85,000 without collecting lien waivers and that sub later files a mechanic’s lien, you may end up paying twice.
The four-waiver system (common in most states):
Your bookkeeper should track lien waiver status for every sub on every project — and never release payment without a conditional waiver in hand.
Many GC-sub contracts include pay-when-paid provisions — meaning you don’t owe the sub until you’ve been paid by the owner. While enforceability varies by state (some states treat these as “pay-if-paid,” which has different legal implications), the bookkeeping impact is real: you need to track both your receivable from the owner and your payable to the sub as linked items. When the owner pays you, the sub payment becomes due within the contractual timeframe — typically 7-14 days.
Key insight: Sub management is where many GCs experience their biggest bookkeeping failures. A missed lien waiver can cost you the full value of a sub payment. A late 1099 filing across 40 subs can cost $12,000 in penalties. A disorganized sub ledger means you can’t answer the bonding company when they ask how much you owe in payables. These aren’t accounting technicalities — they’re business risks with dollar amounts attached.
If your construction company works on federally funded projects — or state and local projects that receive federal funding — you’re subject to Davis-Bacon Act prevailing wage requirements and certified payroll reporting.
For every week that your employees work on a covered project, you must submit Form WH-347 (or equivalent) reporting:
The prevailing wage rate is set by the Department of Labor for each trade classification by geographic area. In a major metro area, the prevailing wage for a journeyman carpenter might be $52.80/hour ($38.40 base + $14.40 fringe) — compared to your standard rate of $32/hour. That $20.80/hour premium must be accurately tracked and paid, or you’re facing back-pay liability plus penalties.
Certified payroll adds three layers of complexity to your payroll process:
For a comprehensive walkthrough of WH-347 filing and Davis-Bacon compliance, see our dedicated guide: Certified Payroll and Davis-Bacon: What Contractors Need to Know.
For construction contractors, bonding capacity is a direct function of your financial statements. The surety company is essentially guaranteeing to the project owner that you’ll finish the work — and they underwrite that guarantee based on your books. Messy, unreliable, or incomplete financial statements don’t just limit your bonding capacity. They can eliminate it entirely.
Surety companies evaluate three primary factors:
| Financial Metric | Amount |
|---|---|
| Current Assets (cash, AR, retainage receivable, underbillings) | $850,000 |
| Current Liabilities (AP, overbillings, current debt, accrued payroll) | $520,000 |
| Working Capital | $330,000 |
| Single Bond Limit (at 10x) | $3,300,000 |
| Aggregate Limit (at 15x net worth of $500K) | $7,500,000 |
With $330,000 in working capital, you can bond a single project up to roughly $3.3 million. Want to bid a $5 million project? You need to either increase your working capital to $500,000+ or find a surety willing to use a more aggressive multiplier — which requires a track record of profitable completions and clean financial statements.
What kills bonding capacity:
Construction is capital-intensive. Between excavators, skid steers, dump trucks, service vehicles, and job trailers, a $5M GC might have $400,000-$800,000 in equipment on the books. How you account for these assets directly impacts your tax bill, your bonding capacity, and your job costing accuracy.
The Section 179 deduction allows you to expense up to $2,560,000 in qualifying equipment purchases in the year they’re placed in service. For construction contractors, qualifying purchases include:
Following the OBBBA (One Big Beautiful Bill Act), 100% bonus depreciation has been restored for 2026, allowing full first-year deduction of new and used qualifying equipment — even beyond the Section 179 limit.
For a detailed breakdown of vehicle weight thresholds, bonus depreciation calculations, and de minimis safe harbor rules, see our guide on Section 179 Equipment Depreciation for Contractors.
Here’s a simplified comparison for a piece of equipment you need for 8 months per year:
| Factor | Buy ($185,000 excavator) | Rent ($8,500/month) |
|---|---|---|
| Annual cash outlay (year 1) | $45,000 (loan payment) + $12,000 (insurance, maintenance) = $57,000 | $68,000 (8 months) |
| Tax benefit (year 1) | $185,000 Section 179 deduction | $68,000 expense deduction |
| Balance sheet impact | Asset + liability (affects bonding ratios) | No balance sheet impact |
| Utilization risk | You own it during the 4 months you don’t use it | Return it when idle |
| 5-year total cost | ~$270,000 (payments + maintenance + insurance) | ~$340,000 |
| Residual value after 5 years | ~$75,000-$95,000 | $0 |
The rule of thumb: If you’ll use the equipment more than 60-70% of the time, buying typically wins on a total-cost basis. If utilization is below 50%, rental avoids the carrying cost of an idle asset — and keeps the liability off your balance sheet, which preserves bonding capacity.
Your bookkeeper needs to track equipment costs per hour or per month and allocate them to specific jobs. An excavator sitting in the yard for two weeks between jobs is overhead — and if that cost isn’t captured, your equipment budget will always run over.
Financial KPIs tell you whether your construction contractor bookkeeping is producing actionable data or just compliance paperwork. Track these monthly — not quarterly.
| KPI | Target | Why It Matters |
|---|---|---|
| Gross margin by project | 15-25% (GC); 25-40% (specialty sub) | Below target means you’re buying work or losing on execution |
| Backlog | 6-12 months of revenue | Below 6 months signals a pipeline problem; above 18 months risks overextension |
| Backlog gross profit | Weighted margin on backlog projects | More important than backlog revenue — $5M at 8% is worse than $3M at 20% |
| Overhead rate | Under 12% of revenue | The AGC benchmark; above 15% means you’re top-heavy |
| Cash conversion cycle | Under 60 days | Days from spending to collecting; above 90 days means you’re financing too much |
| Net overbilling/underbilling | Slight net overbilling preferred | Net underbillings drain cash; chronic pattern reduces bonding capacity |
| Retainage receivable aging | Collected within 45 days of completion | Aging past 90 days signals collection or close-out problems |
| Working capital ratio | Above 1.3:1 | Current assets / current liabilities; below 1.1:1 triggers bonding concerns |
| Revenue per employee | $200K-$350K | Below $175K suggests overstaffing or underpricing |
| Change order capture rate | 85%+ of extra work billed | Below 70% means you’re doing free work |
Backlog deserves special attention. A contractor with $4M in annual revenue and $6M in backlog has approximately 18 months of work — a comfortable position. But backlog alone doesn’t tell you if that work is profitable. $6M in backlog with a weighted gross margin of 10% means roughly $600,000 in gross profit to cover overhead, debt service, and profit. If your overhead runs $480,000 annually, you’re left with $120,000 — a 3% net margin that one bad project can erase.
Cash conversion cycle is the metric that explains why a $5M contractor can be cash-poor. If you spend money on materials in Week 1, bill the owner in Week 4, the architect approves in Week 6, and the owner pays in Week 8 — your cash conversion cycle is 56 days. Add 10% retainage that’s held for 6 months and your effective cycle on the full contract value extends well beyond 90 days.
The software ecosystem for construction accounting is more specialized than most industries. Here’s what you need to know about the major platforms.
Best for: Subcontractors and GCs under $3M in revenue with fewer than 10 active projects.
QuickBooks isn’t purpose-built for construction, but with proper setup — classes for projects, items for cost codes, and disciplined use of the estimate/invoice workflow — it works for smaller contractors. The limitation hits when you need true WIP reporting. QuickBooks doesn’t generate a WIP schedule natively. Your bookkeeper will need to build it in a spreadsheet using data exported from QB — which is manageable at 5-8 projects but becomes error-prone at 15+.
Integration note: Procore (the leading construction project management platform) offers a direct integration with QuickBooks that syncs commitments, invoices, and change orders. If you’re on Procore for project management and QuickBooks for accounting, the integration eliminates most double-entry — but the mapping must be configured correctly at setup.
Best for: GCs between $5M and $50M+ who need full WIP reporting, multi-entity consolidation, and integrated job costing.
Sage 300 is the legacy workhorse of construction accounting. It handles percentage-of-completion accounting, AIA billing, certified payroll, and equipment costing natively. The downside: it’s desktop-based, expensive ($15,000-$30,000+ for implementation), and has a steep learning curve. Your bookkeeper needs Sage-specific training — a general QB bookkeeper can’t just sit down and use it.
Best for: Mid-market GCs and specialty subs who need construction-specific accounting without the Sage price tag.
Foundation offers job costing, AIA billing, certified payroll, and equipment management in an integrated package. It’s more modern than Sage 300 but less widely adopted, which means fewer bookkeepers have experience with it. Implementation typically runs $8,000-$15,000.
Procore isn’t an accounting platform — it’s a project management system that connects to your accounting software. But for GCs running 10+ projects, Procore becomes the source of truth for commitments (sub contracts), change orders, and pay applications. The accounting integration pushes this data into QuickBooks, Sage, or Foundation so your bookkeeper isn’t re-entering financial data from project managers’ spreadsheets.
What your bookkeeper needs from you: Access (read-only is fine) to your project management system — whether it’s Procore, PlanGrid, Buildertrend, or a shared drive of spreadsheets. Without it, they’re reconciling bank deposits against invoices without being able to verify the underlying job costs. That’s how cost coding errors go undetected for months.
Construction accounting at year-end is more complex than most industries because of WIP accounting, retainage, and the interaction between your books and your bonding program. Here’s the checklist your bookkeeper should complete before handing the books to your CPA.
Your CPA needs reviewed or audited financial statements if your bonding company requires them (most do, above a certain bond threshold). The difference:
The cleaner your books are when they reach your CPA, the lower your audit fees. A bookkeeper who delivers a reconciled trial balance, complete WIP schedule, and organized supporting documentation can save you $5,000-$10,000 in CPA fees compared to handing over a disorganized QuickBooks file.
There’s a point in every construction company’s growth where the office manager (who’s also handling HR, insurance certificates, and answering the phone) can no longer keep up with the financial complexity. Here are the signs.
| Factor | In-House Bookkeeper | Outsourced Construction Bookkeeper |
|---|---|---|
| Annual cost | $50,000-$70,000 salary | $18,000-$60,000 ($1,500-$5,000/mo) |
| Burden (benefits, taxes, WC) | Add 30-40% ($15,000-$28,000) | Included |
| Software & training | $3,000-$8,000/yr | Included |
| Total annual cost | $68,000-$106,000 | $18,000-$60,000 |
| Construction industry expertise | Rare without specific experience | Built into the service |
| WIP schedule preparation | Depends on individual skill | Standard deliverable |
| Coverage during vacation/illness | None | Continuous |
For most construction contractors between $1M and $10M in revenue, outsourced bookkeeping runs $2,000-$4,000/month — a fraction of the fully loaded cost of a full-time hire with construction-specific expertise. And you’re getting someone who already understands WIP accounting, AIA billing, job costing, and certified payroll. No training period. No learning curve on construction-specific financial management.
Your construction company is a financial engine with more moving parts than almost any other industry — long project timelines, retainage, progress billing, sub management, certified payroll, bonding requirements, and margin profiles that vary by project type and phase. Generic bookkeeping treats all of this as noise. Construction-specific bookkeeping treats it as signal — the data you need to make decisions about which projects to bid, when to hire, how much equipment to finance, and whether your bonding capacity supports your growth plan.
Get the books right, and the business decisions get easier. Get them wrong, and you’ll keep wondering why $5 million in revenue left $38,000 in the bank. If you want a quick sense of what specialized construction contractor bookkeeping would cost for your company, try our instant quote tool — it takes about 60 seconds.
Ready to get your construction books right? Steph’s Books specializes in bookkeeping for construction contractors and trades. Get an instant quote or schedule a free consultation to see how we can help.
Get a free quote and see how Steph's Books can save you 40-60% vs hiring in-house.