A general contractor bids a job that needs a larger bond than the surety has approved before. The surety asks for a work in progress (WIP) schedule: every open job, its contract value, cost to date, estimated cost to finish, billings to date, and whether the job is overbilled or underbilled. The contractor opens QuickBooks and finds one revenue account, one cost of goods sold account, and an accounts receivable balance that mixes retainage with ordinary invoices. Nothing on the schedule can be filled in from the books. It gets built in a spreadsheet, from memory, and the surety reads it with the trust that deserves.
The schedule is not the problem. The chart of accounts is. A WIP schedule is built job by job from contract values, estimated costs to complete, costs to date and billings to date. When job costs are tagged by job and the over- and underbilling accounts are posted every month, the books agree with the schedule. This guide covers those accounts, the three entries that fill them, and what each one does to the income statement and balance sheet.
Why a generic chart breaks down for contractors
A generic chart has no account for billings that run ahead of or behind the work, so revenue usually gets recorded when an invoice goes out. On a twelve-month contract billed monthly, that timing is wrong in both directions. A contractor who front-loads billings has collected cash for work not yet done. A contractor who is slow to bill has done work the books do not show. Under GAAP (Generally Accepted Accounting Principles), revenue on a long-term contract is recognized as the work progresses, usually in proportion to costs incurred against total estimated costs. The Internal Revenue Service applies the same percentage-of-completion idea to larger contractors for tax, and its Construction Industry Audit Technique Guide walks examiners through it job by job.
The generic chart also has one place for receivables and one for payables. Retainage, the slice of each billing the customer holds back until the job is accepted, sits inside accounts receivable and looks like a late payment. The retainage you hold back from subcontractors sits inside accounts payable and looks like a bill you have not paid. Both distort the aging reports a surety reads alongside working capital.
Finally, a single cost of goods sold line cannot tell a labor overrun from a materials overrun. Job costing needs direct costs split by category, and it needs the office rent and the estimator's salary kept out of job cost entirely.
There is a tempting shortcut: keep the books on a cash basis and let the tax return sort it out. It fails at the first bond application. A surety reads accrual statements, and most ask for a reviewed or audited set once the bond program passes a certain size. The chart of accounts is the cheapest part of that requirement to get right, and the one that cannot be fixed at year end by the accountant alone.
Cost and cash flow through the job accounts
Every dollar on a job touches these accounts in this order. Revenue and cost reach the income statement on the way through; the balance sheet holds whatever has not settled yet.
The accounts that do the work
These are the accounts that do the work for a contractor. Most of them are not in a generic chart. The numbers, names and types are a suggested layout; nothing on this page imports into QuickBooks. The account names call retainage "retention"; the two words mean the same thing.
| Row | Account | Number | Type | Purpose |
|---|---|---|---|---|
| 01 | Accounts Receivable - Progress Billing | 1201 | Accounts Receivable | Invoiced progress billings the customer owes now |
| 02 | Retention Receivable | 1211 | Accounts Receivable | The portion of each billing the customer holds until completion |
| 03 | Costs & Estimated Earnings in Excess of Billings | 1385 | Other Current Assets | Underbillings: revenue earned on open jobs but not yet invoiced |
| 04 | Subcontractor Payables | 2011 | Accounts Payable | Amounts owed to subcontractors and payable now |
| 05 | Retention Payable | 2231 | Other Current Liabilities | Retainage withheld from subcontractors until their work is accepted |
| 06 | Billings in Excess of Costs - Unearned Revenue | 2241 | Other Current Liabilities | Overbillings: invoiced ahead of the work performed |
| 07 | Contract Revenue - Commercial | 4101 | Income | Revenue earned on commercial contracts |
| 08 | Direct Labor - Field Workers | 5001 | Cost of Goods Sold | Wages for crews on site, charged to the job |
| 09 | Materials - Lumber | 5101 | Cost of Goods Sold | Materials delivered to and used on the job |
| 10 | Subcontractor Costs - Other Trades | 5291 | Cost of Goods Sold | Specialty trade contractors billed to the job |
| 11 | Equipment Rental - Job Related | 5301 | Cost of Goods Sold | Rented equipment for a specific project |
| 12 | Rent - Office | 6101 | Expenses | General overhead; never charged to a job |
The four cost accounts in the 5000 range are direct job costs and belong in gross profit. Rent - Office sits in the 6000 range as general overhead. Keeping that line intact is what makes gross profit by job a number you can defend to a surety, because it contains only costs that would not exist without the job.
One decision the owner has to make once, and then hold to: what counts as job overhead. A site trailer, a project manager's time, a dumpster, and the fuel for the crew truck all vanish when the job ends, so they belong in the 5000 range and get tagged to the job. The yard lease, the estimator, and the bookkeeper stay whether the job exists or not, so they belong in the 6000 range and never get tagged. A chart that draws that line makes the job cost report and the bid estimate use the same definition of cost, which is the only way to learn anything by comparing them.
How the accounts get booked
Take one commercial job: a $500,000 contract with an estimated total cost of $400,000. Figures are illustrative throughout.
In month three the contractor bills $100,000 against the schedule of values. The contract lets the customer hold 10 percent until final acceptance. The billing is split at the moment it is recorded, so retainage never hides inside ordinary receivables.
| Account | Debit | Credit |
|---|---|---|
| 1201Accounts Receivable - Progress Billing | 90,000 | |
| 1211Retention Receivable | 10,000 | |
| 4101Contract Revenue - Commercial | 100,000 | |
| Totals | 100,000 | 100,000 |
The $10,000 is not late. It is due at completion, and the balance sheet now says so. Revenue is booked at the billed amount here and corrected to earned revenue in Entry 3.
The same month, the electrical subcontractor submits a $40,000 pay application. The contractor withholds 10 percent from the sub, exactly as the customer withholds from the contractor. The full $40,000 is a job cost today; only $36,000 is payable today.
| Account | Debit | Credit |
|---|---|---|
| 5291Subcontractor Costs - Other Trades | 40,000 | |
| 2011Subcontractor Payables | 36,000 | |
| 2231Retention Payable | 4,000 | |
| Totals | 40,000 | 40,000 |
Job cost is complete and the payable is honest. Without Retention Payable, the $4,000 would either inflate accounts payable or vanish until the sub asks for it.
At month end the bookkeeper compares work performed to work billed. Cost to date on this job is $180,000 against the $400,000 estimate, so the job is 45 percent complete and earned revenue is $225,000. Billings to date are $250,000. The contractor has billed $25,000 more than it has earned, and that $25,000 is a liability: an amount billed for work still owed to the customer.
| Account | Debit | Credit |
|---|---|---|
| 4101Contract Revenue - Commercial | 25,000 | |
| 2241Billings in Excess of Costs - Unearned Revenue | 25,000 | |
| Totals | 25,000 | 25,000 |
Reverse this entry on the first day of next month and rebook it at the new percentage. If the job were underbilled instead, the entry flips: debit 1385 Costs & Estimated Earnings in Excess of Billings, credit 4101.
Entry 3 records the WIP schedule's result for this job. The total of the schedule's overbilling column is the balance in 2241, and the total of its underbilling column is the balance in 1385. When job costs are tagged by job and those two accounts are posted every month, the books agree with the schedule.
The underbilled case deserves its own sentence, because it is the one owners ignore. A job that has earned more than it has billed is not a good sign to a surety. It usually means one of three things: the billing is late, the estimate of total cost is too low so the percentage complete is overstated, or the job has costs on it that the customer will never pay for. All three reduce cash. A growing balance in 1385 is the earliest warning the books can give, and it only exists if the account does.
When the job reaches final acceptance, the retainage releases. The $10,000 in Retention Receivable moves to Accounts Receivable - Progress Billing with a debit to 1201 and a credit to 1211, and the invoice goes out. The same day, the $4,000 in Retention Payable becomes a bill to the sub. Neither move touches revenue or cost, because both were recorded when the work was done, not when the cash moved.
What this looks like on the statements
The same three entries, seen from the reports. The highlighted lines exist only because the accounts above exist.
| Contract Revenue - Commercial (earned, not billed) | 225,000 |
| Direct job costs | |
| Direct Labor - Field Workers | 62,000 |
| Materials - Lumber | 48,000 |
| Subcontractor Costs - Other Trades | 55,000 |
| Equipment Rental - Job Related | 15,000 |
| Total direct job costs | 180,000 |
| Gross profit | 45,000 |
| Operating expenses | |
| Rent - Office | 6,500 |
Example figures.
Gross profit of 45,000 on 225,000 of earned revenue is the same 20 percent margin the estimate promised. If revenue were left at the 250,000 billed, gross profit would read 70,000 and the job would look better than the bid, which is exactly the number a surety learns not to believe.
| Current assets | |
| Accounts Receivable - Progress Billing | 90,000 |
| Retention Receivable | 25,000 |
| Costs & Estimated Earnings in Excess of Billings | 8,400 |
| Current liabilities | |
| Subcontractor Payables | 36,000 |
| Retention Payable | 12,000 |
| Billings in Excess of Costs - Unearned Revenue | 25,000 |
Example figures.
The two retention lines are cumulative across every open job, which is why they are larger than the single job in the entries above. The 8,400 in underbillings comes from a different job that is behind on invoicing. A surety reads the two WIP lines together: underbillings that keep growing suggest revenue that may never be billed, and overbillings that keep growing suggest the contractor is living on the next job's cash. The generic chart shows neither line, so the surety asks for the spreadsheet instead.
- 01How much of our receivables can we actually collect this month? With retainage inside accounts receivable, the aging report overstates collectible cash on every open job.
- 02Are we ahead of or behind our billings across all jobs, and by how much? Without 1385 and 2241 the answer lives in a spreadsheet the surety has to take on faith.
- 03Which job is losing money, and is it labor, materials, or a sub? One cost of goods sold account reports a total and nothing else.
What changes from a generic chart
- Accounts Receivableretainage mixed with invoices
- 1201Accounts Receivable - Progress Billingasset
- 1211Retention Receivableasset
- 1385Costs & Estimated Earnings in Excess of Billingsasset
- 2231Retention Payableliability
- 2241Billings in Excess of Costs - Unearned Revenueliability
- Cost of Goods Soldone blended line
- 5001Direct Labor - Field Workerscogs
- 5101Materials - Lumbercogs
- 5291Subcontractor Costs - Other Tradescogs
- 5301Equipment Rental - Job Relatedcogs
- 6101Rent - Officestays in overhead
Job Costing Implementation
Job Cost Structure
Each construction project should track costs in categories that match your chart of accounts:
Job Cost Categories:
- Direct Labor: All labor directly working on the job
- Direct Materials: Materials incorporated into the project
- Subcontractors: External contractors performing work
- Direct Equipment: Equipment rental specific to the job
- Other Direct Costs: Permits, utilities, cleanup, etc.
- Job Overhead: Site costs that exist only because of the job
Job Numbering System
Develop a consistent job numbering system:
Format Examples:
- Year-Sequential: 24-001, 24-002, 24-003
- Customer-Year: SMITH-24-001, ABC-24-002
- Type-Year-Sequential: RES-24-001 (Residential), COM-24-001 (Commercial)
Account Coding for Jobs
Method 1: Job Classes (QuickBooks) Use the same accounts for all jobs but assign job/customer classes:
- Account: 5001 (Direct Labor - Field Workers)
- Class: Job #24-001
- Result: Direct Labor costs tracked by job
Method 2: Job-Specific Accounts Create separate accounts for major jobs:
- 5001-001: Direct Labor - Job #24-001
- 5001-002: Direct Labor - Job #24-002
- 5101-001: Materials - Job #24-001
Method 3: Project Codes Use project/dimension codes in advanced systems:
- Account: 5001 (Direct Labor - Field Workers)
- Project: 24-001
- Department: Construction
- Cost Center: Residential
Equipment Management
Equipment Cost Allocation
Direct Job Charging: Charge actual usage to specific jobs
Dr. Job Cost - Equipment $500
Cr. Cash/Equipment Rental $500
Overhead Allocation: Include equipment costs in overhead rates
Dr. Equipment Overhead $2,000
Cr. Accumulated Depreciation $2,000
Dr. Job Cost - Overhead $800
Cr. Equipment Overhead $800
Equipment Records
Track each piece of equipment separately:
- Purchase date and cost
- Depreciation method and useful life
- Maintenance and repair history
- Job usage and allocation records
- Insurance and registration information
Financial Reporting for Construction
Key Reports Needed
Job Profitability Reports:
- Revenue and costs by job
- Percentage complete analysis
- Estimated final profit/loss
- Change order tracking
Cash Flow Reports:
- Aging of accounts receivable
- Retention receivable schedule
- Progress billing pipeline
- Working capital analysis
Equipment Reports:
- Equipment depreciation schedule
- Equipment utilization rates
- Repair and maintenance costs
- Equipment allocation to jobs
Month-End Procedures
- Update Job Costs: Ensure all costs posted to correct jobs
- Calculate Percentage Complete: Update revenue recognition
- Reconcile WIP: Verify work in progress balances
- Review Retention: Update retention receivable/payable
- Equipment Depreciation: Record monthly depreciation
- Job Profitability Analysis: Review job performance
Software Considerations
QuickBooks for Construction
Advantages:
- Job costing through customers and Projects
- Progress invoicing capabilities
- Retainage can be tracked with a separate item and account
Limitations:
- Limited work-in-progress reporting
- No percentage-of-completion revenue recognition; post Entry 3 by hand
- No advanced job forecasting
- Limited equipment allocation options
Setup Tips:
- Use customers and Projects for job tracking
- Set up items for different cost types
- Create templates for progress invoicing
- Use classes for additional categorization
Specialized Construction Software
Features to Consider:
- Advanced job costing and forecasting
- Integrated estimating and job management
- Equipment management and allocation
- Advanced progress billing and retention
- Mobile time and material tracking
- Integration with project management tools
Best Practices and Tips
Account Management
- Regular Review: Monthly review of job costs and profitability
- Consistent Coding: Train all staff on proper account coding
- Document Procedures: Written procedures for all processes
- Backup Documentation: Maintain supporting records for all entries
- Regular Reconciliation: Monthly reconciliation of all accounts
Job Costing Accuracy
- Timely Entry: Enter costs promptly to ensure accuracy
- Proper Classification: Code costs to correct jobs and categories
- Equipment Allocation: Develop fair and consistent allocation methods
- Change Order Management: Track change orders separately
- Subcontractor Coordination: Ensure timely and accurate subcontractor billing
Cash Flow Management
- Invoice Promptly: Submit progress bills on schedule
- Follow Up: Aggressive accounts receivable collection
- Manage Retention: Track retention receivable carefully
- Plan for Delays: Build payment delays into cash flow projections
- Monitor Working Capital: Keep adequate cash for operations
Common Mistakes to Avoid
Account Setup Errors
- Insufficient Detail: Not enough job cost categories for analysis
- Over-Complication: Too many accounts creating confusion
- Poor Organization: Accounts not logically grouped
- Inconsistent Numbering: No clear numbering system
- Missing Retention Accounts: Not tracking retention properly
Job Costing Mistakes
- Late Cost Entry: Delays in posting job costs
- Incorrect Job Coding: Costs posted to wrong jobs
- Change Order Confusion: Not tracking change orders separately
- Equipment Cost Issues: Inconsistent equipment cost allocation
Financial Reporting Errors
- Inaccurate Percentage Complete: Poor estimation of completion percentages
- WIP Errors: Incorrect work-in-progress calculations
- Revenue Recognition Issues: Not following proper accounting standards
- Cash Flow Mistakes: Poor cash flow forecasting and management
- Retention Problems: Inadequate retention tracking and collection
- Construction Industry Audit Technique Guide (Publication 5522) · Internal Revenue Service
- Principles of Accounting, Volume 1: Financial Accounting · OpenStax, Rice University
Get started
Our Construction template starts a new chart with 65 accounts. It is a different layout from the accounts on this page, with its own names and numbers.
The optimizer reads your own chart and proposes changes for you to review. It does not compare your chart with the accounts on this page. Tag every job cost to a customer or project from the first invoice on and post Entry 3 on the last day of every month, and the books will agree with the WIP schedule.
Frequently asked questions.
How is construction accounting different from other industries?
Construction accounting focuses heavily on project/job costing, tracking costs and revenue by specific jobs rather than just overall business operations. It also deals with unique elements like retention, progress billing, and equipment depreciation.
Do I need separate accounts for each construction job?
No. You need revenue and costs by job, which QuickBooks tracks by tagging each transaction to a customer or project, so one set of accounts serves every job. This can be done through job codes, classes, or separate account structures depending on your software.
How should I handle equipment costs in construction?
Equipment costs can be handled as direct job costs (for job-specific rentals), overhead allocation (for owned equipment used across jobs), or capital assets (for equipment purchases). The method depends on how the equipment is used.
The principles are easy. Applying them is the work.
This guide is the theory. Sign-ups are not open yet. When they open, ChartOfAccounts.ai will read your own QuickBooks Online chart, give it a score, and propose a cleaner chart for you to review. Ask for early access, and we will email you an invite when they open.
- +A score out of 100, broken down by area
- +Findings sorted into what to fix first and what needs your judgment
- +A proposed chart, with a before-and-after view of each change
- +Read only: nothing is ever written to your QuickBooks