Job Costing First: Construction Chart of Accounts with ERP Mapping

A construction chart of accounts has to do one job above everything else: connect every dollar spent to a specific job, phase, and cost code, while keeping retainage, work-in-progress, and overbilling separate from the rest of the general ledger. Get that structure right and job costing, WIP schedules, and financial statements all pull from the same clean data. Start by grabbing a sample layout and mapping your cost codes to it before you touch anything else in your books.
TL;DR:
- Properly linking every dollar to specific jobs, phases, and cost codes ensures accurate job costing and WIP reporting, with dedicated accounts for retainage and overbilling.
- Asset and liability accounts must include separate retainage receivable and payable, along with specific WIP accounts labeled for excess billing or earned but unbilled revenue.
- Using a job and cost code dimension system prevents account explosion, allowing scalable, consistent record-keeping across multiple projects.
- Maintaining discipline through monthly reconciliation of WIP, open receivables, payables, and budget tracking is critical to sustaining accurate job-level profitability data.
- An integrated ERP system automates account mapping and enforces data consistency, reducing manual errors and speeding up monthly WIP close processes.
Table of Contents
- Essential accounts every construction COA needs
- How WIP, retainage, and ASC 606 shape your accounts
- Setting up account numbers and cost-code segments
- Keeping the chart of accounts accurate month over month
- A sample layout you can adapt to your company
- How an integrated ERP keeps your COA and job costs aligned
- What I’d check first on any construction COA cleanup
- Get your chart of accounts and job costing working together
- FAQ
- Sources
Essential accounts every construction COA needs
A construction chart of accounts needs more precision than a standard small-business template because every account has to eventually roll up into job-level profitability. The five groups below are the backbone.
Assets need to separate operating cash from job-specific receivables. Beyond standard cash and accounts receivable, you need a Retainage Receivable account and a WIP asset account often labeled “Costs and Estimated Earnings in Excess of Billings.” These are not optional line items. They are what a bank or surety looks for first when assessing your financial position, according to CFMA’s guidance on reading a WIP schedule.
Liabilities mirror the asset side. You need Accounts Payable, a dedicated Retainage Payable account, and a liability account for “Billings in Excess of Costs and Estimated Earnings,” which captures overbilled positions.
Equity stays close to standard structure: owner’s equity or retained earnings, with draws or distributions tracked separately if the entity is a pass-through.
Revenue and COGS need to break out by cost type, not just lump into “cost of goods sold.” At minimum, separate:
- Contract revenue earned (tied to percent-complete calculations)
- Direct labor costs by job
- Materials and equipment costs by job
- Subcontractor costs by job
Overhead accounts cover general and administrative costs that do not attach to a specific job: office rent, admin salaries, insurance, and professional fees. Many contractors also build an overhead allocation account that distributes a portion of G&A costs across active jobs for more accurate job-level margin reporting.
The naming convention matters here as much as the structure. “Direct Labor, Job 1042, Framing” tells you more at a glance than “Labor Expense,” and it is the naming pattern that lets a construction-specific chart of accounts actually support job costing instead of just satisfying a tax preparer.
How WIP, retainage, and ASC 606 shape your accounts
Work-in-progress accounting is where most construction charts of accounts fall apart, usually because the underlying GL was not built to support the percent-complete method in the first place.
The standard calculation uses cost-to-cost: percent complete equals costs incurred to date divided by total estimated costs for the job, a method confirmed as the industry standard by guidance on FASB’s contract asset and liability rules. Multiply percent complete by total contract value to get earned revenue. Compare earned revenue to billed-to-date, and the variance tells you whether you are overbilled or underbilled on that job.
That variance needs its own home in the GL, not a manual spreadsheet adjustment at quarter-end. Three accounts carry the weight:
- Costs and Estimated Earnings in Excess of Billings (an asset, for underbilled positions)
- Billings in Excess of Costs and Estimated Earnings (a liability, for overbilled positions)
- Retainage Receivable and Retainage Payable (tracked separately from standard AR and AP)
Retainage gets its own accounts because lumping it into general AR and AP distorts your aging reports and cash flow visibility, a point practitioner guidance on contract assets and liabilities under ASC 606 makes directly: dedicated accounts like Retainage Receivable and Retainage Payable keep aging accurate and make reconciliation to contract assets and liabilities straightforward for sureties and lenders.
The WIP schedule is the earliest warning system you have for job profitability, according to CFMA’s practitioner guidance, which recommends a three-line monthly check: percent complete, estimated margin, and billing position. Run that check every month, not every quarter, and margin fade shows up while you can still do something about it.
A typical journal entry for recognizing earned revenue on an underbilled job debits the WIP asset account and credits contract revenue for the variance between earned revenue and billed-to-date. For an overbilled job, you credit the WIP liability account instead. The mechanics are explained in more depth in our walkthrough of construction revenue recognition.

Setting up account numbers and cost-code segments
A numbering scheme keeps your chart of accounts predictable as it grows, and it matters more in construction than in most industries because you are layering job-level detail on top of standard GL structure.
A common scheme uses number ranges by account type: 1000 to 1999 for assets, 2000 to 2999 for liabilities, 3000 to 3999 for equity, 4000 to 4999 for revenue, 5000 to 5999 for direct costs, and 6000 to 6999 for overhead. Within each range, leave gaps (1010, 1020, 1030) so you can insert new accounts later without renumbering everything.
The bigger decision is what belongs in the GL as its own account versus what belongs as a segment or dimension attached to a transaction.
- Job number, cost code, and phase should be dimensions, not separate GL accounts, or your chart of accounts will balloon into thousands of lines.
- Use a new GL account only when the account type itself changes (a new liability class, a new revenue category), not when you add a new job.
- Keep a master cost code list that every job uses, so “Framing Labor” means the same thing on every project.
- Document naming conventions in one place and update it whenever you add an account, so the next bookkeeper does not invent a parallel structure.
This separation is what practitioner commentary on retainage guidance means when it stresses designing a chart of accounts around operational KPIs instead of just tax filing: dimensions keep the GL lean while still producing job-level detail.
Keeping the chart of accounts accurate month over month
A chart of accounts is only as good as the discipline behind maintaining it, and construction firms that skip monthly routines usually discover problems during tax season instead of when they could still fix them.
- Reconcile the GL’s WIP accounts against the actual WIP schedule every month, not every quarter.
- Review open accounts payable and accounts receivable aging alongside retainage balances to catch misclassified entries.
- Compare purchase orders against committed costs to catch jobs trending over budget before they close out.
- Run a change-control step before adding or retiring any GL account, so the chart does not drift into duplicate or inconsistent entries.
- Flag red flags immediately: margin fade between reporting periods, overbilling that does not reconcile to actual progress, or retainage treated inconsistently across jobs.
A properly maintained chart of accounts enables KPIs that a generic bookkeeping setup cannot produce, including days sales outstanding and job-level gross margin, metrics that matter just as much for trade contractors tracking profitability KPIs as they do for general contractors.
Pro Tip: Put the monthly WIP reconciliation on the same calendar day every month, tied to your billing cycle, so it never slides to “whenever we get to it.”
A sample layout you can adapt to your company
A compact sample chart of accounts gives you a starting point, but every construction firm needs to adjust it based on company size, contract type, and how many active jobs run at once.
| Account number | Account name | Type |
|---|---|---|
| 1010 | Cash, Operating | Asset |
| 1000 to 1999 | Accounts Receivable | Asset |
| 1000 to 1999 | Retainage Receivable | Asset |
| 1000 to 1999 | Costs/Earnings in Excess of Billings (WIP) | Asset |
| 2000 to 2999 | Accounts Payable | Liability |
| 2000 to 2999 | Retainage Payable | Liability |
| 2000 to 2999 | Billings in Excess of Costs/Earnings (WIP) | Liability |
| 4000 | Contract Revenue Earned | Revenue |
| 5000 to 5999 | Direct Labor | COGS |
| 5000 to 5999 | Materials | COGS |
| 5000 to 5999 | Subcontractor Costs | COGS |
| 6000 to 6999 | G&A Overhead | Overhead |
Map each COGS account to your job cost codes as a dimension rather than creating new GL lines per job. When you import this into accounting software, populate the account type, normal balance, and a tax mapping field if your software uses one, and confirm that your job and cost code dimensions carry through to reporting, a step covered in more detail in our guide to live job cost dashboards.
- Smaller residential contractors can often run with fewer cost code subdivisions than commercial or infrastructure firms.
- Commercial and infrastructure contracts typically need more granular phase tracking because of longer durations and multiple subcontractor tiers.
- Review the sample layout against your actual contract types before finalizing, not after your first WIP run.
How an integrated ERP keeps your COA and job costs aligned
Keeping a construction chart of accounts accurate by hand means re-entering the same job and cost code data across spreadsheets, your accounting software, and whatever your field team uses to track hours and materials. Every re-entry is a chance for a cost code to get mapped wrong.
An AI-native ERP that combines accounting, job costing, and field operations in one system enforces account mapping automatically: a cost entered in the field attaches to the right job, cost code, and GL account the first time, with no second entry required.
Contractors report a large reduction in manual data entry and significant monthly savings, with typical implementation running a few weeks and high user adoption rates.
That consistency is what makes a faster monthly WIP close possible, since the reconciliation step described earlier in this guide starts from numbers that already match.
What I’d check first on any construction COA cleanup
Most chart of accounts problems trace back to one habit: treating the GL as a tax document instead of a job-costing tool. Here is the 90-day fix I give people starting from scratch.
Weeks 1 to 2: inventory every existing account and flag duplicates or vague names. Weeks 3 to 6: map every cost code to a GL account and a job dimension. Weeks 7 to 10: run your first full WIP cycle and reconcile it against the three-line check. Weeks 11 to 13: document the governance process so the next person who touches the chart does not undo the work.
The most common pitfall is lumping retainage into regular AR and AP, which quietly wrecks your aging reports for months before anyone notices.
— Keith
Get your chart of accounts and job costing working together
Building a clean construction chart of accounts is only half the job. Keeping it accurate every month, across every job, is where most firms lose the thread. Our Construction ERP ties your GL directly to job cost codes and WIP data as field entries happen, so the mapping holds without a monthly cleanup project.

Check current pricing and plans to see which setup fits your team size and how quickly you could get your WIP close running on live numbers instead of spreadsheets.
FAQ
How do I set up a chart of accounts for a construction company?
Start with standard asset, liability, equity, revenue, and overhead accounts, then add construction-specific accounts for retainage receivable and payable, plus WIP asset and liability accounts for over and underbilling. Map your job cost codes as dimensions attached to transactions rather than creating a new GL account for every job.
What are the five basic chart of accounts categories?
The five core categories are assets, liabilities, equity, revenue, and expenses, with expenses in construction typically split into direct job costs and overhead. Construction firms add retainage and WIP accounts within the asset and liability categories to support percent-complete accounting.
What are the typical accounting entries for a construction company?
Common entries include recording direct costs by job and cost code, recognizing earned revenue based on the cost-to-cost percent-complete method, and adjusting WIP asset or liability accounts for the variance between earned revenue and billed-to-date, a method confirmed in FASB guidance for contractors. Retainage entries post to dedicated receivable and payable accounts rather than standard AR and AP.
How do you account for construction costs?
Direct costs like labor, materials, and subcontractor charges post to job-specific cost codes that roll up into COGS accounts on the income statement. Overhead costs that do not attach to a specific job post separately and may be allocated across active jobs for more accurate job-level margin reporting.
Sources
- Contract assets & liabilities within ASC Topic 606: construction industry
- FASB clarifies accounting for contract assets and liabilities for construction contractors
- How to actually read a WIP schedule
