TL;DR: A residential remodeling contractor in Houston was running $6M in annual revenue with no cash flow visibility beyond checking his bank balance Monday mornings. QuickBooks tracked what had already happened. Nothing tracked what was coming. Last year: three cash squeezes he didn't see coming, one missed vendor payment that damaged a key relationship, one emergency credit line draw that cost $890 in interest. Total cost of cash flow blindness: roughly $12,000. We built a four-stage forecasting agent that connects to QuickBooks and the bank feed, builds a rolling 6-week forecast from receivables, project-stage deposits, payables, and predicted expenses, flags cash cliffs before they hit, and delivers a Monday morning report that replaced the bank balance check. Four cash cliffs detected in the first two months. Zero missed payments. Zero credit line draws. Agent cost: $240/month.
Monday Morning
Marcus opens his laptop, logs into the bank, and looks at the balance. $127,000. Feels okay.
Payroll is Friday: $34,000. A subcontractor invoice is due next week: $18,500. Material delivery coming Wednesday: $12,000.
Quick mental maths: $127K minus $64,500 in known obligations equals $62,500 buffer. Comfortable.
What Marcus isn't tracking: the $22,000 deposit from the Westheimer project was supposed to hit last Friday. It didn't. The client is "processing it." Could be tomorrow. Could be next week.
The $8,400 material delivery for the Heights project wasn't on his radar because the supplier invoice arrived while he was on site Thursday. It's sitting in an inbox he hasn't checked.
Actual position: $127K minus $64,500 minus $8,400 he doesn't know about equals $54,100. And if the $22K deposit doesn't land by Thursday? He could be at $32,100 by Friday. With $34,000 payroll due.
He doesn't know this yet. He thinks he's at $62,500.
Last quarter, this exact scenario played out. He missed a vendor payment by two days. He had the money. It was coming. He just didn't know it was tight until the vendor called asking where the cheque was. The call wasn't angry. It was worse than angry. It was disappointed. That vendor had been with him for six years.
The Company
Residential remodeling and custom build contractor in Houston, Texas. Marcus owns it. One project manager, two lead carpenters, eight field workers, one office admin. Annual revenue: roughly $6M across six to eight active projects at any given time.
Typical project value: $80K to $400K, paid in three to five stage-based deposits. Hit a milestone, invoice the client, wait for payment. The waiting is where the trouble lives.
Cash flow in construction is lumpy. Deposits arrive at unpredictable intervals based on project milestones, client payment speed, and inspection approvals. A client who's supposed to pay within 10 days of a sign-off might take 25. Another pays the day the invoice arrives. You can't predict it from contract terms. Only from watching how each client actually behaves.
Marcus uses QuickBooks Online. It handles invoicing, expense tracking, and historical reporting. It does not forecast. It tells him what happened. Not what's about to happen.
His cash flow system: check the bank balance Monday morning. Sometimes Wednesday too, if he's nervous. Mentally track expected deposits. Mentally track known obligations. Make decisions based on feel.
Last 12 months: three instances of cash tightness that surprised him. One missed vendor payment (two days late, relationship damaged). One delayed decision where he moved a non-essential payment to cover payroll. One emergency line-of-credit draw: $15,000, repaid within 30 days, but the interest cost him $890.
Total direct cost of cash flow blindness: roughly $12,000 in interest, late fees, and vendor concessions to repair trust. Plus the stress, which doesn't show up on a P&L but shows up on Sunday nights when Marcus can't sleep because he's mentally running the numbers for Friday's payroll.

Why He Was Still Guessing
He'd tried to fix this. Three years ago, when cash got tight enough to scare him, he built a spreadsheet forecast. Updated it for two months. Then projects got busy and the spreadsheet went stale. "I'll update it this weekend" became "I haven't touched it since March." The spreadsheet is still on his desktop. It shows numbers from 2023.
QuickBooks has cash flow reports. They show historical position and basic projections based on outstanding invoices and bills. But they don't account for project-stage deposits that haven't been invoiced yet. Or upcoming material orders that haven't been entered as bills. The forecast is only as good as the data entered, and Marcus is always behind on data entry. He's running job sites, not running reports.
His accountant does a monthly review. Excellent for tax planning and annual financial health. Useless for "can I make payroll in 10 days?" questions. Monthly cadence is too slow for a business with weekly cash flow swings.
He explored a fractional CFO service. $3,000 to $5,000 per month. They recommended it. He couldn't justify the cost when he "mostly" manages fine.
Every approach was either too manual to maintain, too backward-looking, too infrequent, or too expensive for a business that "mostly" manages. The word "mostly" was hiding three cash squeezes and $12,000 in avoidable costs.
What We Built
Four stages. All built on top of QuickBooks and the existing bank feed.
Stage 1: Real-time position
Connects to QuickBooks and the bank feed. Pulls current cash position, outstanding receivables with aging, and outstanding payables. Updates daily. Marcus sees today's actual position, not last month's reconciled number. His Monday bank balance check was a single number with no context. The real-time position shows the balance plus everything attached to it: what's owed to him, what he owes, and when each item is expected to move.
Stage 2: Forward-looking forecast
This is the gap QuickBooks can't fill. The agent builds a rolling 6-week cash forecast by combining four data streams:
Known receivables: invoiced amounts with expected payment dates, adjusted for each client's actual payment pattern. Not the net-30 terms they agreed to. The actual 18 days or 42 days they typically take.
Project-stage deposits: the Westheimer deposit hasn't been invoiced yet, but the project hit its milestone trigger last Tuesday. The agent knows it's coming and estimates when based on that client's history.
Known payables: entered bills, scheduled payments, payroll, recurring obligations.
Predicted expenses: upcoming material orders based on project schedules, subcontractor bookings, and historical spending patterns. The Heights delivery sitting in an unopened email? The agent knows the project schedule calls for it and estimates the amount from the original quote.
Stage 3: Cash cliff detection
The forecast identifies dates where projected cash drops below Marcus's safety threshold. He set it at $40,000 as his minimum comfortable buffer.
The alert doesn't just say "you're going to be short." It gives the full picture: "In 11 days, your projected balance drops to $31,400. Here's why: payroll ($34K) plus Hernandez sub invoice ($18.5K) plus Heights material delivery ($8.4K). Expected incoming: Westheimer deposit ($22K, expected in 5-7 days based on client payment history)."
What's going out. What's coming in. When. And what Marcus can do about it. Not a red light. A dashboard.
Stage 4: Weekly report and alerts
The Monday morning report replaces the bank balance check. Current position, 6-week forecast, any cash cliffs approaching, and action items: "Follow up on Westheimer deposit. Expected Thursday based on client history. Hasn't been invoiced yet."
Real-time alerts fire when a client payment is late compared to their typical pattern, or when an unexpected expense enters the system.

What We Learned Building It
Client payment pattern data was gold. The single most valuable thing the agent does is adjust receivable timing from contract terms to actual behaviour. Marcus had six active clients when we launched. Their actual average payment speeds ranged from 12 days to 42 days. The net-30 terms in the contracts were fiction for four of them. Two paid faster than terms. Two paid significantly slower. Once the agent started forecasting based on real patterns instead of contractual ones, the forecast accuracy jumped dramatically. Marcus said, "I always knew Garcia paid slow. I just never adjusted for it."
QuickBooks data lag was a real problem. Marcus was often 5-7 days behind on entering supplier invoices and material receipts. The agent's forecast was only as good as what was in QuickBooks. We built a workaround: the agent cross-references the project schedule against historical spending patterns to predict expenses that haven't been entered yet. It's not perfect. It's an estimate. But an estimate is infinitely better than a blank spot where the Heights material delivery should be.
The $40K threshold needed adjusting twice. Marcus initially set it at $30K. The first cash cliff alert came in week two and $30K felt too tight when he was staring at real numbers. He moved it to $40K. A month later, he moved it to $45K for the weeks around the 15th and 30th when obligations cluster. The agent handles variable thresholds by date range, which turned out to be more useful than a single number.
The Monday report changed his week. Old Monday morning: log in, look at the number, start the mental gymnastics. 30-45 minutes of anxious arithmetic. New Monday morning: open the report, scan the forecast, check the action items. Eight minutes. "The first Monday I didn't do the mental maths, I thought I was forgetting something," Marcus said. "By the third Monday, I couldn't believe I'd run a $6M business without this."
The Numbers
Metric | Before | After |
|---|---|---|
Cash flow visibility | Bank balance (point-in-time) | 6-week rolling forecast |
Cash cliff surprises (first 60 days) | Would have been 3 | 0 (all flagged in advance) |
Missed vendor payments | 1 last year | 0 |
Emergency credit line draws | 1 ($15K, cost $890) | 0 |
Monday morning cash review | 30-45 min of anxiety | 8 min with a report |
Agent cost/month | N/A | $240 |
Estimated annual savings: $10,000 to $18,000. Avoided interest, late fees, emergency decisions, and the hours Marcus spent mentally tracking cash across six projects and fifteen payment schedules.
$240 per month. $2,880 per year. Against $10,000 to $18,000 in avoided costs and a line-of-credit draw he didn't need.
But ask Marcus what the agent is actually worth, and he doesn't talk about money. He talks about Sunday nights. "I used to lie in bed running numbers. Do I have enough for payroll? Did the Garcia deposit come in? What's the Hernandez invoice amount?" He sleeps now. That's not a metric you can put on a dashboard. But it's the one that changed his life.

The Pattern
If you're running a project-based business and your cash flow system is "check the bank balance and do mental maths," you're making financial decisions with a snapshot, not a forecast.
Your accounting software shows what happened. That's its job. But the gap between what happened and what's about to happen is where missed payments, emergency draws, and damaged vendor relationships live.
The agent doesn't replace your accountant or your judgment. It replaces the mental gymnastics of tracking six projects, fifteen payment schedules, and four payroll cycles in your head. Marcus still makes every financial decision. The agent makes sure he's making them with a forecast instead of a feeling.
Want to see if your cash flow has blind spots? The AI Bottleneck Audit takes 5 minutes and shows you where the gaps between "what you know" and "what you should know" are hiding. No pitch.
Want to see 25 agent architectures across different industries? Download Unstuck. It includes blueprints for equipment tracking, subcontractor matching, documentation, referrals, and more.
by TG
for the AdAI Ed. Team


