A construction chart of accounts has one job above all others: separate direct job costs from overhead so you can see which projects make money and which ones quietly bleed cash. It also needs to map every job to a job code and feed a monthly work-in-progress schedule, because without that link your financial statements and your actual job performance drift apart within a quarter.
Start today with two moves. First, adopt a block numbering scheme (more on that below) that groups accounts by type instead of scattering them alphabetically. Second, add a job segment or class to every transaction, even if you’re still using a basic bookkeeping setup.
- Assign every direct cost, labor, materials, subcontractors, and equipment, to a job code before it hits the ledger.
- Set up your WIP schedule structure now, even with three active jobs, because the habit matters more than the volume.
- Keep a sample chart of accounts on hand you can adapt rather than building one from scratch.
Key Takeaways
A construction chart of accounts works only when direct job costs are separated from overhead, mapped to job codes, and reconciled against a monthly WIP schedule.
| Point | Details |
|---|---|
| Separate direct costs from overhead | Use the 5000 block for direct job costs like labor, subs, and materials, to keep job costing clean. |
| Add construction-specific accounts | Set up dedicated AR/AP retainage, over/underbilling, and change order revenue accounts, not generic catch-alls. |
| Reconcile WIP monthly | Tie the WIP schedule to the general ledger every month with estimating and operations in the review. |
| Avoid over-segmentation | Use job segments or classes to track project detail instead of creating a new GL account per job. |
| Get professional setup support | Truemeasureaccounting builds and maintains construction chart of accounts structures as part of ongoing bookkeeping and fractional CFO engagements. |
Table of Contents
- What Does a Construction Chart of Accounts Do for Contractors?
- How Should You Number and Group Construction Accounts?
- How Do You Build and Reconcile a Monthly WIP Schedule?
- What Construction-Specific Accounts Belong on Your COA?
- What Does a Sample Construction Chart of Accounts Look Like?
- What Mistakes Should You Watch for When Setting Up Your COA?
- Why This Work Determines Your Actual Profit Picture
- Get Help Building a Construction Chart of Accounts That Works
- Sources
What Does a Construction Chart of Accounts Do for Contractors?
A generic chart of accounts tells you what you spent. A construction chart of accounts tells you what you spent, on which job, and whether that job is still profitable. That distinction determines whether your financial statements are a compliance document or an actual decision-making tool.
The account structure you choose becomes the backbone of every job-cost report, every bank or bonding submission, and every percentage-of-completion calculation you’ll ever run. If your COA lumps “materials” into one account across all jobs, you can’t isolate which project’s material costs ran over budget. If it separates direct costs by job and cost type, job costing becomes a byproduct of normal bookkeeping instead of a special project you dread every month.
That structure also determines how well you can support work in progress accounting, which reduces billing disputes, flags cost overruns while you can still fix them, and gives lenders and sureties something solid to evaluate when you need financing or a bond increase.
Here’s when WIP reporting becomes non-negotiable rather than optional:
- Any job lasting longer than one accounting period. If a project spans two or more months, you need WIP to recognize revenue accurately instead of waiting for job completion.
- Any job with progress billing. Once you’re invoicing against a schedule of values, you need WIP to know if you’re billing ahead of or behind actual work performed.
- Any contractor carrying bonded work or a line of credit. Sureties and banks expect WIP schedules as standard reporting, not a nice-to-have.
Ownership matters here. Someone, ideally your controller or a fractional CFO, should own the monthly WIP review, not whoever happens to be free. Project managers know the job. Finance knows the numbers. The review only works when both show up.
Pro Tip: *If you’re still deciding whether a job “needs” WIP, ask instead whether it will span more than one billing cycle. If yes, put it on WIP from day one.
How Should You Number and Group Construction Accounts?
Most construction accounting problems trace back to a numbering system that was never designed to scale. A block structure fixes that by reserving number ranges for each account type, so your reports roll up cleanly no matter how many jobs or subaccounts you add later.
A widely used convention runs like this:
| Block | Account type | Example accounts |
|---|---|---|
| 1000–1999 | Assets | Cash, accounts receivable, AR retainage, costs in excess of billings |
| 2000–2999 | Liabilities | Accounts payable, AP retainage, billings in excess of costs |
| 3000–3999 | Equity | Owner’s equity, retained earnings |
| 4000–4999 | Revenue | Contract revenue, change order revenue |
| 5000–5999 | Cost of goods sold (direct job costs) | Direct labor, subcontractors, materials, equipment rental |
| 6000–6999 | Operating expenses (overhead) | Office rent, admin salaries, insurance, marketing |
Within the 5000 block, keep your account names specific enough to mean something on a job cost report but not so granular that every purchase order needs a new GL line. “Direct labor,” “subcontractor costs,” “materials,” and “equipment rental” cover most contractors’ direct cost categories without turning the chart of accounts into a maze.
A few rules of thumb keep this manageable as you grow:
- Add a new GL account only when the cost type genuinely behaves differently in reporting (e.g., equipment rental vs. equipment fuel).
- Use job segments, classes, or tags to slice the same account by project instead of creating “Materials – Job 101” as a separate account.
- Keep your COGS accounts fewer than 15 to 20 line items; if you need more detail, that detail almost always belongs in job costing, not the general ledger.
- Mirror your estimating categories in your COGS structure so budget-to-actual comparisons don’t require a translation step.
This is also where understanding the basic building blocks of a chart of accounts pays off if you’re setting one up for the first time, since the construction-specific layer sits on top of the same fundamentals every service business uses.
How Do You Build and Reconcile a Monthly WIP Schedule?
The WIP schedule turns your chart of accounts into a live profitability tracker instead of a static list. It works by comparing what you’ve spent against what you expect to spend, then translating that into how much revenue you’ve actually earned versus what you’ve billed.

The standard method almost every contractor and CPA defaults to is cost-to-cost: costs incurred divided by total estimated cost gives you the percent complete. Alternatives like units-complete or cost-to-finish exist for specialty cases, but cost-to-cost is what sureties expect to see unless a job’s nature genuinely calls for something else.
Here’s the calculation walkthrough:
- Percent complete = costs incurred to date ÷ total estimated costs.
- Earned revenue = percent complete × total contract value.
- Over/underbilling = earned revenue minus billings to date. A positive number means you’ve underbilled (you’ve earned more than you’ve invoiced); a negative number means you’ve overbilled.
Your WIP schedule needs specific columns to function as a real control: contract value, estimated total cost, costs to date, percent complete, earned revenue, billings to date, and the resulting over/underbilling figure for every active job.
Reconciliation is where most WIP schedules quietly fall apart. If the WIP doesn’t tie to your general ledger, the problem usually lives in how costs are posted or how the schedule of values was built, not in the WIP math itself.
A 60 minute monthly WIP meeting with estimating, operations, and finance in the room catches profit fade before it shows up in your financials. For each job, walk through last month’s estimated cost versus this month’s, any pending change orders, and whether billing pace matches percent complete. Assign one owner to every unresolved item before the meeting ends.
Skip this discipline and you’ll find out about a losing job when the bank statement tells you, not when the numbers could have warned you.
What Construction-Specific Accounts Belong on Your COA?
Standard chart of accounts templates weren’t built for contract retainage, progress billing, or change orders. You need to add specific accounts to handle each one correctly, or your balance sheet will misstate your actual financial position.
Retainage needs its own dedicated line, both on the asset side (AR retainage, money owed to you that’s being withheld) and the liability side (AP retainage, money you’re withholding from subs). Both belong on the balance sheet as separate line items, not buried inside regular receivables and payables where they distort your true liquidity picture. A full retainage accounting walkthrough covers the entry-level detail if you’re setting this up for the first time.
Billings in excess of costs (overbilling) and costs in excess of billings (underbilling) each need their own GL account. Overbilling sits on the liability side of your balance sheet because it represents work you’re obligated to complete. Underbilling sits on the asset side because it’s revenue you’ve earned but haven’t invoiced yet. Getting these backward, which happens more than you’d think, makes your balance sheet lie about your cash position.
Change order revenue should post to its own revenue subaccount, and the underlying contract value should update the moment a change order is approved, not when it’s finally invoiced. Waiting to update contract value until billing time is the single most common reason WIP schedules and actual job profitability disagree.
WIP clearing accounts exist to move earned-but-unbilled revenue on and off the balance sheet cleanly each month. These control accounts should reconcile to zero, or to a known, explainable balance, every single month.
- Retainage: separate AR and AP lines, never merged into standard receivables/payables.
- Overbilling and underbilling: distinct accounts, correctly classified as liability and asset respectively.
- Change orders: their own revenue subaccount, updated at approval, not at invoicing.
- WIP clearing accounts: reconciled monthly against your job cost reports.
Pro Tip: Run a quick gut check every month: does your WIP overbilling total roughly match the cash cushion you’re carrying? If overbilling is high but your bank balance is low, someone’s spending that “billed ahead” cash before the work catches up to it.
What Does a Sample Construction Chart of Accounts Look Like?
A usable chart of accounts import file needs three columns at minimum: account number, account name, and a flag for whether that account requires job-level tracking. Here’s a compact starter layout you can adapt directly.
Once you import a template into QuickBooks or a similar system, vendor-provided COA templates get you started fast but almost always need cleanup afterward. Payroll mapping and job codes are the two spots that break most often after import.
Run these checks before you trust the new structure:
- Post one test transaction per major cost type (a labor entry, a material purchase, a sub invoice) and confirm it lands in the right account and job.
- Verify payroll burden allocates correctly to direct labor rather than dumping into overhead by default.
- Confirm retainage entries flow to the correct balance sheet lines, not into standard AR or AP.
- Run a job cost report immediately after import and compare it against your prior system’s numbers for the same job.
A five-person residential remodeler needs far fewer accounts than a commercial general contractor running six concurrent bonded jobs. Scale your COA by adding job segments and reporting dimensions before you add new GL accounts, that’s the lever that keeps the chart manageable as you grow from one crew to five.
What Mistakes Should You Watch for When Setting Up Your COA?
Over-segmentation is the most common failure we see: contractors create a new GL account for every job instead of using job codes, and within a year they’re managing 400 accounts nobody can reconcile. The fix is collapsing job-specific accounts back into standard cost types and letting job segments carry the detail.
Unmapped payroll during a QuickBooks cleanup is the second-biggest issue. Labor burden lands in overhead by default unless someone manually routes it to direct job costs, which quietly understates every job’s true labor cost.
Stale job estimates round out the top three. If estimating updates a budget but nobody updates the WIP schedule’s estimated total cost, your percent-complete calculation is comparing today’s spending against yesterday’s plan.
- Over-segmentation: consolidate accounts, push detail into job segments instead.
- Unmapped payroll burden: confirm burden routes to direct labor, not overhead.
- Stale estimates: sync WIP estimated costs with estimating’s live numbers monthly.
Pro Tip: During a cleanup, pull a trial balance before and after remapping payroll. If direct labor jumps and overhead drops, you just found money that was hiding your real job margins.
Why This Work Determines Your Actual Profit Picture
Cleaning up a chart of accounts sounds like bookkeeping housekeeping until you watch it change what an owner actually knows about their business. Once job costs are mapped correctly and WIP ties to the general ledger, profit fade shows up in month two instead of at job closeout, when there’s nothing left to do but absorb the loss.
If your current setup can’t answer “which job made money last month” in under five minutes, that’s the signal to fix the structure before you fix anything else. Reach out for a chart of accounts review if you want a second set of eyes on yours.
— Tony
Get Help Building a Construction Chart of Accounts That Works
Setting up the account structure is one thing. Keeping it clean every month, with payroll mapped correctly, retainage tracked, and WIP reconciled, is a different job entirely, and it’s the one most contractors fall behind on within two or three months of doing it themselves.
Truemeasureaccounting builds and maintains construction-specific charts of accounts as part of ongoing bookkeeping services for contractors, so your WIP schedule stays reconciled instead of becoming a quarterly scramble. We also handle QuickBooks cleanup projects for contractors whose current chart of accounts has grown unwieldy, mapping payroll, job codes, and retainage correctly the first time instead of leaving gaps for next year’s tax season to expose. For contractors who’ve outgrown basic bookkeeping but aren’t ready for a full-time controller, our fractional CFO work adds the monthly WIP review and job profitability analysis that turns your account structure into an actual decision-making tool.
If your chart of accounts can’t currently tell you which jobs are profitable, reach out for a review and we’ll show you what’s fixable and what a clean setup would look like for your business.
Sources
For deeper detail beyond this guide, see the AICPA’s WIP schedule guidance, Procore’s WIP accounting overview, and CivilCFO’s overbilling and underbilling explainer.
- Work-in-progress (WIP) accounting: What is it and why is it important? | Procore
- WIP Schedule Explained: Overbilling, Underbilling | CivilCFO
- Work in progress (WIP) construction accounting | Deltek







