By Daniel Jahn, CPA — Contractor’s Ledger
Client details have been anonymized. Revenue figures and timelines are approximate.
The Contractor: $3.2M annual revenue plumbing contractor, 14 employees, residential service and repair plus commercial tenant improvement work in the Mid-Atlantic region.
The Challenge: Books closed 45–60 days late every month. Owner had no visibility into job profitability. Retainage from two large commercial jobs had been sitting uncollected for over a year. Tax surprise of $38,000 in an unexpected payment.
The Outcome: Monthly close cycle reduced to 7 days. Collected $87,000 in overdue retainage within 60 days of engagement. Identified $22,000 per year in legitimate tax deductions being missed. Job costing revealed which work types were actually profitable.
The Situation
This plumbing contractor had been in business for nine years. Their residential service and repair division was their foundation — reliable, recurring revenue from a customer base they’d built through word of mouth. Over the past three years, they’d also been expanding into commercial tenant improvement work, which offered larger project values but a different financial profile.
Their bookkeeper was the owner’s spouse, who had taken on the accounting responsibilities when the business started. She was organized, conscientious, and had done a reasonable job managing the books when the business was simpler. But as the commercial work grew and the financial complexity increased, the monthly close kept getting pushed back.
By the time we were introduced to this client, they were closing their books 45–60 days after each month end. The January financials weren’t ready until mid-March. They’d had a $38,000 unexpected tax payment the prior year because their quarterly estimates hadn’t kept pace with their income. And two commercial jobs completed 14 and 16 months earlier still had retainage sitting in receivables — the owner knew about it but didn’t have the time or documentation to pursue it.
What We Found
No job costing. All revenue and costs went to company-level accounts. The owner had a general sense of which types of work were “better” but no data to back it up.
Retainage not tracked separately. The $87,000 in uncollected retainage from the two completed jobs was buried in their accounts receivable aging. The AR balance looked large but much of it was either retainage or aged receivables the owner hadn’t reviewed.
No tax planning. Quarterly estimated tax payments were calculated based on the prior year’s income. As the business grew, the prior year was an increasingly poor guide. By year-end, they owed significantly more than they’d been paying in.
Two missing deduction categories. In our initial review, we identified that the home office deduction hadn’t been claimed (the owner managed the business from a dedicated home office) and that vehicle mileage for service calls was being tracked inconsistently, resulting in approximately $22,000 in legitimate annual deductions being missed.
Slow close causing real problems. With financials arriving 6–8 weeks late, the owner had no current data for business decisions. Equipment purchases were being made on gut feel. The commercial backlog was growing but its profitability was unknown.
The Engagement
Immediate Priority: Retainage Collection
Within the first two weeks, we pulled the complete AR aging and identified the two commercial contracts with outstanding retainage. We documented the project completion dates, the retainage amounts, and the applicable contract terms.
Both retainage amounts were past their release dates under the contract terms. We prepared demand letters with the supporting documentation. One was paid within 30 days. The second required two follow-up contacts and a phone call with the GC’s AP department but was collected within 60 days.
Total collected: $87,000 within 60 days of engagement start.
Infrastructure: Chart of Accounts and Job Costing
We restructured the chart of accounts for construction accounting:
Revenue accounts:
- Residential service and repair
- Residential fixture and remodel
- Commercial TI — plumbing
- Commercial TI — mechanical
- Maintenance agreements (recurring)
Cost accounts by type:
- Labor (direct job labor separate from overhead/admin)
- Materials (by category: pipe, fixtures, valves/fittings, other)
- Subcontractors
- Equipment (owned and rented)
Job costing setup:
- Each active project assigned a job number
- All costs allocated to the job at time of entry
- Monthly job cost reports showing budget vs. actual by project
This setup took three weeks to implement, including cleaning up historical data.
Monthly Close Process
We moved the close cycle from “whenever it gets done” to a defined 7-business-day close. By the 7th of each month:
- All bank and credit card accounts reconciled
- All AP and AR updated and aged
- Job costs allocated and reviewed
- Financial statements prepared and delivered
The first close under the new process took 10 days. The second took 8. By month three, we were consistently at 7.
Tax Planning
We implemented quarterly tax planning reviews. Each quarter, we projected year-end income based on actual results to date, updated estimated payments accordingly, and reviewed any significant decisions (equipment purchases, distributions) with tax implications.
We also corrected the home office deduction and implemented a consistent vehicle mileage tracking process for service technicians using a simple mobile app.
Combined impact of corrected deductions: approximately $22,000 per year in previously unclaimed deductions, representing roughly $7,700 in annual tax savings at their effective rate.
What the Job Costing Revealed
Within 60 days of implementing job costing, the data told a clear story:
Residential service and repair: 41% average gross margin. Strong performers — the technicians had the trade knowledge and the work was efficient.
Commercial TI plumbing: 19% average gross margin. Adequate, but the owner had been mentally pricing this work at 25%+ margin. The data showed he was consistently underbidding labor costs on larger commercial scopes.
The reason: Commercial TI projects took longer to complete than estimated, primarily because of coordination delays with other trades. Labor hours were running 12–18% over estimate on three of the four commercial projects reviewed.
Armed with this data, the owner adjusted his commercial estimating to include a coordination buffer — essentially adding 15% to his labor estimate on commercial TI work. His first two jobs bid under the new approach came in at 23% and 26% gross margin, substantially better than his historical average.
What the Owner Said
“The retainage alone paid for a year of accounting fees. But the bigger thing for me was finally knowing my numbers. I’ve been running this business for nine years and I never actually knew whether the commercial work was as profitable as the service work. Turns out it wasn’t — not the way I was bidding it.”
Is This Your Situation?
If your books are consistently late, you’ve got receivables sitting uncollected, or you’re not sure which of your work types is actually profitable — these are solvable problems.
Get your free financial review →
Related Resources: