Quote follow up spreadsheet: track every estimate and follow up on schedule (Google Sheets)
Most small service businesses send plenty of quotes and then lose track of which ones still need a nudge. A simple quote follow up spreadsheet fixes that: one row per quote, a status, and a next follow-up date the sheet works out for you. This guide is for trades, home services and small agencies. It uses plain Google Sheets: no add-ons, no scripts, no paid tools.
What you end up with
- One row per quote you send, with the amount and a clear status.
- A Next follow-up date that fills itself in: about day 2, day 7 and day 14 after the quote.
- A Due today tab that lists only the quotes to follow up on now.
- A small summary: open pipeline total, won value and win rate.
- Three short follow-up messages you can copy and adjust.
Free starter (.csv) with headers + 3 example rows
Example rows
These three rows are made-up examples (the same ones in the starter CSV). The Next follow-up dates shown assume the formula from step 3.
| Quote date | Customer | Job | Amount | Status | Follow-ups done | Last contact | Next follow-up | Outcome / notes |
|---|---|---|---|---|---|---|---|---|
| 2026-10-01 | EXAMPLE - Sample Customer A | Water heater replacement | 1850 | Open | 1 | 2026-10-03 | 2026-10-08 (formula) | Example row |
| 2026-09-21 | EXAMPLE - Sample Customer B | Lawn care season plan | 960 | Open | 2 | 2026-09-28 | 2026-10-05 (formula) | Example row |
| 2026-09-15 | EXAMPLE - Sample Customer C | Kitchen repaint | 3200 | Won | 1 | 2026-09-22 | (blank: closed) | Example row. Won: start date agreed |
Step 1. Set up the columns (about 10 minutes)
Create a blank Google Sheet and rename the first tab Quotes (double-click the tab name). In row 1 type these headers, one per column:
- A – Quote date: the day the quote or estimate went out. Format as a date (Format > Number > Date).
- B – Customer: name or company.
- C – Job: what the quote covers, in a few words.
- D – Amount: the quoted total. Format as currency (Format > Number > Currency).
- E – Status: Open, Won, Lost or On hold (dropdown, step 2).
- F – Follow-ups done: a number, 0 to 3. Leave blank or 0 when the quote first goes out.
- G – Last contact: the date you last followed up. Shortcut: Ctrl+; (Cmd+; on a Mac) types today’s date.
- H – Next follow-up: a formula (step 3). Do not type in this column.
- I – Outcome / notes: one line, e.g. “Won: start date agreed” or “Lost: went with a cheaper option”.
Or skip the typing: download the starter CSV, then in a blank Google Sheet use File > Import > Upload > Replace current sheet, and rename the tab Quotes. The formula in column H comes with it. Delete the 3 example rows when you are ready, but copy H2 down first so new rows keep the formula.
Freeze the header row: View > Freeze > 1 row.
Step 2. Keep status values simple
Select E2:E, click Insert > Dropdown and add four options:
- Open: quote sent, no decision yet. Only Open rows get follow-up dates.
- Won: they said yes.
- Lost: they said no, or you closed it out.
- On hold: real interest, wrong time (budget, season). Put the reason and a revisit month in column I.
Four values are enough. Exact, consistent wording matters: every formula below looks for these words.
Step 3. Make the next follow-up date automatic
In H2 paste:
=IF(OR(A2="",E2<>"Open",F2>=3),"",IF(F2=0,A2+2,IF(G2="",A2,G2)+CHOOSE(F2,5,7)))
Then drag it down as far as you expect to have rows. Here is what it does:
- If there is no quote date, or Status is not Open, or you have already done 3 follow-ups, it stays blank.
- Follow-ups done is 0 (or blank): next follow-up is quote date + 2 days.
- After follow-up 1: last contact + 5 days (about day 7 if you were on time).
- After follow-up 2: last contact + 7 days (about day 14).
Counting from the last contact means a late follow-up never leaves you with a date that is already in the past. If column H shows a number like 46303 instead of a date, select column H and choose Format > Number > Date.
Check it against the example rows: Customer A has 1 follow-up done and a last contact of 2026-10-03, so 3 Oct + 5 = 2026-10-08. Customer B has 2 done and a last contact of 2026-09-28, so 28 Sep + 7 = 2026-10-05. Customer C is Won, so H stays blank.
Step 4. Highlight what is due (conditional formatting)
Select A2:I, then Format > Conditional formatting. Under Format rules choose Custom formula is and paste:
=AND($E2="Open",$H2<>"",$H2<=TODAY())
Pick a light yellow fill and click Done. Any open quote whose follow-up date is today or earlier now stands out. TODAY() updates every time the sheet opens.
Step 5. Add a Due today tab (FILTER)
Add a second tab (the + at the bottom left) and name it Due today. In A1 paste:
=IFERROR(SORT(FILTER(Quotes!A2:I,Quotes!E2:E="Open",Quotes!H2:H<>"",Quotes!H2:H<=TODAY()),8,TRUE),"Nothing due today")
This pulls every Open quote with a follow-up date of today or earlier, oldest first (column 8 of A:I is Next follow-up). When nothing is due, you see “Nothing due today” instead of an error. Format column H on this tab as a date too. Do your edits on the Quotes tab; this tab is a live view.
Step 6. Add a small summary (COUNTIFS and SUMIFS)
Add a third tab named Summary. Type the labels in column A and the formulas in column B:
Open pipeline $ =SUMIFS(Quotes!D:D,Quotes!E:E,"Open") Open quotes =COUNTIFS(Quotes!E:E,"Open") Due today or late =COUNTIFS(Quotes!E:E,"Open",Quotes!H:H,"<="&TODAY()) Won $ =SUMIFS(Quotes!D:D,Quotes!E:E,"Won") Win rate (count) =IFERROR(COUNTIFS(Quotes!E:E,"Won")/(COUNTIFS(Quotes!E:E,"Won")+COUNTIFS(Quotes!E:E,"Lost")),0) Win rate (90 days) =IFERROR(COUNTIFS(Quotes!E:E,"Won",Quotes!A:A,">="&TODAY()-90)/(COUNTIFS(Quotes!E:E,"Won",Quotes!A:A,">="&TODAY()-90)+COUNTIFS(Quotes!E:E,"Lost",Quotes!A:A,">="&TODAY()-90)),0)
Format the two win rate cells as percent (Format > Number > Percent). Win rate here means won ÷ (won + lost), so open and on-hold quotes do not drag it down. The 90-day version counts quotes by their quote date. With only the three example rows, open pipeline is $2,810, won is $3,200 and win rate is 100% (1 won, 0 lost): fine for testing, meaningless until you add real quotes.
Step 7. A short follow-up cadence with plain wording
Three touches is a reasonable default for most quotes. Keep each one short, specific to the job, and easy to answer. Text or email, whichever the customer used with you. Adjust the wording to sound like you.
Follow-up 1 (about day 2): make sure it landed
Hi [name], just checking the quote for [job] came through OK. Happy to go over any line on it if that helps. - [your name]
Follow-up 2 (about day 7): make the next step easy
Hi [name], following up on the [job] quote. If you'd like to go ahead, I can hold [date option 1] or [date option 2] for the start. Any questions on the price or the scope?
Follow-up 3 (about day 14): close the loop politely
Hi [name], I'll close out the [job] quote on my side this week so it doesn't sit in your inbox. If you want to go ahead later, just let me know and I'll refresh the numbers. Thanks for considering us.
After each one: add 1 to Follow-ups done, set Last contact to today (Ctrl+;), and the next date updates by itself. After the third, decide: Won, Lost or On hold, with a one-line note in column I.
Step 8. A 5-minute daily habit
- Open the Due today tab.
- Send the right follow-up for each row (1, 2 or 3 based on Follow-ups done).
- Update Follow-ups done and Last contact on the Quotes tab.
- Add any quotes you sent today as new rows.
- Change Status the moment a customer says yes or no.
Good to know
- Dates must be real dates, not text. If a date sits left-aligned in its cell, it is probably text: retype it or use Format > Number > Date.
- TODAY() uses the spreadsheet time zone (File > Settings).
- Want a different rhythm? Change the 2 in
A2+2or the 5 and 7 inCHOOSE(F2,5,7), then drag the formula down again. - Sharing with a teammate? Add an Owner column at the end, and use Data > Create filter view so each person can filter without changing what others see.
Want it pre-built?
The steps above work fine on their own. If you would rather start from a finished version, the Home-Service Lead & Estimate Follow-Up Tracker (Google Sheets + Excel, with follow-up scripts) is a ready-made tracker you copy and adapt. It is $9 through October 31, 2026, then $12.
This is a free guide to copy and adapt, not a managed service; no support or warranty. Test with sample data first.
Built by an AI agent for Help With Automation. Custom builds are tested before delivery; test this free sample with your own sample data first.
Sample builds · Weekly quote sort guide · Contractor estimate tracker guide · Home