Construction Bookkeeping Basics: Chart of Accounts, Cash vs. Accrual, and Avoiding the Shoebox
Construction accounting isn’t general small-business accounting with a hard hat on. A plumber who installs a water heater the same day he sells it can run on a simple income-and-expense ledger. A general contractor who starts a $2 million project in October, bills progress payments through the following August, holds retainage for 60 days after that, and pays 15 subcontractors on different schedules throughout cannot. The construction industry has its own accounting method rules (percentage-of-completion vs. completed-contract), its own cost-tracking requirement (job costing), its own balance sheet line items (retainage receivable, overbillings, underbillings), and its own external audience that reads the financials before the IRS does (the surety underwriter). Setting up the bookkeeping correctly from the start takes a few hours. Fixing it after two years of bad records takes weeks and usually costs more than the contractor saved by putting it off.
Construction bookkeeping has three requirements that most other small businesses don’t: (1) job costing, which tracks revenue and costs by individual project, (2) a WIP (work in progress) schedule, which compares costs incurred to estimates to measure project completion and profitability, and (3) an accounting method election that determines when revenue is taxable (cash, completed-contract, or percentage-of-completion). The chart of accounts needs to separate direct job costs (labor, materials, subcontractors, equipment) from overhead (insurance, office, vehicles), because job costing only works when you know which costs belong to which project and which costs are period expenses. Get this right in year one and everything downstream (the tax return, the bonding application, the bank loan, the bid on the next project) is easier.
Why is construction accounting different?
Three reasons, and they all trace back to the same fact: construction projects span months or years, not days.
Revenue recognition is complicated. A retail business recognizes revenue when the customer pays. A construction company may bill $200,000 this month, collect $180,000 (with $20,000 held as retainage), and still not know if the project will make money until it’s finished next year. For long-term contracts (ones not finished in the tax year they start), the IRS requires contractors above the gross receipts threshold to use the percentage-of-completion method, which recognizes revenue as costs are incurred, whether or not the cash has arrived. Smaller contractors have the option of the completed-contract method (no revenue until the job is done) or the cash method (revenue when the check clears). The tax planning guide covers the method choice in detail.
Costs must be tracked by project. Not by category, not by month, by project. A $50,000 lumber bill that you dump into a generic “Materials” account tells you nothing about whether the Johnson remodel made money or whether the Smith addition ate your margin. Job costing assigns every direct cost to the project that consumed it, and every hour of labor to the job it was worked on. Without it, you’re bidding blind.
The financial statements serve an external audience. Most small businesses produce financial statements for the tax return and nothing else. A construction company produces them for the surety underwriter who decides its bonding capacity, the bank that underwrites its line of credit, and the project owner who requires audited or reviewed financials on a large contract. The surety reads the balance sheet line by line. If your books can’t produce a clean WIP schedule and a balance sheet that separates retainage from regular receivables, the surety won’t write the bond.
Cash vs. accrual vs. completed-contract: which method should I use?
The accounting method determines when income and expenses hit the books (and the tax return). For contractors under the gross receipts threshold ($32 million average for the three prior years, for 2026), you generally have a choice.
Cash method. Income is recorded when received, expenses when paid. It’s the simplest method and provides natural tax deferral (you don’t owe tax on money you haven’t collected). For contractors with average annual gross receipts of $32 million or less, the cash method is available under IRC 448(c) and is the most common choice. The limitation is that cash-basis financial statements can look distorted: a big payment in December inflates that month’s revenue, and a deposit premium paid in January creates a cost mismatch. Sureties may accept cash-basis statements for small programs but generally want accrual statements as the bonding program grows.
Accrual method. Income is recorded when earned (billed or accrued), expenses when incurred (when the obligation exists, regardless of payment). Accrual gives a more accurate picture of profitability by period, which is why sureties and banks prefer it. The trade-off is that you may owe tax on income you haven’t collected yet, including retainage that won’t arrive for months.
Completed-contract method (CCM). Available for contracts expected to finish within two years when the contractor meets the gross receipts test. No revenue or cost is recognized until the job is done. This provides the maximum tax deferral but requires careful tracking of in-progress jobs and produces financial statements that can look odd (large liabilities with no corresponding revenue on jobs that are 90% complete). The percentage-of-completion guide explains when CCM is and isn’t available.
Percentage-of-completion method (PCM). Required for long-term contracts (contracts not completed in the tax year they’re entered into) unless an exception applies: residential construction contracts are exempt (for contracts entered into in tax years beginning after July 4, 2025; before that, only home construction contracts were), and so are contracts expected to finish within two years if the contractor meets the gross receipts test. Revenue is recognized each year based on the ratio of costs incurred to total estimated costs. PCM requires accurate cost estimates and a WIP schedule that’s updated at least annually. It’s the most work, but it produces the most accurate picture of project profitability, which is why sureties prefer it.
| Method | Best for | Tax timing | Surety preference |
|---|---|---|---|
| Cash | Small contractors, simple projects | Defers income until collected | Acceptable for small programs |
| Accrual | Contractors seeking bonding growth | Recognizes when earned, even if uncollected | Preferred |
| Completed-contract | Short-duration contracts under the threshold | Maximum deferral | Acceptable with WIP schedule |
| Percentage-of-completion | Required for long-term contracts above threshold; preferred by sureties | Recognizes as costs are incurred | Strongly preferred |
What should the chart of accounts look like?
The chart of accounts is the skeleton of the bookkeeping system. A construction chart of accounts needs to be detailed enough for job costing and bonding-quality financial statements, but not so granular that data entry becomes a burden. Here’s the framework.
Revenue accounts:
- Contract revenue (progress billings on fixed-price contracts)
- Time-and-materials revenue
- Change order revenue
- Service and repair revenue (if you do maintenance work)
Cost of goods sold (direct job costs):
- Labor (field wages, payroll taxes on field labor, workers’ comp allocated to field)
- Materials (lumber, concrete, pipe, wire, fixtures, anything installed)
- Subcontractors (every sub payment, tracked by vendor and by project)
- Equipment costs (rental charges, fuel, maintenance on job-specific equipment)
- Other direct costs (permits, engineering, testing, project-specific insurance)
Overhead (indirect costs):
- Office rent and utilities
- Office salaries and administrative payroll
- General liability and umbrella insurance premiums
- Vehicle expenses (gas, insurance, maintenance on vehicles not charged to specific jobs)
- Professional fees (CPA, attorney, estimating software)
- Marketing and advertising
- Depreciation on office equipment and vehicles
- Home office expenses (if applicable)
Balance sheet accounts:
- Accounts receivable (standard, due in 30 days)
- Retainage receivable (separate from AR, with aging by project)
- Costs and estimated earnings in excess of billings (underbillings)
- Billings in excess of costs and estimated earnings (overbillings)
- Retainage payable (amounts withheld from subs)
- Equipment and vehicles (with accumulated depreciation)
The underbillings and overbillings accounts are unique to construction. They’re the WIP schedule’s net position: if you’ve incurred more cost than you’ve billed on a job, the difference is an underbilling (an asset, because you’ve earned revenue you haven’t invoiced yet). If you’ve billed more than you’ve earned, it’s an overbilling (a liability, because you owe performance on money already collected). These two lines tell the surety whether you’re ahead or behind on your projects in aggregate.
How does job costing work in practice?
Job costing means every transaction that touches a project gets coded to that project. When you buy lumber for the Johnson remodel, the expense goes to “Materials, Job 2026-014 Johnson.” When you pay the electrician sub, it goes to “Subcontractors, Job 2026-014 Johnson.” When your carpenter works eight hours on the Smith addition and four hours on the Johnson remodel, his wages split accordingly.
In QuickBooks, this is done through the “Customer:Job” field and class tracking. In construction-specific software (Sage, Foundation, Procore), it’s built into the job-cost module. The minimum coding for each transaction is:
- Which job? (project number or name)
- Which cost category? (labor, materials, subcontractor, equipment, other)
- Which cost code? (optional but recommended: a more granular breakdown like “framing labor” vs. “finish labor” or “plumbing rough-in” vs. “plumbing fixtures”)
At the end of each month (or at least each quarter), pull a job cost report for every active project. Compare actual costs to the original estimate. If costs are running ahead of the estimate, the profit margin is shrinking and you need to know why before the job is finished and the money is spent.
What are the most common bookkeeping mistakes?
Dumping everything into one expense account. A contractor who codes every check to “Job Costs” or “Materials” can’t produce a job cost report, can’t build a WIP schedule, and can’t tell the surety (or the IRS) what the money was spent on. Separate labor, materials, subcontractors, and equipment from the start.
Not reconciling the bank account monthly. Bank reconciliation catches duplicate entries, missed transactions, and fraud. A contractor who reconciles quarterly instead of monthly is three months behind on catching errors, and in construction, three months of errors on a large project can distort the WIP schedule enough to affect the bonding application.
Mixing personal and business transactions. Every personal charge on the business card and every business expense paid from the personal account creates a bookkeeping entry (owner’s draw or contribution) and, on audit, creates a question about whether the LLC’s liability protection is intact. Use the business account for business, the personal account for everything else.
Ignoring retainage. If your bookkeeper records progress billings at the net amount (after retainage), your revenue is understated on accrual, your receivables are wrong, and your WIP schedule won’t reconcile. Retainage must be tracked as a separate receivable, not netted against billings.
Not tracking 1099 payments by vendor. At year end, you need to know every sub you paid $600 or more in 2025 ($2,000 or more for payments made in 2026 and later). If your books don’t track payments by vendor, you’re reconstructing from bank statements in January, which is where W-9s get missed and 1099s get filed late.
What software should I use?
For contractors doing under $3 million in annual revenue with fewer than 10 active projects at a time, QuickBooks Online (Plus or Advanced) with proper job-costing setup is the standard. It’s affordable, widely supported by CPAs and bookkeepers, and integrates with most construction apps (Buildertrend, CoConstruct, Procore).
For contractors doing $3 million to $20 million, construction-specific software (Sage 100 Contractor, Foundation Software, Jonas Construction) provides built-in WIP scheduling, AIA billing formats, certified payroll, and multi-state payroll. The upfront cost and learning curve are higher, but the reporting is purpose-built for construction.
For contractors above $20 million, the ERP conversation (Sage 300 CRE, Vista by Viewpoint, CMiC) starts. That’s beyond the scope of this guide.
Pricing as of September 2026: QuickBooks Online Plus lists at $140 per month on Intuit’s pricing page, with introductory discounts often available. Foundation Software doesn’t publish prices; it quotes by module. Ask for a quote on Sage 100 Contractor too. For a new contractor, the monthly software cost is usually minor compared to the cost of not having it: reconstructing a year of books from bank statements can easily cost thousands of dollars in CPA fees (a rough estimate, since it depends on volume), and a rushed reconstruction can miss deductions.
If you don’t want to run the books yourself, an outsourced construction bookkeeper might cost $500 to $2,000 per month (a rough estimate; fees vary widely) depending on transaction volume, number of active projects, and whether the firm also prepares the WIP schedule. A general-practice bookkeeper may be cheaper, but if they don’t understand retainage, overbillings, or job-cost coding, the savings evaporate when the surety or the CPA has to reclassify a year of entries.
Whatever you use, the non-negotiable features are: job costing by project, vendor tracking with cumulative payment totals, a chart of accounts that separates direct costs from overhead, and the ability to produce a WIP schedule (or the data to build one in a spreadsheet).
What should I do next?
If your books are currently a shoebox of receipts or a single-category QuickBooks file, the first step is setting up the chart of accounts correctly. Don’t try to reclassify two years of transactions. Start clean on the first day of the next month, get the categories right going forward, and have your CPA reconstruct the prior period from bank statements at tax time.
If you’re starting a new business, set it up right from day one: the startup checklist covers the full sequence, including entity formation, bank account, and bookkeeping setup.
- The job costing guide goes deeper into project-level cost tracking and the WIP schedule.
- The accounting method guide covers the PCM vs. CCM election and its tax consequences.
- The estimated tax guide explains how the method choice feeds into quarterly payment calculations.
- If you’re pursuing bonding, the insurance and bonding guide explains what the surety needs from your financial statements.
- For a breakdown of what construction accounting services cost (returns, bookkeeping, reviewed financials), see the construction CPA cost guide.
Start with a Diagnostic: a CPA licensed in the US and Canada reads your file and tells you in writing what's wrong and how to fix it, three to four business days after you finish the questions. The report is $250. If you hire us for any work after that, you get the $250 back as a discount on that work. Or send us your return or your letter and get a fixed price, free.
One or two plain-English guides a week on US-Canada tax. No spam, unsubscribe anytime.
Done. The next guide will land in your inbox.
Yarik Yarosh, CPA. "Construction Bookkeeping Basics: Chart of Accounts, Cash vs. Accrual, and Avoiding the Shoebox." Blue Cloud CPA, September 17, 2026, updated September 23, 2026. https://bluecloudcpa.com/guides/construction-contractor-bookkeeping-accounting-basics
This guide is general information, not tax advice for your specific situation. Which points apply, and how, depends on your facts.