
Five structural errors in a contractor's QuickBooks chart of accounts can make a profitable job look like a loss — or hide a real loss until the project closes. This post walks through each mistake on a $380,000 kitchen and primary suite remodel so you can see exactly how much margin distortion each one creates.
Why your chart of accounts is the root cause of distorted job margins
Most contractors set up QuickBooks once — usually in a hurry, copying the default chart of accounts — and never revisit the structure again. The default is designed for retail and service businesses. It was not built for job costing, retainage, work-in-progress (WIP) accounting, or the cost-layer complexity of a remodeling project.
According to NAHB Eye on Housing (full-year 2024), residential remodelers averaged a gross profit margin of 29.9% and a net profit margin of 6.3%. That 23.6-point gap between gross and net is overhead — and if your chart of accounts can't separate job costs from overhead costs, you cannot tell which projects are eating into that net margin and which ones are protecting it.
The five mistakes below are structural. They don't fix themselves when you enter more transactions. They require a deliberate rebuild of your account list — and that rebuild is worth doing before your next bid.
Mistake 1: one COGS account for all job costs
The default QuickBooks chart of accounts gives you a single "Cost of Goods Sold" line. Many contractors load everything into it — materials, labor, subcontractor invoices, equipment rentals, permits. The income statement balances. The bank reconciles. Nothing looks wrong.
But at the job level, you have no idea what drove the cost. On a $380,000 kitchen and primary suite remodel, the difference between a materials overrun and a subcontractor overrun is a completely different corrective action. You cannot find it in a single COGS account.
The fix is a five-class cost structure that mirrors how the National Association of Home Builders (NAHB) segments remodeling cost categories:
- 5000 · Materials — lumber, tile, fixtures, finishes
- 5100 · Labor — Direct — W-2 crew hours on the job
- 5200 · Labor Burden — payroll taxes, workers' comp, benefits allocated per hour
- 5300 · Subcontractors — electrical, plumbing, HVAC, tile subs
- 5400 · Equipment & Rentals — tools, scaffolding, dumpsters
- 5500 · Job Overhead Allocation — a calculated share of insurance, supervision, and vehicle costs
In QuickBooks Online Plus or Advanced, each of these becomes a parent account. Every bill, check, or payroll journal entry hits a child account under the right parent — and every transaction carries a Customer:Job tag so it rolls up to the correct project.
How should a remodeling contractor set up QuickBooks chart of accounts for job costing?
The answer starts with alignment to your estimate structure. If you bid a job using six cost categories, your chart of accounts needs six matching COGS accounts. Every dollar of actual cost should land in an account that has a corresponding estimate line — that is the only way QuickBooks can show you a true job cost variance.
For a remodeling company, the Construction Specifications Institute (CSI) MasterFormat divisions are the gold standard for cost categorization at the job level. You don't need all 50 divisions. You need the ones you actually use:
- Division 03 — Concrete (foundations, flatwork)
- Division 06 — Wood, Plastics, and Composites (framing, millwork)
- Division 09 — Finishes (drywall, paint, flooring, tile)
- Division 22 — Plumbing
- Division 23 — HVAC
- Division 26 — Electrical
Map these divisions to your QuickBooks sub-accounts under the 5300 · Subcontractors parent. Now every sub invoice lands in a division-specific account AND carries a job tag. Your job cost report becomes a real tool — not a summary that hides the detail.
| Cost Category | QuickBooks Account | $380K Remodel — Estimated | Common Coding Error |
|---|---|---|---|
| Materials | 5000 · Materials | $95,000 | Coded to generic COGS |
| Direct Labor | 5100 · Labor — Direct | $57,000 | Collapsed with burden into one payroll line |
| Labor Burden | 5200 · Labor Burden | $17,100 | Missing entirely — buried in G&A |
| Subcontractors | 5300 · Subcontractors | $76,000 | Coded as COGS or accounts payable with no job tag |
| Equipment & Rentals | 5400 · Equipment & Rentals | $11,400 | Coded to office expense or tools |
| Job Overhead Allocation | 5500 · Job Overhead | $19,000 | Never allocated — stays in G&A |
Mistake 2: missing retainage receivable contra account — and how to track it in QuickBooks Online
Retainage is money your client owes you that they are holding back until the project reaches substantial completion. On a $380,000 project at 10% retainage, that is $38,000 sitting in your client's account — not yours. If you book the full draw amount as income when you invoice, your QuickBooks income statement shows revenue you cannot spend yet.
This matters more in 2026 because retainage rules are tightening. California's Senate Bill 61, effective January 1, 2026, capped retainage at 5% on private construction contracts — a change that shifts cash timing for every California remodeler. Even at 5%, on a $380,000 job that is $19,000 of income that is not yet collectible.
The correct structure uses two accounts:
- 1200 · Accounts Receivable — Retainage (an asset account) — the amount withheld accumulates here as you invoice progress draws.
- 4900 · Retainage Earned — Contra Revenue (a contra revenue account) — this offsets the revenue recognized on each draw invoice, keeping your income statement honest.
When retainage is released at project close, you move the balance from 1200 to your standard accounts receivable and recognize the revenue. Without this structure, QuickBooks overstates your available revenue on every active project — and your gross margin percentage looks better than it is.
Mistake 3: owner draws coded as labor expense
This one is common in smaller remodeling shops where the owner also swings a hammer. The owner's time is real. The cost is real. But the accounting treatment matters enormously.
An owner draw — a distribution from the company to the owner — is not a labor expense. It does not belong in account 5100 · Labor — Direct. When it lands there, it inflates your job cost report, compresses your reported gross margin, and makes your labor efficiency metrics meaningless.
The correct treatment depends on entity type:
- S-Corp or C-Corp — pay the owner a reasonable W-2 salary. That salary flows through payroll and hits 5100 · Labor — Direct legitimately.
- LLC or Sole Proprietor — owner draws go to the owner's equity section (account 3000 · Owner's Draw). If the owner performs job-specific labor, use a journal entry to allocate a fair market wage to the job cost account with an offsetting entry to equity — do not use the payroll module for a non-payroll distribution.
According to the National Federation of Independent Business (NFIB) survey (May 2026), 14% of small business owners cite labor costs as their single most important business problem. Coding owner draws as labor makes that problem look worse than it is — and sends you chasing a phantom cost overrun.
What is the difference between COGS and job cost layers in QuickBooks for contractors?
Cost of goods sold (COGS) is a financial statement category — a bucket on your profit and loss (P&L) statement that sits between revenue and gross profit. Job cost layers are the sub-accounts inside that bucket, each one mapped to a specific cost type and tagged to a specific project.
The distinction matters for Mistake 4, which is about equipment depreciation. Depreciation is a non-cash expense that most remodeling contractors book once a year at the advice of their CPA. It lands in a general and administrative (G&A) expense account and never touches a job. That means every job's reported cost is understated by its fair share of the equipment that built it.
Mistake 4: equipment depreciation missing from job overhead allocation
Construction input prices jumped 9.6% year-over-year in May 2026, according to Associated Builders and Contractors (ABC) analysis of Bureau of Labor Statistics data. Copper wire and cable alone rose 24.2% in the same period. Equipment that cost $40,000 three years ago now costs $55,000 to replace — and that replacement cost is not in your job overhead allocation if you've never set one up.
The fix is a monthly journal entry that moves a calculated share of annual equipment depreciation from your G&A section into account 5500 · Job Overhead Allocation — then tags that entry across active jobs using a percentage-of-revenue or percentage-of-direct-labor allocation method.
On our $380,000 remodel example, if your company runs $1.8M in annual revenue and carries $90,000 in annual equipment depreciation, this job's fair share is approximately $19,000 — which is exactly what the table above shows in the Job Overhead Allocation row. Without that entry, the job's reported gross margin is overstated by roughly 5 points.
Mistake 5: no clearing account for subcontractor bills pending lien waivers
This is the mistake that creates legal exposure, not just accounting distortion. When a subcontractor submits an invoice, many contractors enter it directly into QuickBooks accounts payable (AP) and pay it on terms. If a lien waiver — the document the sub signs releasing lien rights in exchange for payment — was never collected, you have paid for work you cannot prove was lien-free.
The clearing account structure solves this. It works in three steps:
- Enter the subcontractor invoice to 2050 · Subcontractor Invoices — Pending Lien Waiver (a current liability clearing account) — not to AP.
- When the lien waiver is received and logged, move the bill from the clearing account to 2000 · Accounts Payable — now it is eligible for payment.
- Pay from AP on normal terms. The lien waiver is attached to the bill in QuickBooks before the check runs.
Without this structure, your AP aging report shows no distinction between invoices with and without lien waivers. On a $380,000 remodel with six subcontractors, that is six separate lien exposure points — and construction input costs rising 9.6% year-over-year (ABC, May 2026) mean sub invoices are larger than ever, which means the exposure is larger than ever.
This is exactly the kind of structural control that the team at Salisbury Bookkeeping builds into every remodeling client's QuickBooks setup. The clearing account is not optional — it is a lien protection control, and it belongs in your chart of accounts from day one.
A chart of accounts that can't show you margin by job, by cost layer, and by lien status isn't a bookkeeping system — it's a very organized way to stay confused.
The cumulative distortion: what all five mistakes cost on one job
Each mistake above creates a specific distortion on your QuickBooks job cost report. Here is what they add up to on a $380,000 kitchen and primary suite remodel, using the NAHB 2024 gross margin benchmark of 29.9% as the reference point:
| Mistake | Distortion Type | Estimated Margin Impact (% of job revenue) |
|---|---|---|
| Single COGS account | Hides cost-layer variance — overruns invisible | Unquantifiable until project closes |
| Missing retainage contra account | Overstates revenue — phantom income | +5% to +10% (depending on retainage rate) |
| Owner draws as labor | Inflates job cost — understates margin | Varies by draw amount; common to see 3–8% |
| Missing equipment depreciation | Understates job cost — overstates margin | ~5% on a $380K job at typical fleet size |
| No lien waiver clearing account | Legal exposure + AP aging distortion | Risk, not a margin number — until a lien hits |
The net effect: a remodeling company running all five mistakes simultaneously can show a 12–18 point gross margin overstatement on any given project — right up until the job closes, the retainage is collected, and the real numbers surface. By then, the bid for the next job has already gone out at the wrong rate.
This is why the fractional CFO service at Salisbury Bookkeeping starts every new engagement with a chart of accounts audit — not a P&L review. The P&L is only as accurate as the accounts feeding it. Fix the structure first, then read the reports.
Your next move
These are not abstract accounting principles. Each one of the five mistakes above produces a specific wrong number in your QuickBooks job cost report — a number you may be using right now to set your markup, evaluate your subs, or decide whether to hire another crew member. Fix the structure before the next project kicks off.
- Pull your current chart of accounts — in QuickBooks Online, go to Accounting > Chart of Accounts and export to a spreadsheet. Count how many COGS accounts you have. If it's fewer than four, you have Mistake 1.
- Check your retainage treatment — search for any open project with retainage held and trace how you invoiced the last draw. If the full draw amount hit revenue with no contra offset, you have Mistake 2.
- Run a payroll detail report by job — look for any distributions or draws coded to a labor expense account. If you find the owner's name in a job cost labor account, you have Mistake 3.
- Ask your CPA where depreciation lands — if the answer is "a G&A account at year-end," you have Mistake 4. Ask them to help you build a monthly allocation journal entry template.
- Audit your AP aging for lien waiver status — if your AP report shows no distinction between paid-with-waiver and paid-without-waiver, you have Mistake 5 and a legal exposure you cannot quantify from your books.
If you work through this list and the rebuild feels like more than your bookkeeper has bandwidth to handle, that is a normal finding. A chart of accounts rebuild on an active remodeling company takes 8–12 hours done correctly — and it touches every open job, every vendor relationship, and every payroll allocation method you currently use. It is worth doing right, once, with someone who has done it before.
Stop running your back office on screenshots and Slack pings.
Top Builder AI is six self-learning AI agents that plug into your ServiceTitan + QuickBooks — Booking & Dispatch that beat ServiceTitan's own AI, plus Financial, Inventory, Workforce & Documents it has no answer for. They get sharper every week on a leash (you approve every change), and the numbers stay locked — deterministic and audited. Built and installed by the developer who answers when you call — a direct line, not a ticket queue. Founding-25: a one-time $8,000 install locked for life, 30 days of free feature requests, board-ready or it's free.
From the team at Salisbury Bookkeeping — construction bookkeeping + fractional CFO for contractors. See how Salisbury Bookkeeping helps contractors like you →
Frequently Asked Questions
- How should a remodeling contractor set up QuickBooks chart of accounts for job costing?
- Use a minimum of five parent COGS accounts — Materials, Direct Labor, Labor Burden, Subcontractors, and Equipment/Rentals — plus a Job Overhead Allocation account. Every transaction should carry a Customer:Job tag so QuickBooks can produce a job-level cost report. Align your account numbers to your estimate line items so actual costs compare directly against the bid.
- What is the difference between COGS and job cost layers in QuickBooks for contractors?
- COGS is a single financial statement category on your profit and loss report. Job cost layers are the sub-accounts inside COGS — Materials, Labor, Subs, Equipment — that break down how the total cost was built. Without job cost layers, your P&L shows gross margin for the whole company but hides whether any individual project actually hit that margin.
- How do I track retainage receivable in QuickBooks Online for a remodeling project?
- Create two accounts: a current asset account (Accounts Receivable — Retainage) and a contra revenue account (Retainage Earned — Contra Revenue). When you invoice a progress draw, credit the retainage portion to the contra revenue account instead of income. When retainage is released at project close, move the balance to standard accounts receivable and recognize the revenue.
- Can I use QuickBooks Online Plus for contractor job costing, or do I need Advanced?
- QuickBooks Online Plus supports Customer:Job tracking, class tracking, and project profitability reports — enough for most remodeling companies under $3M in revenue. Advanced adds enhanced custom reporting and a dedicated account manager, which becomes useful when you're running 15 or more simultaneous jobs or need budget-vs-actual reports at the division level.
- Why does coding owner draws as labor expense distort job margins?
- Owner draws are equity distributions, not payroll. When they land in a labor expense account, they inflate job costs artificially — making your labor efficiency ratios look worse and your gross margin look lower than it actually is. The correct treatment is a credit to the Owner's Draw equity account, with a separate journal entry if you want to allocate a fair market labor value to a specific job.
- What is a subcontractor lien waiver clearing account in QuickBooks?
- It is a current liability account that holds subcontractor invoices until a signed lien waiver is received. Instead of coding the sub's bill directly to accounts payable, it goes to the clearing account first. When the lien waiver is collected and attached, the bill moves to accounts payable and becomes eligible for payment — creating a built-in control that prevents paying subs before lien rights are released.
- How does equipment depreciation affect job-level margins in QuickBooks?
- If depreciation is booked only as a year-end G&A entry, it never appears in a job cost report. That means every job's reported cost is understated by its proportional share of the equipment that built it, and gross margin is overstated by the same amount. The fix is a monthly journal entry that allocates a calculated share of annual depreciation to the Job Overhead Allocation account, tagged to active jobs by revenue or labor percentage.
- How often should a remodeling contractor review their QuickBooks chart of accounts structure?
- At minimum, once a year — ideally before the busy season begins. A chart of accounts audit should also happen any time you add a new service line, take on a significantly larger project type, change your labor model (adding subs you previously self-performed), or notice that your job cost reports no longer match what your project managers are tracking in the field.
