Construction Chart of Accounts for Bonding and WIP Reporting
Set up your construction chart of accounts to support bonding requirements, WIP schedules, retainage tracking, and job costing. A complete guide for general contractors.
If you're a general contractor applying for bonding, your surety company wants one thing: a clean Work-in-Progress (WIP) schedule. And a WIP schedule depends entirely on having the right accounts in your chart of accounts.
Most contractors we work with have a chart that makes it impossible to produce a reliable WIP report. The accounts are too generic, retainage isn't tracked separately, and direct job costs are mixed with overhead. This guide shows you how to fix that.
The Accounts Your Bonding Company Needs to See
A bonding company evaluates your financial health through three lenses:
- Work in Progress (WIP) — Are your jobs overbilled or underbilled?
- Job costing accuracy — Do you know your cost-to-complete on every open job?
- Financial ratios — Working capital, current ratio, debt-to-equity
Your chart of accounts must support all three. Here are the critical accounts:
WIP Accounts
| Account | Number | Type | Purpose | |---------|--------|------|---------| | Work in Progress (Unbilled) | 1220 | Asset | Costs incurred but not yet billed — the underbilling side | | Billings in Excess of Costs | 2310 | Liability | Amounts billed ahead of work performed — the overbilling side |
These two accounts are the foundation of your WIP schedule. Without them, your bonding company can't assess your exposure.
Retainage Accounts
| Account | Number | Type | Purpose | |---------|--------|------|---------| | Retention Receivable | 1210 | Asset | 5-10% withheld by GC/owner until project completion | | Retention Payable | 2020 | Liability | 5-10% you're holding from your subcontractors |
Retainage must be tracked separately from regular receivables and payables. Commingling them makes your balance sheet unreliable.
Job Cost Categories (COGS)
Your direct job costs should be broken into categories that match your estimating system:
- Direct Labor (5000) — field crew wages tied to specific jobs
- Materials (5100) — lumber, concrete, electrical, plumbing materials by type
- Subcontractor Costs (5200) — payments to subs, tracked by trade
- Equipment Rental (5300) — rented equipment charged to jobs
- Permits & Fees (5400) — building permits, inspection fees
- Job Insurance (5500) — builders risk, project-specific insurance
Certified Payroll
For prevailing wage or Davis-Bacon jobs, you need separate accounts:
- Certified Payroll Labor (5041) — wages at prevailing rates
- Certified Payroll Fringe Benefits (5042) — required fringe on prevailing wage work
These must be trackable separately for compliance reporting.
Percentage-of-Completion vs Completed-Contract
Your chart of accounts needs to support whichever revenue recognition method your CPA requires:
Percentage-of-completion (most bonding companies prefer this):
- Revenue recognized based on costs incurred vs estimated total costs
- Requires accurate cost-to-complete estimates
- WIP accounts (1220, 2310) are essential
Completed-contract:
- Revenue recognized only when the project is substantially complete
- Simpler but can distort financial statements for long projects
Ask your CPA and surety which method they expect. The chart structure is the same — the difference is in how revenue is recognized.
Overhead vs Direct Costs
Keep overhead expenses separate from direct job costs. Your bonding company will calculate your overhead rate:
Direct (COGS 5000-5999): Labor, materials, subs, equipment — costs you can tie to a specific job
Overhead (Expenses 6000-6999): Office rent, admin salaries, insurance, vehicles, professional fees — costs that support all jobs but aren't tied to one
A healthy overhead rate for a GC is typically 10-20% of revenue. If yours is higher, your chart might be misclassifying direct costs as overhead.
Get Started
Our construction chart of accounts template includes all WIP accounts, retainage tracking, job cost categories, and certified payroll structure — ready to import into QuickBooks in 60 seconds.