Industry · Construction · 12 min read

Bookkeeping for Construction Companies: Job Costing, WIP, and Retainage Explained

A construction company can be profitable on paper and cash-starved in reality at the same time — and the reason almost always traces back to bookkeeping that wasn't built for how construction actually bills and gets paid.

Most industries have a fairly direct relationship between doing work and getting paid for it. Construction doesn't. A project might run for eight months, bill in stages tied to completion milestones, have 10% of every payment withheld until final signoff, and require materials purchased weeks before the corresponding invoice goes out. Standard small-business bookkeeping — categorize transactions, reconcile the bank, produce a P&L — captures almost none of the detail that actually determines whether a contractor is making money on any given job.

Job costing: the foundation everything else depends on

Job costing means every cost — labor hours, materials, subcontractor invoices, equipment rental, even a portion of overhead — gets tagged to the specific project that incurred it, not just recorded as a general company expense. Without this, a construction company's P&L shows whether the business made money overall, but not which jobs were profitable and which quietly lost money, subsidized by the ones that did well. Given how thin margins typically run in construction, not knowing this project by project is one of the more expensive blind spots a contractor can have.

LaborHours tagged per job
MaterialsPurchases tagged per job
SubcontractorsInvoices tagged per job
EquipmentRental/usage per job

Work-in-progress (WIP) schedules: catching over- and under-billing

A WIP schedule is the tool that shows whether a contractor has billed more or less than the actual percentage of work completed on each active job — critical because both directions create real problems. Over-billing (collecting more than the work justifies) creates a liability that eventually has to be earned or refunded, and can mask a job that's actually losing money. Under-billing means cash is tied up in completed work that hasn't been invoiced yet, quietly straining cash flow even on profitable projects.

JobContract Value% CompleteBilled to DateStatus
Riverside Renovation$240,00060%$168,000Over-billed $24,000
Oak St. Build$580,00035%$145,000Under-billed $58,000
Maple Commercial$1,200,00080%$960,000On track

Without a maintained WIP schedule, this picture simply doesn't exist — a contractor sees cash in the bank and a general sense that jobs are "going fine," without visibility into which specific project is quietly draining working capital.

Retainage: money that isn't yours yet, even though you earned it

Retainage — typically 5-10% of each payment withheld by the client until project completion or a specified milestone — needs to sit in its own receivable account, separate from regular accounts receivable, because it behaves differently: it's earned but not yet collectible, often for months. Booking retainage as ordinary revenue the moment it's earned, without tracking it separately as held-back, makes a contractor's cash flow projections wrong in a very specific and recurring way — the same mistake, repeated on every project, compounding into a persistent gap between "profitable" and "solvent."

Why profitable contractors still run out of cash

The combination of the above explains a pattern that confuses a lot of contractors: the P&L says the company is profitable, but the bank account tells a different story. Materials get paid for upfront. Labor gets paid weekly regardless of billing cycles. Retainage sits uncollected for months. A client pays 45 days late on a stage billing. None of these show up as a problem on an accrual-basis P&L, which recognizes revenue when earned, not when cash actually arrives — which is exactly why construction bookkeeping needs a cash flow forecast working alongside the P&L, not instead of it.

Software that actually fits construction

QuickBooks Online can handle job costing reasonably well for smaller contractors using its Projects feature, tagging costs and invoices to individual jobs. Larger or more complex operations typically pair QuickBooks or Sage with a construction-specific platform — Procore, Buildertrend, or Foundation — that handles WIP scheduling, subcontractor compliance documents, and change orders natively, syncing financial data back to the accounting platform rather than replacing it.

Change orders: the paperwork gap that costs contractors real money

Change orders — client-approved modifications to scope, cost, or timeline after a contract is signed — are where a huge amount of construction profit quietly leaks away, not through bad work but through bad paperwork. Work performed on a verbal "yes, go ahead" from a client, without a signed change order and a corresponding adjustment to the job's budget and WIP figures, is real cost with no matching revenue recognized anywhere in the books until (if ever) it gets billed and collected. A disciplined bookkeeping process flags unbilled change order costs specifically, rather than letting them blend invisibly into a job's general cost pool, so a contractor can see exactly how much unbilled change order work is sitting out there at any given time — and chase it before it's forgotten.

Multi-entity and joint venture complexity

Larger contractors and those bidding joint ventures often operate through multiple legal entities — separate LLCs per major project, a bonding-related holding structure, or a joint venture entity shared with another contractor for a specific job. Each entity needs its own clean books, but leadership also needs a consolidated view across all of them to understand overall company performance. Getting this wrong either means duplicate, disconnected bookkeeping across entities that never gets reconciled against each other, or a single blended set of books that obscures which entity actually owes what to whom — both of which create real problems at tax time and in any bonding or lending relationship that depends on entity-level financials.

What to check before hiring a bookkeeper for construction

A bookkeeper who answers all five concretely, without needing the concepts explained to them first, has actually done construction bookkeeping before — as opposed to general small-business bookkeeping applied to a construction client and hoping the details don't matter. In this industry, they do.

Frequently asked questions

What is job costing in construction bookkeeping?

Tracking every cost — labor, materials, subcontractors, equipment — against the specific project that incurred it, rather than lumping costs into general company expenses. This shows profitability per job, not just company-wide.

What is a WIP schedule?

A work-in-progress schedule compares costs incurred and billings to date against total estimated cost and contract value for each active job, showing whether a project is over- or under-billed relative to actual completion.

What is retainage and how should it be recorded?

The portion of a contract payment (commonly 5-10%) withheld until completion. It should be tracked as a separate receivable, not counted as collected revenue, since it isn't paid until specific milestones are met.

Can QuickBooks handle construction job costing?

Yes for straightforward needs, using Projects/Classes features. Many mid-size and larger contractors pair it with construction-specific platforms like Procore, Buildertrend, or Foundation for more sophisticated WIP and job costing.

Why do profitable construction companies sometimes run out of cash?

Revenue recognized on paper doesn't always match when cash arrives — retainage withheld, slow-paying clients, and materials paid upfront before billing catches up all create cash timing gaps a simple P&L doesn't show.

Further reading and official resources

Get job costing and WIP set up properly, first month free

See real profitability per job before you commit to anything longer.

Claim Your Free MonthSee Full Service List