A simple quote-to-job tracker for trades and service businesses (Excel or Google Sheets)
If you run a trades or service business, you probably send a lot of quotes. A plumber, an electrician, a landscaper, a cleaner, a painter. Some quotes turn into jobs. Many just go quiet.
Often the difference is a single follow-up call. But when quotes live in your email, your notebook and your head, follow-ups get missed.
This guide shows you how to build a simple quote tracker in Excel or Google Sheets. It tells you who to call today and how many of your quotes you actually win. Everything works in both apps unless noted.
What you will build
- One row per quote.
- A status for each quote: Sent, Won or Lost.
- A follow-up date, and a column that says "Yes" when a call is due.
- A filter that shows only today's follow-ups.
- A win-rate formula, so you know how you are doing.
Step 1. Set up the columns
Create a new sheet called Quotes and add these headers in row 1:
| A | B | C | D | E | F | G | H | I |
|---|---|---|---|---|---|---|---|---|
| Customer | Phone or email | Job | Quote date | Amount | Status | Follow up on | Follow up today? | Notes |
Tips:
- Columns D and G must be real dates. Format them as dates.
- Write the job in a few words, like "Replace kitchen tap" or "Fence repair, 10m".
- Use Notes for anything you learn on the phone: "Wants to start after the holidays", "Getting two other quotes".
Step 2. Use a dropdown for Status
Typing "won", "Won" and "WON" makes formulas harder. A dropdown keeps it tidy.
- Select column F (from F2 down).
- Open data validation. In Google Sheets it is Data > Data validation. In Excel it is Data > Data Validation.
- Choose a dropdown or list, and enter these options: Sent, Won, Lost.
You can add more if you like, such as Draft for quotes you have not sent yet. Just keep the list short.
Step 3. Set a follow-up date
When you send a quote, put a date in Follow up on. Many trades people call two or three working days later. Pick what feels right for your customers.
If you want a default, this formula sets the follow-up three days after the quote date:
=IF(D2="","",D2+3)
You can type over it any time. After a call, change the date to the next time you want to check in.
Step 4. Flag today's follow-ups
In H2, paste:
=IF(AND(F2="Sent",G2<>"",G2<=TODAY()),"Yes","")
What it does:
- Only looks at quotes still marked Sent. Won and Lost quotes never need a chase.
- Skips rows with no follow-up date.
- Says Yes when the follow-up date is today or already passed.
Copy it down the column. TODAY() updates on its own, so the Yes flags move as the days go by. Missed follow-ups from last week also show Yes, which is what you want.
Step 5. Filter to "follow up today"
Now make a view of only the calls you need to make.
Excel: select the header row and choose Data > Filter. Click the arrow on Follow up today? and tick only Yes.
Google Sheets: choose Data > Create a filter. Click the filter icon on Follow up today? and tick only Yes.
Sort by Follow up on, oldest first, so the most overdue calls come to the top.
Google Sheets only: if you prefer a separate list that updates by itself, make a new tab and put this in A2:
=FILTER(Quotes!A2:I500, Quotes!H2:H500="Yes")
Copy the headers from the Quotes tab into row 1 of the new tab. The list refreshes as you change statuses and dates. Excel 365 also has a FILTER function, but this guide sticks to the normal filter for Excel so it works in every version.
Step 6. Colour the rows (optional)
A quick visual helps. Select A2:I500 and add a conditional formatting rule that uses a formula:
=$H2="Yes"
Give it a yellow fill. In Google Sheets this is under Format > Conditional formatting, using Custom formula is. In Excel it is Home > Conditional Formatting > New Rule, then Use a formula to determine which cells to format.
You can add two more rules the same way: =$F2="Won" in green and =$F2="Lost" in grey.
Step 7. Work out your win rate
Your win rate is the share of decided quotes that you won. Put this in an empty cell, for example K2:
=IFERROR(COUNTIFS(F2:F500,"Won")/(COUNTIFS(F2:F500,"Won")+COUNTIFS(F2:F500,"Lost")),"")
Format the cell as a percentage. Quotes still marked Sent are left out, because you do not know the answer yet. IFERROR keeps the cell blank until you have at least one Won or Lost quote.
Want to know the value of work won? Use SUMIFS:
=SUMIFS(E2:E500,F2:F500,"Won")
And for one month only, add date conditions to COUNTIFS. This counts quotes won from October 2026:
=COUNTIFS(F2:F500,"Won",D2:D500,">="&DATE(2026,10,1),D2:D500,"<"&DATE(2026,11,1))
Change the dates for other months. Do the same with "Lost" to get the monthly win rate.
Using it day to day
- When you send a quote: add a row, set Status to Sent, set a follow-up date.
- Each morning: open the filter, make the calls, and update Status or the next follow-up date.
- When a customer says yes or no: change Status to Won or Lost. The win rate updates.
A few minutes a day is enough. Over time you will see patterns. Maybe certain job types win more often, or quotes followed up within a few days do better. Your own numbers are more useful than any general advice.
If you use your phone on site, both Excel and Google Sheets have mobile apps. You can update a status between jobs.
What else could you automate?
A quote tracker is a good first step. Our free Small Business Automation Check asks about your country, industry and daily tasks, and shows which admin jobs are easiest to automate next.
Simple job costing in a spreadsheet - see if each job actually made money (Excel or Google Sheets)
How to raise your prices as a small service business - a simple calculation and a customer letter template