MisaNeco Works Blog

2026-10-20・Automation / Small business / Excel

A simple customer follow-up sheet (CRM-lite) for small service businesses

For a small service business, most new work comes from people you already know: past customers, referrals, and enquiries that were "not right now". The problem is remembering to get back in touch.

A full CRM can feel like too much. Many small businesses only need one thing from it: a list that says who to contact today, and why. A spreadsheet does that well.

This guide shows you how to build a CRM-lite sheet in Excel or Google Sheets. Everything works in both apps unless noted. It takes about 15 minutes.

What you will build

Step 1. Set up the columns

Create a sheet called Contacts and add these headers in row 1:

A B C D E F G H I J
Name Phone or email Service Stage Last contact Next action Next action date Due Days since contact Notes

Tips:

Step 2. Add a dropdown for Stage

A fixed list keeps your counts accurate.

  1. Select D2 down to D1000.
  2. Open data validation. In Google Sheets it is Data > Data validation. In Excel it is Data > Data Validation.
  3. Choose a dropdown or list, and enter: Lead, Contacted, Quoted, Customer, Inactive.

What each stage means is up to you. A simple version:

Step 3. Flag what is due

In H2 (Due), paste:

=IF(OR(G2="",D2="Inactive"),"",IF(G2<TODAY(),"Overdue",IF(G2=TODAY(),"Today","")))

What it does:

  1. Shows nothing if there is no next action date, or the contact is Inactive.
  2. Shows Overdue if the date has passed.
  3. Shows Today if the date is today.

In I2 (Days since contact), paste:

=IF(E2="","",TODAY()-E2)

If it shows a date instead of a number, change column I to a plain number format.

Copy both formulas down. TODAY() updates on its own, so the flags move forward each day without you touching them.

Step 4. Make a "due today" view

Both apps: turn on a filter. In Google Sheets, choose Data > Create a filter. In Excel, select the header row and choose Data > Filter. Click the arrow on Due and tick only Today and Overdue. Sort by Next action date, oldest first.

Google Sheets only: for a separate list that updates by itself, create a new tab called Today and put this in A2:

=SORT(FILTER(Contacts!A2:J1000,Contacts!G2:G1000<>"",Contacts!G2:G1000<=TODAY(),Contacts!D2:D1000<>"Inactive"),7,TRUE)

Copy the headers from the Contacts tab into row 1. FILTER keeps rows where every condition is true, and SORT puts them in order of the seventh column (Next action date), oldest first. If nothing is due, the cell shows an error saying no matches were found. That just means a clear day.

Excel 365 also has FILTER and SORT, but the arguments work differently, so this guide sticks to the normal filter for Excel.

Step 5. Spot customers who have gone quiet

Past customers are often the easiest work to win back. Colour the ones you have not spoken to in a while.

Google Sheets: select A2:J1000, open Format > Conditional formatting, choose Custom formula is, and paste:

=AND($D2="Customer",$E2<>"",TODAY()-$E2>90)

Excel: select A2:J1000, choose Home > Conditional Formatting > New Rule, then Use a formula to determine which cells to format, and paste the same formula.

Give it a soft yellow fill. Change 90 to whatever gap makes sense for your service. A window cleaner might use 60 days, a boiler service business might use a year.

You can add a second rule for due actions, for example =$H2="Overdue" with a light red fill.

Step 6. Count your pipeline with COUNTIFS

Make a small summary block, for example in L1:M6 on the Contacts tab:

L M
Lead =COUNTIFS(D2:D1000,"Lead")
Contacted =COUNTIFS(D2:D1000,"Contacted")
Quoted =COUNTIFS(D2:D1000,"Quoted")
Customer =COUNTIFS(D2:D1000,"Customer")
Due or overdue =COUNTIFS(G2:G1000,"<="&TODAY(),D2:D1000,"<>Inactive")
Quiet customers =COUNTIFS(D2:D1000,"Customer",E2:E1000,"<"&TODAY()-90)

A tidier way for the first four: type the stage names in L1:L4 and use =COUNTIFS($D$2:$D$1000,L1) in M1, copied down. If you add a stage later, just add a row.

The date conditions join a comparison sign to TODAY() with &. Blank dates are not counted, so empty rows do not affect the numbers.

Using it day to day

The key habit is simple: every active contact always has a next action date. If a row has no date, it is easy to forget.

What else could you automate?

Follow-ups are a good place to start. Our free Small Business Automation Check asks about your country, industry and daily tasks, and shows which admin jobs are easiest to automate next.

Free tools you can useSmall Business Automation Check
Related articlesBuild a weekly staff shift schedule in Google Sheets (hours per person, gaps highlighted)
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