Case study · July → September 2026

Only 3 of 29 signed jobs carried a dollar value. Now $1.25M is on the 8 a.m. report

A storm-restoration contractor's CRM held its signed work, but only 3 of 29 signed jobs carried a dollar value, so the pipeline could not be read in money. We built an automated operating report that has landed on phones at 8 a.m. for 75 mornings running, flagged the gap, and fixed a stale sync of our own that had understated collections by $338,531. Today the report tracks $1.25M in contract value across 53 of 66 signed jobs.

10% → 80% Signed jobs carrying a contract value 3 of 29 on Jul 2 → 53 of 66 on Sep 14 · values entered by the contractor's own team

Storm-restoration contractor

Roofing · CRM automation July → September 2026

Brief

The client is a storm-restoration contractor whose work lives in a construction CRM: leads, prospects, signed contracts, completed jobs, balances. The data existed; the money did not show. On July 2, the first morning our automated operating report ran, only 3 of the 29 signed jobs in the CRM carried a contract value — $70,180.14 between them. A pipeline you cannot read in dollars is a pipeline managed from memory.

The 8 a.m. report

Every morning at 8 a.m. Central, an automated digital manager reads the CRM and pushes a one-screen operating report to phones — since August 3, to a company co-founder and our engagement lead. It carries counts, never customer names. Money: contract value, collected, how many signed jobs carry a value, and the change since yesterday. Pipeline: leads, prospects, approved and completed work. Wins signed in the last 24 hours. What needs attention: prospects stuck more than 14 days, approved jobs waiting more than 21, overdue follow-ups, leads needing review, signed jobs missing their policy details. And system health. It has run 75 days in a row, July 2 through September 14, with no gaps.

The gap, and who closed it

The report's money line showed the gap from its first morning: 3 of 29 signed jobs valued. On July 14, after reading the value column job by job, we asked the contractor's team to enter contract values for signed work. Between July 16 and July 25 the CRM recorded 52 value edits across 45 jobs, and by July 26, 47 jobs carried a value. That work was the contractor's staff, not ours: our integration only reads the CRM. What we contributed was finding the gap and asking.

A defect of ours

The report also carried a defect on our side: financial data was not being refreshed on a schedule. When a daily refresh shipped on July 26, the collected figure — contract value minus the balance still due — moved from $60,962.55 to $399,493.81 overnight. $338,531 that was already recorded in the CRM had been missing from our numbers. A report that understates collections by that much is not a rounding problem; it changes what a co-founder believes about cash.

Where it stands

On September 14 the report tracked $1,254,140.77 in contract value across 53 of the 66 jobs at signed or later, with 33 of 34 approved jobs valued. By the CRM's own balances, $659,383.71 of that has been collected and $594,757.06 is still owed. These are CRM contract values that the contractor's team enters and maintains — not revenue we generated, and not a bank reconciliation.

What is not proven

Nothing records whether anyone opens the report: a morning counts as delivered when the notification service accepts the push, which it did on 70 of the 75. The CRM's balances are not a payments ledger, and $30,277.86 recorded on three jobs without a contract value sits outside the collected figure. Other parts of this build — vendor lead intake, an AI voice agent, and an agent that waits on hold with insurance carriers — are built but unused or switched off, and none of them is part of this result.

Result table

The receipts.

Metric Value Source
Signed jobs carrying a contract value 3 of 29 → 53 of 66 CRM sync, 2026-07-02 vs 2026-09-14
Contract value in the morning report $70,180.14 → $1,254,140.77 Report money line, Jul 2 vs Sep 14; values entered by the contractor's team
Value edits made by the contractor's team 52 edits across 45 jobs CRM change notices, 2026-07-16 → 07-25
Collections missing from our numbers before the fix $338,531.26 Daily-refresh fix, 2026-07-26: $60,962.55 → $399,493.81
Consecutive daily reports 75 Report store, 2026-07-02 → 09-14, no gaps
Mornings the push was accepted 70 of 75 Delivery records — acceptance by the notification service, not a read receipt

Before you buy another automation, ask what the numbers you already run on are missing. On this job the first result was not a new system. It was the contractor's own team putting a dollar value on signed work once someone showed them the gap — and an agency admitting that its own sync had hidden a third of a million dollars in collections.

Want this kind of result?

Book a discovery call. We'll walk your numbers.

No pitch deck. Just your CRM, your ad accounts, and a straight read on what the next 90 days could look like.