Industry

Bookkeeping for construction and contractors

Job costing, retainage, progress billing and work in progress, explained for contractors who need books their bonding agent and banker will accept.

The short answer

  • Contractor books are only useful when every dollar carries a job. Without job costing, a profitable quarter can hide two losing jobs.
  • Retainage held by the customer is a receivable, not a discount, and it should sit in its own account.
  • Progress billing creates over- and under-billings. The work in progress schedule is what turns that into real revenue.
  • Equipment purchases are assets; the deposit that shows up in your bank is not income.

Job costing is the whole game

Every material receipt, subcontractor invoice, labor hour and equipment charge should attach to a job. Once that is true, gross margin by job becomes the report that runs the business: which crews, which customers and which bid types actually make money.

  • Labor burden, not just wages, belongs in job cost
  • Subcontractor invoices need the job before they get paid
  • Materials bought for stock get allocated when they are used
  • Change orders get their own line so scope creep is visible

Retainage on both sides

Customers hold retainage from your invoices and you hold retainage from your subs. Both need separate accounts. When retainage sits inside regular accounts receivable, your aging report looks alarming and your collections calls go to the wrong people.

Work in progress and the percentage of completion

For jobs that cross month ends, revenue should be recognized on cost incurred against cost to complete. The WIP schedule shows costs to date, billings to date and the over- or under-billing. Bankers and bonding agents ask for it first.

Equipment, loans and the payment split

A truck or excavator loan payment is part interest, part principal. Booking the whole payment to an expense account overstates costs and understates the loan balance. We split every payment from the amortization schedule so the balance sheet stays true.

What LedgerDude does each month

We tie every cost to a job, reconcile retainage both ways, produce a WIP schedule, split loan payments and deliver a gross margin by job report with the close package.

Numbers worth watching

Each one is plain math you can check yourself.

NumberHow to figure itGood rangeWhy it matters
Gross margin by job(Job revenue − job cost) ÷ job revenue18–35% depending on tradeThe only reliable way to know which bids to repeat.
Labor burden rate(Wages + taxes + insurance + benefits) ÷ wages1.25–1.45×Bidding on bare wages is how contractors lose money on busy years.
Over/under billingBillings to date − earned revenueSlightly over-billedUnder-billing means you are financing your customer.
Backlog coverageSigned backlog ÷ average monthly revenue3–6 monthsTells you when to sell harder, months before the slowdown lands.

Typical results we see

Gross margin

24.8%

Median across the residential contractors we support

Labor burden

1.33×

Higher in states with heavy comp rates

Retainage held

5–10%

Typical on commercial work

Days sales outstanding

46 days

Excluding retainage

A $310,000 remodel job, closed out

Contract value including change orders
$310,000
Materials
$118,400
Subcontractors
$72,900
Field labor with 1.33× burden
$61,200
Equipment and dump fees
$8,700
Total job cost
$261,200
Gross profit
$48,800 (15.7%)

What this tells you: The bid assumed 24 percent. Two unpriced change orders ate 8 points. Pricing change orders at signing, not at closeout, recovers roughly $25,000 on a job this size.

What you see inside LedgerDude

Your numbers on one page, refreshed as your books are closed each month.

LedgerDude client dashboard showing monthly income, expenses, cash on hand and open questions
The client dashboard, updated as your books are closed each month.

Real example

Specialty trade contractor bidding blind

Where they started: Twelve open jobs, no job costing, and a bank asking for a WIP schedule before renewing the line of credit.

What we did: We rebuilt the chart of accounts around cost codes, back-coded nine months of transactions and produced a WIP schedule with over/under billing by job.

How it ended up: The line of credit renewed and two customer types were revealed as reliably unprofitable and dropped.

9

Months back-coded

+6.2 points

Margin improvement

Renewed

Credit line

How we set up your accounts

The accounts we build first for this kind of business, so reports read the way you think.

  • Income split by contract type: new construction, remodel, service, change orders
  • Cost of goods sold by cost code: materials, subs, labor, equipment, other
  • Retainage receivable and retainage payable as separate accounts
  • Equipment loans with interest split from principal
  • Over-billings and under-billings on the balance sheet

Questions people ask

Do contractors need job costing in QuickBooks?

Yes. Without costs assigned to jobs you can only see company-wide profit, which averages winners and losers together. QuickBooks Online supports projects and cost codes; the discipline is attaching every bill and hour when it happens.

How is retainage recorded?

Retainage receivable is its own asset account, separate from regular accounts receivable. Retainage you hold from subcontractors is a separate liability. Both clear when the job closes out.

What is a WIP schedule and who asks for it?

A work in progress schedule compares cost incurred and estimated cost with the amount billed on each open job. Bankers, sureties and CPAs use it to see whether reported profit is real.

Keep reading

Want your books handled for you?

We read your receipts, match your bank activity, and close your books every month. You get one short list of questions and a dashboard that always tells the truth.