ACCURATE BOOKS. STILL NO ANSWERS.
A general accountant produces a correct profit and loss and a filed return, and neither document can tell you which job lost money or which week you run short. Construction finance needs job costing against the estimate, WIP, retention, and pay application timing. If your books are accurate and your business still doesn't make sense, this is why.
Nothing here is a criticism of general accountants, who do the work they're engaged to do correctly. The issue is that construction accounting is genuinely a specialty. Revenue is recognised on percentage of completion, costs have to be readable by job and by phase against an estimate that used different categories, 5 to 10 percent of every invoice is held as retention for months, and cash comes in 60 to 90 days after the labor was paid. A generalist codes by vendor and expense type because that's correct for almost every other industry, and the result is books that are accurate and unusable for running work.
WHAT EACH ONE DOES.
| Capability | Generic Accountant | Construction CFO |
|---|---|---|
| Files your tax return | Yes | No, we work alongside your CPA |
| Codes costs by job and phase | Not typically, by vendor and expense type | Yes, against your estimating assemblies |
| Produces a WIP schedule | Only if specifically engaged | Monthly, reviewed before it's used |
| Maintains a cash flow forecast | No | 13 weeks, rebuilt weekly |
| Sets your overhead rate for bidding | No | Recalculated from a rolling twelve months |
| Tracks retention as a collectible asset | Recorded, not pursued | Scheduled by job with the closeout documents required |
| Benchmarks your trade | No | 48 trades by revenue band |
| Meets monthly on decisions | Usually annual or quarterly | Monthly, ending in written to dos with dates |
| Answers what should I bid this at | No | Yes, from your own production history |
Keep your CPA. The two engagements do different work and a good construction CFO makes the tax engagement easier, because the books come in clean.
WHEN YOU NEED COMPLIANCE DONE RIGHT.
A general accountant or CPA is the right engagement for tax filing, entity structure, depreciation strategy, and the annual compliance work, and for most contractors that relationship should continue regardless of who runs the finance function. That work is specialised in its own direction and we don't do it.
Where it stops being enough is anything operational. A generalist isn't engaged to design your job cost structure, calculate your overhead rate against current volume, maintain a cash flow forecast, or review your WIP monthly, and expecting those from a tax engagement is a scope mismatch rather than a performance problem.
WHEN YOU NEED TO RUN THE WORK.
A construction CFO is what you need when the questions are operational: which of my jobs earn, what should I bid this at, can I fund payroll in nine weeks, how big a job can I safely take. Those all require a job cost structure built against how you estimate, and no tax engagement produces one.
The specific things that make this trade specific are worth calling out. Percentage of completion revenue, cost to complete by phase, retention tracked as a collectible asset, certified payroll on public work lining up with the job cost record, and pay application windows that decide whether an invoice waits 30 days or 90. A generalist has no reason to know any of it.
WHERE WE COME OUT.
Both, and not as a compromise. Keep the CPA for tax and compliance, because that work is specialised and we don't do it. Add the construction finance function for everything operational, because a tax engagement was never designed to tell you which job lost money. Contractors who try to get operational answers out of a compliance engagement usually conclude their accountant is underperforming, when the scope simply never included it.
The signal that you're in this position is specific: your books are accurate, your return is filed on time, and you still can't say what your last five jobs made or which week in the next quarter is tight. That combination isn't an accounting failure. It's a missing function.
