Case studies

What clean books actually changed

Each story follows the same shape: what was broken, what we fixed, and what the owner could finally see. The numbers below are typical of this work, not audited results.

restaurants and food trucks

Food truck group with three trucks and no inventory process

Before

Three trucks shared one bank account. Sales were booked from deposits, so card fees were hidden inside revenue and nobody knew which truck made money.

What we did

We set up class tracking per truck, built a daily sales entry from the POS, split processor fees back to an expense account and started monthly inventory counts.

After

Within two closes the owner could see that truck two ran an 8 point higher food cost. Retraining the prep list closed the gap.

Hidden card fees surfaced
$1,840 / mo
Food cost gap closed
8 points
Close time
6 business days
For the first time I know which truck is actually paying for itself.
Owner, three-truck group
construction and contractors

Specialty trade contractor bidding blind

Before

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.

After

The line of credit renewed and two customer types were revealed as reliably unprofitable and dropped.

Months back-coded
9
Margin improvement
+6.2 points
Credit line
Renewed
ecommerce and online sellers

DTC brand growing revenue and losing cash

Before

Sales up 40 percent year over year, bank balance falling. Purchases were expensed and payouts booked net.

What we did

We rebuilt inventory as an asset with landed cost, unwound twelve months of settlements and added contribution margin by SKU.

After

Two hero SKUs were losing money after ads. Killing them freed cash and profit turned positive the next quarter.

Settlements unwound
12 months
Cash freed from dead stock
$74,000
Contribution margin
+9 points
real estate investors

Eleven doors on one profit and loss

Before

An investor could not tell which properties made money and a refinance stalled for lack of clean statements.

What we did

We split the books by property, rebuilt eighteen months of mortgage payments and reclassified $61,000 of improvements off the expense line.

After

Two properties were shown to be cash-flow negative and sold; the refinance closed at a better rate on real numbers.

Properties separated
11
Improvements reclassified
$61,000
Refinance
Approved
medical and dental practices

Two-location practice with an unreconciled merchant account

Before

Deposits were categorized as revenue with no tie to the practice management system, so nobody noticed denials piling up.

What we did

We built a monthly production-to-collections reconciliation and split provider pay out of overhead.

After

A $41,000 denial backlog surfaced and was reworked, and true overhead was 9 points lower than the owner believed.

Denials recovered
$41,000
Overhead restated
−9 points
Days in A/R
58 → 37
agencies and consultants

Agency that recognized retainers on receipt

Before

Annual contracts were booked as revenue when invoiced, so January looked enormous and Q3 looked like a collapse.

What we did

We moved to deferred revenue, separated pass-through media and added project profitability by client.

After

Reporting smoothed out and the three lowest-margin clients were repriced instead of dropped.

Clients repriced
3
Blended margin
+11 points
Cash forecast error
−63%
CrossFit gyms and boutique fitness studios

Boutique fitness studio selling packages but booking them as cash income

Before

The studio sold six-month unlimited packages paid in full, but the bookkeeper recorded the full amount as revenue on the day it was paid. Some months looked great, others looked like a crisis, with no relationship to how many people actually walked in.

What we did

We set up a deferred revenue schedule tied to the studio's check-in software, recognizing package revenue as classes were used, and separated dues, packages and retail into their own income accounts.

After

The owner could finally see a stable, predictable monthly revenue number and used it to plan a second location with a lender that wanted twelve months of consistent numbers.

Revenue smoothed across
6-month recognition window
MRR visibility
First real MRR report in 2 years
Time to close
5 business days
I finally understand which months are actually good, not just which months someone paid a big check.
Owner, 2-location studio
HVAC contractors

HVAC company expensing truck stock and losing track of agreement revenue

Before

The company expensed every parts purchase immediately and booked maintenance agreement payments as income on the sale date. Job costing did not exist, so the owner could not tell whether install jobs or service calls were funding growth.

What we did

We set up truck stock as inventory relieved by job, built a deferred revenue schedule for maintenance agreements tied to the visit calendar, and job costed every install with materials, labor and permits.

After

Within one quarter, the owner saw that two long-standing install crews were bidding jobs below the shop's real cost, and repriced the next round of quotes accordingly.

Install margin improvement
6.5 points
Maintenance agreement revenue smoothed
12-month recognition schedule
Time to close
6 business days
I always knew we were busy. I finally know which jobs are actually making money.
Owner, 3-truck HVAC company
plumbing, electrical, landscaping, pest control and handyman businesses

Handyman and landscaping company mixing deposits into revenue

Before

The company recorded customer deposits as income the day they were collected and did not separate materials cost from labor. The owner could not tell if handyman jobs or landscaping installs were more profitable.

What we did

We moved deposits to a liability account released when jobs were completed, split materials from labor on every job, and built a monthly gross margin report by service line.

After

The owner discovered handyman jobs were carrying a higher margin per hour than landscaping installs and shifted marketing spend accordingly.

Deposits reclassified
$18,400 moved off revenue into liability
Margin visibility
First job-level margin report
Time to close
5 business days
I was guessing which jobs to chase before. Now I know.
Owner, multi-trade home service company
commercial cleaning and janitorial companies

Janitorial company paying cleaners as 1099 subcontractors without a clear policy

Before

The company paid most cleaners as 1099 subcontractors, but several worked set schedules under close supervision, a classic misclassification risk. There was no contract-level view of labor cost, so unprofitable accounts stayed on the books for years.

What we did

We reviewed worker classification against standard criteria and flagged the workers who should move to W-2, and built a contract-by-contract labor and supplies tracking system.

After

The owner reclassified four workers, avoiding a larger back-tax exposure, and dropped two chronically unprofitable contracts at renewal, improving overall margin.

Workers reclassified
4
Unprofitable contracts dropped
2
Company-wide margin improvement
3.1 points
We had no idea some of our biggest contracts were actually losing money.
Owner, 18-contract janitorial company
professional service firms

Law firm treating retainers as income and losing track of unbilled time

Before

The firm recorded client retainers as revenue when received, which conflicted with trust accounting requirements and overstated monthly income. Hours worked often sat unbilled for six to eight weeks with no tracking.

What we did

We set up retainers as a liability released as work was performed, in line with trust accounting rules, and built a weekly work in progress report so unbilled time got invoiced within two weeks of the work.

After

Average time from work performed to invoice sent dropped from seven weeks to under two, improving cash flow without adding a single new client.

Work in progress days reduced
From 49 to 13 days
Retainer liability corrected
$62,000 reclassified
Time to close
6 business days
We were doing the work for weeks before we ever billed for it. Fixing that alone changed our cash flow.
Managing Partner, 6-attorney firm

Want your books to look like this?

Answer a few questions and we will tell you where your books stand.