All articlesSales

How to Track Estimates That Are Waiting for Customer Approval

The Trusso TeamNovember 11, 20267 min read

You sent 14 estimates this month. How many are still pending? How many did the customer actually open? Which ones are three weeks old and quietly dead? If you can't answer those questions in under a minute, you don't have a pipeline — you have a pile of PDFs sitting in old text threads and a vague feeling that business is fine.

Pending estimates are the most valuable thing in a contracting business that nobody tracks properly. Each one represents revenue you already did the work to win — you drove to the site, measured, priced it, sent the number — and then most contractors just wait. No system, no cadence, no record of what happened next. That's how jobs you were supposed to win quietly go to the competitor who followed up first.

This isn't really a software problem. It's a habit problem. You need every estimate living in a pipeline with clear stages, and you need to review that pipeline on a schedule instead of hoping it handles itself in the background of your phone.

Why Estimates Die in Text Threads

Most small contracting businesses run their sales process through text messages, and it feels efficient right up until it isn't. The problem is that a text thread has no status. An estimate you sent on a Tuesday looks identical, sitting in the conversation, whether the customer is reviewing it that night or whether they forgot about it the moment they closed the message. There's no flag, no color, no indicator that tells you this one needs attention.

Text threads also bury estimates under everything else. A customer asks a quick question about start dates, you answer, three weeks pass, and the actual approval never happens because neither of you circled back to it. Multiply that across 20 or 30 active leads and you get a business where good estimates — ones the customer genuinely wanted — expire from neglect, not from losing to a competitor or the price being wrong.

The fix isn't a fancier way to text. It's separating the estimate's status from the conversation entirely, so you can see where every quote stands without scrolling back through messages to remember who you talked to last.

The Six-Stage Pipeline

Every estimate should sit in one of six stages at all times. Simple as that sounds, just naming the stages forces you to notice when something has been sitting too long.

Sent — the estimate left your hands. Log the date. This is your clock. Everything else gets measured against it.

Viewed — the customer opened it. If you're sending PDFs by text or email with no read receipt, you're flying blind here, which is one of the biggest reasons digital approval links matter: you actually know when someone looked.

Followed up — you've made at least one contact after sending, confirming they received it and asking if they have questions. This stage exists so you can tell the difference between an estimate nobody has touched since you sent it and one you're actively working.

Won — approved, signed, or verbally confirmed with a deposit collected. Move it to scheduling immediately so it doesn't sit in two places at once.

Lost — the customer told you no, chose someone else, or the job isn't happening. Log the reason if you can get it. Price, timeline, scope, or just bad timing — that data is worth more over a year than any single estimate.

Expired — nobody said no, but enough time passed that the quote is no longer valid at that price. This is different from lost. An expired estimate can be revived with a quick call; a lost one usually can't.

The stage matters less than the discipline of assigning one. An estimate with no stage is an estimate nobody owns.

Set a Review Cadence, Not Just a Pipeline

A pipeline you never look at is worthless. The businesses that actually close more of their pending work review it on a fixed schedule, not whenever they happen to think of it.

A weekly pipeline review works for most small crews. Once a week, go through everything sitting in sent or followed up and ask three questions: how old is this, has the customer engaged with it at all, and what's the next action. Anything older than seven to ten days with no response needs a human follow-up, not another wait-and-see week.

Daily is better for businesses doing high volume — several estimates a week on time-sensitive work like roofing after a storm, or painting during peak season when customers are comparing three bids at once. In those cases, a two-day-old pending estimate with no follow-up is already losing ground to whoever called back first.

Whatever cadence you pick, put it on your own calendar like a job. "Review pipeline" at 4pm every Friday takes ten minutes and catches the estimates that would otherwise sit for a month.

What to Do at Each Stage

Sent: don't just fire it off and move on. Confirm the customer received it the same day, even with a one-line text. That single touch increases the odds they actually open and read it instead of letting it sit in a spam-adjacent inbox.

Viewed: this is your best signal. A customer who opened the estimate but didn't respond within 48 hours isn't ignoring you on purpose — they're busy, comparing bids, or waiting on a spouse. A short, specific follow-up here converts more often than a generic "just checking in." If you want actual scripts for this stage, these follow-up templates cover the exact wording that gets replies without sounding pushy.

Followed up: if you've reached out twice with no response, it's time to ask directly whether the job is still happening, rather than sending a third soft nudge. Directness here doesn't cost you the job — silence does.

Won: move fast. Schedule the work, collect the deposit, and get it off your pending list the same day so it stops cluttering your view of what's actually still open.

Lost: resist the urge to just delete it. A quick note on why — price, timing, scope — turns a loss into data you can use on the next similar estimate.

Expired: before writing it off, call. Many "expired" estimates aren't dead, they're just stale. A quick call to re-confirm pricing and availability revives more jobs than people expect, especially if material costs haven't moved much since you quoted it.

Why This Breaks Down Without a Shared System

All of this works fine for a solo operator with ten active estimates in their head. It falls apart the moment you add a second phone, a part-time estimator, or just more volume than one person can mentally track. If estimates live in one person's texts and your schedule lives in another app, nobody else can see what's pending, what's been followed up, or what's about to expire — and the owner becomes the bottleneck for every status update.

This is the real argument for keeping estimates, jobs, and invoices in one place rather than scattered across texts, a calendar app, and a notes file. Trusso builds the pipeline described above directly into how estimates work: every quote shows its status — sent, viewed, followed up, won, lost, or expired — tied to the price book you built, so you're not hunting through message threads to figure out what's still open. It won't replace the judgment call of picking up the phone, but it does make sure nothing slips through just because it got buried under a newer conversation.

However you track it — a spreadsheet, a whiteboard, or dedicated software — the goal is the same. Every estimate needs a stage, an age, and an owner. The contractors who close more of their pending work aren't better closers; they're the ones who never let a quote go quiet long enough to die.

Run your business the simple way

Try Trusso free for 14 days and send your first estimate in minutes.

Start 14-Day Free Trial