Your financials tell you what happened. They never tell you what should have happened. That gap is where the money hides. We map how your business actually works, calculate what each line is capable of in your model (not an industry average), and grade every line against it.
Drop in new jobs started, while revenue fell only 14%. The number nobody was watching.
Share of a full year's gross profit produced by one single job.
Total distance between what this business spent and what its own targets said it should.
QuickBooks reports needed from you. That is the whole ask.
Executive summary: the finding
What the numbers say, what it costs, and the four things to do about it.
02P&L data: every expense line, every month
The source data behind the summary, rebuilt from the accounting file.
03RAG heat map: every line graded green, yellow or red
Scored against targets calibrated to this company's own history.
04Opportunity gap: the same map, in money
Blank means on target. Colored means dollars left on the table that month.
The problem is intake, not revenue
Revenue is down 14% and looks survivable. New job intake is down 55% and is not. The gap between those two numbers is backlog, and backlog runs out.
Down from 10.3 in the first half. A 55% drop across every service line.
Barely moved, because Jul–Sep was spent billing out work sold earlier in the year.
The first period where the backlog stopped covering the overhead.
A single fire job is 38% of all gross profit earned this year.
Job count fell off a cliff in every line at once
Average revenue per job barely moved: $5,507 in the first half, $5,578 since. Jobs are the same size. There are simply far fewer of them, and the decline is not concentrated in one service line, which is what you would expect from a single lost referral source.
| Service line | Jan–Jun jobs | Per month | Jul–Sep jobs | Per month | Change |
|---|---|---|---|---|---|
| Reconstruction | 31 | 5.2 | 7 | 2.9 | −44% |
| Water mitigation | 19 | 3.2 | 2 | 0.8 | −74% |
| Mold remediation | 7 | 1.2 | 0 | 0.0 | −100% |
| Everything else | 5 | 0.8 | 2 | 0.8 | flat |
| All lines | 62 | 10.3 | 11 | 4.6 | −55% |
Read the business at the job level
Of 73 jobs this year, eleven carry revenue in one half and cost in the other. That mismatch is what produces a 13% gross margin in one month and 82% the next. Neither figure is real, and neither describes anything that happened in those months.
Findings
Intake is running at 45% of the first-half rate
11 new jobs in 2.4 months against 62 in six. Mold intake is zero. Mitigation intake is down 74%. Because September is only counted through the 12th, the true figure may be slightly better, but not by enough to change the conclusion.
One job is 38% of the year's gross profit
The largest job, a single fire reconstruction, produced $162,153 of the $425,922 in job-level gross profit. Strip it out and the company earned $24,150 over eight and a half months. It also carried the worst margin of any major work at 37.4%, against a 56.4% base. It was large, not good.
The mix favors the weakest-margin line
Reconstruction is 3.2× the revenue of mitigation but only 2× the gross profit. Every reconstruction dollar sends $0.48 straight to subcontractors; every mitigation dollar sends $0.16. Caveat: this company subcontracts every trade, so the mitigation spread is not a self-performance advantage, and ten mitigation jobs carry revenue with no cost coded against them, which flatters that line.
$18,046 of cost is not attached to any job
Sitting in "Not specified": $8,313 of contract labor, $7,983 of supplies and materials, $1,750 of subcontractor cost, against $3,140 of income. Plus $10,950 booked to home-office repairs. Every job margin in this report is therefore slightly optimistic, and nobody can tell which jobs are absorbing it.
Where the $425,922 of job gross profit came from
Margin by service line
| Service line | Jobs | Revenue | Gross profit | Margin | Avg job |
|---|---|---|---|---|---|
| Water mitigation | 21 | $92,912 | $77,696 | 83.6% | $4,424 |
| Mold remediation | 7 | $26,007 | $17,443 | 67.1% | $3,715 |
| Reconstruction | 38 | $295,676 | $153,245 | 51.8% | $7,781 |
| Fire reconstruction | 1 | $433,534 | $162,153 | 37.4% | $433,534 |
| All other | 6 | $28,095 | $15,384 | 54.8% | $4,683 |
| All 73 jobs | 73 | $876,224 | $425,922 | 48.6% | $12,003 |
Mitigation margin is overstated: ten of its jobs carry revenue with no cost coded against them.
The reality
Against cash and receivables net of payables, that shortfall is roughly eleven months of runway: enough time to fix this, and not enough to wait and see. A projection from the current intake rate, not a booked result.
Takeaways
- Count jobs weekly, not revenue.
Revenue lags intake by roughly a quarter in this business. A job-count-per-week number posted somewhere visible is the only metric that would have caught this in July.
- Re-open the trade accounts that have gone quiet.
Twenty-two reconstruction customers arrived with no mitigation job attached, but most are homeowners. The callable list is five trade and commercial accounts: a plumbing contractor, a realty brand, a demolition firm, an attorney referral source and a commercial property. Each sent work in the first half and nothing since June. A phone call each.
- Record where every job came from.
The referral source is not captured anywhere in the accounting system, which is why the collapse stayed invisible until the quarter closed. A required "how did you hear about us" field is a fifteen-minute fix that pays for itself the next time this happens.
- Close the job-costing hole before trusting any margin.
Ten jobs carry revenue with no cost against them and $18,046 sits unassigned. Until both reach zero, every service-line margin in this report, including the blended 48.6%, is overstated.
P&L data
Eight months of accrual P&L, one line per expense account. Everything downstream is driven from this table.
Full P&L with RAG heat map
Every line graded against targets calibrated to this company's own history. April carries a single $433,534 fire job, so every line looks small that month and inflated in low-revenue months. Read the Total column first.
Heat map, in dollars
Monthly opportunity gap
Each cell = (actual % of revenue − green target %) × that month's revenue, shown only where the line is yellow or red. Cells at or better than the green target are left blank. This is the size of the field, not a promise.
April's revenue is inflated by one $433,534 fire job, so April gaps read low; low-revenue months read high. The Total column is the reliable figure.
We can do this for your business.
Same assessment, your numbers, no cost and no obligation. You see the findings before you decide anything.
- Your own heat map. Every expense line graded against what your model is capable of, not an industry average.
- The gap in dollars. Line by line, month by month, so you can see where it actually sits.
- A written executive summary. The finding, what it costs, and what to do first.
- A working model you keep. Reload next month's export and it updates itself.
- Profit and Loss, accrual basis, by month.
- Profit and Loss by Customer, for job-level margin.
- Balance Sheet, as of the period end.
- A/R Aging Summary, to read collections.
Four exports out of QuickBooks Online. Roughly ten minutes of someone's time.
Fifteen minutes. We map four or five universal KPIs straight from your P&L on the call.
Straight out of QuickBooks. Nothing to fill in, nothing to prepare.
We calibrate targets to your model and grade every line against them.
You review the findings before you commit to anything at all.
Free, fifteen minutes, no obligation. You will see your own red, yellow and green in that same call.