Your bookkeeper may be good.
They reconcile the bank. Vendors get paid. Invoices go out. Payroll hits on time. The file your outside advisors receive at year-end is cleaner than it used to be. None of that is small.
Construction eventually asks for more than bookkeeping.
The ask shows up as retainage you cannot forecast, cost codes that do not match the bid, and over- or under-billing that your banker notices before you do. That is where the job changes... not when someone invents a new title on a business card.
This article draws that line for contractors. It does not argue that your bookkeeper failed. It names the operating work that sits past bookkeeping, what a construction controller owns month to month, and what to do when you need that work without jumping straight to a full-time hire.
Bookkeeping answers a different question than controller work
Bookkeeping
Did the transactions get recorded completely and on time?
In construction that usually means AP, AR, bank recs, payroll entries, basic job tagging if you have it, and a clean enough general ledger that reports can be produced.
Controller work
Are the job inputs current, is billing tied to the work in place, and can you trust margin and cash decisions this month?
Same company. Different job. Plenty of firms need both. Confusing them is how owners stay on the books at 10pm after they already "hired help."
If you found this page while searching construction bookkeeping services, stay with the distinction. Bookkeeping services keep the ledger moving. Controller work keeps WIP, job cost, and pay apps honest enough to run the business.
The dividing line: retainage, cost codes, over- and under-billing
Generic "bookkeeper vs controller" tables talk about seniority, reporting, and strategy. Useful in a software company. Incomplete on a jobsite-driven P&L.
In construction, the job changes when these three become monthly operating work... not annual surprises.
1. Retainage
Ten percent (or whatever your contracts hold) is not a rounding error. It is cash that is contractually delayed, often across many jobs, with release rules that do not match your vendor payment timing.
Bookkeeping can record retainage receivable and payable correctly.
Controller work keeps a living view of what is held, what is eligible for release, what is stuck on punch list or paperwork, and how that shapes the next 13 weeks of cash. If nobody owns that, you will feel "profitable and broke" at the same time and blame the wrong report.
2. Cost codes
If the estimate used one structure and the field codes another, job cost is theater. Every month becomes a cleanup project. Margin conversations turn into archaeology.
Bookkeeping can post every invoice to a code.
Controller work makes the codes match how you bid and how you manage the job... change orders included... so a PM can sit with the job cost report and argue about the work, not about which bucket the invoice landed in. When cost codes are weak, hiring a "better bookkeeper" does not fix it. You need someone who treats coding as an operating system, not a data-entry preference.
3. Over-billing and under-billing
Billings versus cost and percent complete create over-billing (you have billed ahead of performance) and under-billing (you have performed ahead of billing). Bankers and sureties read those positions whether or not you have explained them to yourself.
Bookkeeping can post the invoices and the costs.
Controller work keeps percent complete and cost to complete current enough that over-/under-billing is explainable... with a reason, on a date... instead of a mystery plug after the fact. This is the same family of work as WIP inputs: the formulas are rarely the villain. Stale inputs are.
If retainage, cost codes, and over-/under-billing only get attention when someone outside the company asks, you are past pure bookkeeping... even if every transaction is posted.
What bookkeeper work looks like in a construction shop
When the shop is still in bookkeeping mode, a good month looks like this:
- Bills and invoices are entered promptly and tied to jobs at whatever coding standard you have today.
- The bank reconciles.
- Payroll and tax deposits are handled on schedule (by you, a payroll provider, or your bookkeeper... depending how you are set up).
- AR follow-up happens so open invoices do not silently age.
- The ledger is clean enough for your outside advisors to work from.
That is real work. It is necessary. It is not the same as owning WIP currency, pay-app readiness, and job-margin truth.
What controller work looks like each month (owner framing)
Strip the job-description language. As an owner, you should be able to point to a short monthly list:
WIP inputs, job by job. Percent complete and cost to complete refreshed with the people closest to the work. Changes noted. Schedule usable because inputs are current.
Job cost review with operating people. Variances against the bid and against last month. Change orders reflected. Fade visible early enough to matter.
Pay applications prepared for your approval. Quantities, stored materials, retainage, prior applications, and backup ready so you sign... you do not rebuild.
Over-/under-billing position you can explain. Not a lecture. A one-page story of where you are billed relative to performance and why.
A date that holds. The cadence is published. Exceptions are visible. Your designated responsible party still approves payments, vendor setups, and anything that commits the company.
If your current help delivers the first list and not the second, that is not a moral failure. It is a scope line. Construction crossed it.
Side-by-side without the org-chart fluff
| Operating question | Bookkeeper-heavy answer | Controller-level answer |
|---|---|---|
| Did the invoice get recorded? | Yes / on time | Also: did it hit the right job and cost code the way we bid? |
| Why is cash tight? | Check AR and the bank | Also: map retainage held, pay-app timing, and over-/under-billing |
| Is this job making money? | Look at job transactions posted | Reconcile cost to complete, change orders, and percent complete with the field |
| Can we send the pay app? | Pull the billing numbers | Build G702/G703-style support so it survives review the first time |
| Why doesn't WIP feel right? | Re-check the entries | Refresh stale inputs job by job; record why something changed |
No row in that table requires accusing your current staff. It requires naming who owns the second column.
"More than bookkeeping" does not automatically mean "hire full-time tomorrow"
Once you see the dividing line, the default advice is to hire a controller. Sometimes that is right. Often for contractors under $10M it is early.
You still need the second column done every month. You do not automatically need an FTE seat, a recruiter, and a six-month ramp while you remain the backup brain for every job.
The decision tree belongs in Should You Hire a Controller? A Decision Guide for Contractors Under $10M: when the full-time seat is right, when it is premature, and what still has to run either way.
If the upgrade you need is the work... not the employee headcount yet... look for construction controller capacity that runs a published cadence inside your own system. That is what BlueCollar Financial Operations is built for: construction controller services (and, for owners who still search the familiar phrase, bookkeeping services that actually reach job cost, WIP inputs, and pay apps)... without pretending a ledger-only bookkeeping shop and a construction controller are the same buy.
We prepare and review. You keep the signature, the mailbox, and the field. We perform no audit, review, or tax work. Your outside advisors stay in their lane with cleaner schedules to work from.
How to use this on Monday morning
- List who currently owns retainage tracking, cost-code quality, and over-/under-billing explanations. If the answer is "nobody" or "me at night," you have your gap.
- Separate transaction posting from WIP/pay-app ownership in one short written scorecard.
- Decide whether the next move is training/scope for current help, a full-time controller seat, or getting controller work run on a cadence without the premature hire.
- Do not solve a retainage-and-WIP problem by only buying more invoice entry.

