Excel CRM Template for Coaches: Build It Step by Step

Yes, you can run a small coaching practice from an Excel CRM template, and this guide gives you the whole thing: five tabs, every column with its data type, the dropdown values, the formulas that do the counting, and a filled example for a coach with 12 clients. It works just as well for a freelancer or a small service business, because the core jobs are the same: know who your leads are, who is paying, what was agreed, and who needs a nudge this week. Build it in an afternoon, then use it until the practice outgrows it.
That point arrives sooner than most people expect, usually somewhere between 10 and 20 active clients, or the first time you want clients to book, pay, sign and check in without you copying anything by hand. A spreadsheet only ever sees what you type into it. Coachful is the purpose-built option we recommend at that stage: one login where the lead, the booking, the payment, the agreement, the program and the check-ins all land on the same client record, and one branded app for the client. We make Coachful, so read the comparison with that in mind; everything about the spreadsheet below is meant to be useful whether or not you ever switch.

What does a coaching CRM spreadsheet actually need to do?
It needs to answer five questions without you searching: who is in the pipeline, who is an active client, how many sessions each client has left, who owes money, and who has gone quiet. Everything else is optional. The table below lists the jobs a coaching practice asks of a CRM, whether a spreadsheet can do each one, and the usual workaround when it cannot.
| Job | Can a spreadsheet do it? | Usual workaround |
|---|---|---|
| Track leads from first contact to decision | Yes, with a stage column and a filter | A Leads tab with a dropdown for stage and a next-action date |
| Keep one record per client | Yes | A Clients tab as a formatted table with a unique client ID |
| Count sessions used and left in a package | Yes, with COUNTIFS | Log every session on a Sessions tab and count by client ID |
| Know who owes money | Partly: it records, it cannot collect | Log payments by hand from your processor, then SUMIFS against the price |
| Let clients book sessions | No | A separate booking tool, then copy each booking into the sheet |
| Send reminders before sessions | No | Calendar reminders or a booking tool; the sheet only flags dates |
| Get agreements signed | No | An e-signature tool; store the date signed and a file link in the sheet |
| Deliver homework, habits and check-ins | No, not in a way clients enjoy | Email, a shared doc, or a form that feeds a separate tab |
| Spot clients drifting away | Partly, from last-contact dates | A days-since-contact formula and conditional formatting |
| Give clients a place to see their progress | No, not safely | A separate file per client, shared individually |
| Work for a second coach or assistant | Partly | Shared workbook with protected ranges and careful permissions |
Read the "No" rows carefully before you commit. A spreadsheet is a record of what happened. It is not where things happen, so every booking, payment and check-in becomes a manual entry. For a practice with a handful of clients that is fine and even useful, because the act of logging keeps you close to the numbers. For a practice running group programs, it becomes a second job.
How do you build the Excel CRM template, step by step?
Create one workbook with five tabs: Lists, Leads, Clients, Sessions and Payments, plus an optional Dashboard. Turn each data tab into a formatted Excel Table so formulas use column names instead of cell ranges and extend automatically when you add rows. The steps below are in the order that avoids rework.
Step 1: Create the workbook and the Lists tab
- Open a blank workbook and save it as Practice CRM.xlsx in a folder that is backed up (OneDrive, if you want version history and sharing).
- Rename the first sheet Lists. This tab holds every dropdown value, so you change a stage name once and every dropdown follows.
- Type each list in its own column with a header in row 1, then select each column's values and give it a name in the Name Box (top left, beside the formula bar): LeadStages, ClientStages, Packages, SessionStatus, PaymentStatus, Sources.
Use these values to start. They are deliberately few; a dropdown with 14 options gets used inconsistently.
LeadStages: New | Discovery booked | Discovery done | Proposal sent | Won | Lost | Nurture ClientStages: Onboarding | Active | Paused | Completed | Alumni Packages: Single session | 6-session package | 12-week program | Monthly retainer SessionStatus: Scheduled | Completed | No-show | Late cancel | Cancelled PaymentStatus: Paid | Due | Overdue | Refunded Sources: Referral | Instagram | LinkedIn | Website | Podcast | Workshop | Other
Step 2: Build the Leads tab
Add a sheet called Leads, type the headers below in row 1, select A1 to K2 and press Ctrl+T (Cmd+T on a Mac) with "My table has headers" ticked. In Table Design, name the table tblLeads.
| Column | Type and format | Rule or formula |
|---|---|---|
| LeadID | Text | Type it: L001, L002 and so on. Never derive it from the row number, because sorting would change it. |
| DateIn | Date | Ctrl+; enters today's date as a fixed value |
| Name | Text | First and last name |
| Text | Lowercase; used later to spot duplicates | |
| Source | Dropdown | Data validation, List, source =Sources |
| Stage | Dropdown | Data validation, List, source =LeadStages |
| Interest | Dropdown | Data validation, List, source =Packages |
| NextAction | Text | One verb and an object: "Send proposal", "Follow up on call" |
| NextActionDate | Date | Conditional format red when earlier than today |
| EstValue | Currency | Expected package price |
| LostReason | Text | Only filled when Stage is Lost; the most useful column you will ever review |
Two formulas make this tab work for you. The first flags overdue follow-ups; the second shows duplicates when someone fills in your form twice.
Overdue flag (conditional formatting rule on NextActionDate, "Use a formula"): =AND($I2<>"", $I2<TODAY(), $F2<>"Won", $F2<>"Lost") Duplicate check (add a column DupCheck): =IF(COUNTIF([Email],[@Email])>1,"Duplicate","")
Step 3: Build the Clients tab
The Clients tab is the heart of the template. Most of its columns are typed once at signup; the rest are formulas that read the Sessions and Payments tabs, so you never update them by hand. Name the table tblClients.
- ClientID (text): C001, C002. Typed, never calculated.
- Name, Email, Phone (text), TimeZone (text, for example "Europe/London").
- Source (dropdown =Sources) and FromLeadID (text) so you can trace which channels produce paying clients.
- Stage (dropdown =ClientStages).
- Package (dropdown =Packages), Price (currency), SessionsBought (whole number).
- StartDate and EndDate (dates).
- AgreementSigned (date) and AgreementLink (hyperlink to the signed PDF in your storage).
- Goal (text, one sentence in the client's words).
- SessionsUsed, SessionsLeft, PaidToDate, Balance, NextSession, LastSession, DaysSince, Flag: formulas, below.
Paste these into the first data row of each formula column. Because the range is a Table, Excel fills the formula down the whole column and into every new row.
SessionsUsed:
=COUNTIFS(tblSessions[ClientID],[@ClientID],tblSessions[Status],"Completed")
+COUNTIFS(tblSessions[ClientID],[@ClientID],tblSessions[Status],"No-show")
+COUNTIFS(tblSessions[ClientID],[@ClientID],tblSessions[Status],"Late cancel")
SessionsLeft:
=[@SessionsBought]-[@SessionsUsed]
PaidToDate:
=SUMIFS(tblPayments[Amount],tblPayments[ClientID],[@ClientID],tblPayments[Status],"Paid")
Balance:
=[@Price]-[@PaidToDate]
NextSession:
=LET(n,MINIFS(tblSessions[Date],tblSessions[ClientID],[@ClientID],
tblSessions[Status],"Scheduled",tblSessions[Date],">="&TODAY()),
IF(n=0,"",n))
LastSession:
=LET(n,MAXIFS(tblSessions[Date],tblSessions[ClientID],[@ClientID],
tblSessions[Status],"Completed"),
IF(n=0,"",n))
DaysSince:
=IF([@LastSession]="","",TODAY()-[@LastSession])
Flag:
=IF([@Stage]<>"Active","",
IF([@Balance]>0,"Payment due",
IF(AND([@SessionsLeft]<=1,[@SessionsBought]>0),"Renewal talk",
IF(AND([@DaysSince]<>"",[@DaysSince]>14),"Check in",
IF([@NextSession]="","Book next session","OK")))))
Whether no-shows and late cancellations count against the package is a policy decision, not a formula decision. Write the rule in your agreement first, then delete the matching COUNTIFS line if your policy is more lenient.
Step 4: Build the Sessions tab
Every session gets one row, including the ones that did not happen. Name the table tblSessions.
- SessionID (text: S0001), ClientID (dropdown pointing at the ClientID column, see the tip below), ClientName (formula).
- Date (date), Start (time), Minutes (whole number).
- Type (text: Discovery, 1:1, Group, Review), Status (dropdown =SessionStatus).
- Summary (text, two lines at most) and Homework (text).
ClientName (shows the name so you never mistype an ID unnoticed): =XLOOKUP([@ClientID],tblClients[ClientID],tblClients[Name],"Unknown ID") Tip: for the ClientID dropdown, create a name ClientIDs with =tblClients[ClientID] (Formulas > Name Manager > New) then use =ClientIDs as the data validation source.
Keep detailed session notes out of the workbook. The Summary column is for "what we agreed", not for anything sensitive a client told you. More on why in the limits section.
Step 5: Build the Payments tab
Name the table tblPayments. Copy each payment from your payment processor's dashboard; the spreadsheet cannot see it on its own.
- PaymentID (text), ClientID (dropdown =ClientIDs), ClientName (same XLOOKUP as Sessions).
- Date (date), Amount (currency), Method (text: card, bank transfer), InvoiceNo (text).
- Status (dropdown =PaymentStatus), DueDate (date, for instalments not yet paid).
Overdue flag for instalments (conditional formatting on the row): =AND($I2="Due",$J2<TODAY())
Step 6: Add a one-screen Dashboard
A Dashboard tab with six numbers saves you from scrolling. Put the label in column A and the formula in column B.
Active clients: =COUNTIFS(tblClients[Stage],"Active") Open leads: =COUNTIFS(tblLeads[Stage],"<>Won",tblLeads[Stage],"<>Lost") Pipeline value (open leads): =SUMIFS(tblLeads[EstValue],tblLeads[Stage],"<>Won",tblLeads[Stage],"<>Lost") Collected this month: =SUMIFS(tblPayments[Amount],tblPayments[Status],"Paid", tblPayments[Date],">="&EOMONTH(TODAY(),-1)+1, tblPayments[Date],"<="&EOMONTH(TODAY(),0)) Overdue amount: =SUMIFS(tblPayments[Amount],tblPayments[Status],"Due",tblPayments[DueDate],"<"&TODAY()) Clients needing attention: =COUNTIFS(tblClients[Flag],"<>OK",tblClients[Flag],"<>") Lead-to-client rate (last 90 days): =IFERROR(COUNTIFS(tblLeads[Stage],"Won",tblLeads[DateIn],">="&TODAY()-90) /COUNTIFS(tblLeads[DateIn],">="&TODAY()-90),0)
Step 7: Views, protection and sharing settings
- Freeze the header row on every tab (View, Freeze Panes, Freeze Top Row) and the ID and Name columns on Clients.
- Save three filtered views on Clients: Stage = Active sorted by NextSession; Flag not equal to OK; Stage = Completed sorted by EndDate for alumni outreach. In shared workbooks, use Sheet View so one person's filter does not change what the other sees.
- Lock the formula columns: clear the Locked box on the input columns (Format Cells, Protection), then Review, Protect Sheet. This stops an accidental keystroke from overwriting a formula.
- Share with named people only, never with "anyone with the link". If an assistant needs the Leads tab only, give them a separate file.
- Turn on version history by keeping the file on OneDrive or SharePoint, so a bad paste can be undone a week later.
If you prefer a lighter version focused on progress columns rather than a pipeline, our client tracker spreadsheet for coaches covers a simpler single-tab layout that pairs with this one.
What changes if you build it in Google Sheets instead?
Almost everything carries over: the tabs, the columns, the dropdown lists and the functions COUNTIFS, SUMIFS, MINIFS, MAXIFS, XLOOKUP and LET all exist in Google Sheets. The main difference is how you refer to columns and how sharing behaves.
- Column references. Excel's [@ClientID] row references do not carry over. In Sheets, either use plain ranges (for example COUNTIFS(Sessions!B:B,A2,Sessions!H:H,"Completed") filled down), or convert each range to a Sheets table (Format, Convert to table) so columns have names and typed formats.
- Dropdowns. Data, Data validation, Dropdown (from a range), pointing at the column on your Lists tab. Sheets dropdowns can carry colors per value, which makes the Stage column easier to scan.
- Filtered views. Use Data, Create a filter view. Each person gets their own view without changing anyone else's, which is the Sheets equivalent of Excel's Sheet View.
- Forms. A Google Form can write new leads straight into a linked tab; Microsoft Forms can do the same for an Excel workbook stored online. Keep form responses on their own tab and copy them into Leads, because forms add rows in their own format.
- Protection. Data, Protect sheets and ranges. Lock the formula columns and allow edits only to the input columns.
- Size. Google documents a cap of 10 million cells per spreadsheet, and Excel's grid stops at 1,048,576 rows by 16,384 columns per sheet. A coaching practice will not hit either; it will hit the manual-entry ceiling long before.
- Sharing risk. Sheets makes link sharing very easy, which is exactly the risk: one "anyone with the link can view" setting exposes every client's details.
Pick whichever tool you already open every day. A CRM you check daily in a weaker tool beats a better one you avoid.
What does a filled example look like for a coach with 12 clients?
Here is the Clients tab for Maya, a fictional career coach. All names, prices and dates are an example to show how the formulas behave, not real data or a recommended rate. Assume today is 6 November 2026; her packages are a 6-session package and a 12-week program with weekly sessions.
| ID | Client (example) | Package | Stage | Sessions left | Balance | Next session | Days since | Flag |
|---|---|---|---|---|---|---|---|---|
| C001 | Aisha | 12-week program | Active | 7 | 0 | 10 Nov | 6 | OK |
| C002 | Ben | 6-session package | Active | 1 | 0 | 12 Nov | 8 | Renewal talk |
| C003 | Carmen | 12-week program | Active | 9 | 600 | 11 Nov | 5 | Payment due |
| C004 | Daniel | 6-session package | Active | 4 | 0 | (none) | 19 | Check in |
| C005 | Elif | 12-week program | Active | 3 | 0 | 13 Nov | 7 | OK |
| C006 | Femi | 6-session package | Active | 5 | 0 | (none) | 9 | Book next session |
| C007 | Grace | 12-week program | Onboarding | 12 | 0 | 9 Nov | (none) | |
| C008 | Hiro | 6-session package | Paused | 3 | 0 | (none) | 41 | |
| C009 | Isabel | 12-week program | Active | 6 | 0 | 10 Nov | 4 | OK |
| C010 | Jonas | 6-session package | Active | 2 | 0 | 14 Nov | 16 | Check in |
| C011 | Kemi | 12-week program | Completed | 0 | 0 | (none) | 12 | |
| C012 | Leo | 6-session package | Active | 6 | 0 | 8 Nov | (none) | OK |
On Monday morning Maya filters Flag to anything except OK and blank, and gets five rows: Ben needs a renewal conversation before his last session, Carmen's second instalment is outstanding, Daniel and Jonas have gone more than two weeks without a session, and Femi has sessions left but nothing booked. Grace, Hiro and Kemi show no flag because the formula only watches Active clients. Hiro's 41 days is worth a glance anyway; paused clients are where packages quietly expire.
Notice what Maya still has to do by hand. She checked her calendar and typed in this week's bookings. She opened her payment dashboard to confirm which instalments cleared. She will now write five separate emails. The spreadsheet told her who to contact; it did nothing about it. That is the trade you accept with any DIY CRM, and with 12 clients it is roughly an hour a week. Double the clients and it doubles, plus the errors that come with tired copying.
What does the client see, on a phone?
Nothing, and that is the biggest gap between a spreadsheet CRM and a coaching platform. The workbook is a back office. Your client's experience is whatever arrives in their inbox: a calendar invite, a payment link from somewhere else, a PDF agreement from a third tool, and homework in an email thread they have to scroll back to find.
You cannot fix this by sharing the spreadsheet. Sharing the master file exposes every other client. Hiding rows or columns does not protect them, because anyone with edit or download access can unhide them. The only safe workaround is a separate file per client, shared individually, which multiplies the maintenance and still looks like a spreadsheet on a small screen: pinch, zoom, scroll sideways, edit the wrong cell.
Compare that with a client hub built for the job. In Coachful, the client opens one branded app and sees their next session, the tasks to finish before it, their programs, progress and documents.

Between sessions the same app carries their habits and check-ins, so the "days since contact" column you built above becomes something the client fills in themselves by doing the work.

What are the limits that matter before you rely on a spreadsheet?
The limits are not row counts. They are privacy, the jobs a sheet cannot perform, and the hours you spend keeping it true. Check each one against your practice before you build.
Privacy and sharing risk
A spreadsheet has one permission level per file or per range, not per client. If you work with clients in the EU or UK, the General Data Protection Regulation applies to the personal data you hold about them, including in a workbook: collect only what you need, keep it secure, and be able to export or delete one person's data on request. In a spreadsheet, deleting one client means finding them on every tab. If you coach on health, keep anything clinical out of the sheet entirely. Coaching is not medical treatment, and medical details belong with the client's doctor or a clinical system, not in a coaching CRM of any kind.
Payments
The Payments tab is a copy of reality, typed by you. It cannot send an invoice, retry a failed card, or run an instalment plan. Every failed payment you miss is money you only notice at month end.
Booking and reminders
A spreadsheet cannot show availability, accept a booking, adjust for time zones or send a reminder. You will need a booking tool regardless, and then the booking lives in two places.
Check-ins and program delivery
Weekly check-ins, habits and multi-week programs are what clients pay coaches for between sessions. A form that writes into a tab is possible; reviewing 20 rows of form answers every Sunday is not a client experience.
Mobile
Both Excel and Google Sheets have phone apps, and both are usable for looking up one number. Updating a 25-column row on a phone between calls is where mistakes start.
A team
Two people editing the same workbook works until one of them sorts a column with the filter off. Protected ranges help; per-coach visibility does not exist in a spreadsheet.
Cost
Excel for the web and Google Sheets are free with a Microsoft or Google account, and desktop Excel comes with a Microsoft 365 subscription. We could not confirm Microsoft's current subscription prices today, so check its plans page before buying a license only for this. The real cost of the spreadsheet is the separate booking, payment, e-signature and email tools you add around it, plus your hours.
When is a purpose-built coaching platform worth it?
When the manual steps cost more than the subscription, or when clients start noticing that your practice runs on five disconnected tools. A useful test: if you spent more than an hour last week copying bookings, payments or check-ins into a spreadsheet, the spreadsheet has become the expensive option.
What Coachful is. Coachful is a coaching platform: booking, payments, coaching agreements with e-signature, programs with habits and check-ins, courses, a community, a website with funnels and email, and an AI assistant, under one login for the coach and one branded app for the client. It is built for coaches who deliver programs and not only sessions, for solo coaches growing into a small team, and for coaches replacing four to six tools. What it does not do: it is not HIPAA-certified and is not for clinical records or insurance billing; it has no PayPal and no permanent free plan; it has no multi-stage deal board for large sales teams and no Salesforce or HubSpot integration. How to start: take a free trial, then ask the team to set up your account through the free white-glove build service.

Every column you built by hand above has a home. The client record holds goals, check-ins, habits, notes, intake answers, tags, payments and sessions, and gives each client a status of thriving, active, quiet or at risk, which is the Flag column without the formula. Leads come in through booking, application and lead-magnet funnels and land on the coaching CRM side with their source and stage.

Discovery calls get their own view with upcoming calls, conversions and a conversion rate, which replaces the lead-to-client formula on your Dashboard tab.

Booking runs through booking pages with availability rules, buffers, minimum notice, time-zone detection and two-way Google, Apple/iCloud and Outlook calendar sync, plus email reminders, and SMS and WhatsApp reminders once messaging is enabled. Sessions can be paid at booking or drawn from session credits, which replaces your SessionsBought column.

Payments go through your own Stripe Connect or Razorpay account: one-time, subscriptions, payment plans, coupons and refunds, with an invoice per transaction. Coachful charges a 0% platform fee; only the processor's fees apply. See coaching payment software for the detail.

Coaching agreements are sent with e-signature before the first call and stored on the client record, so the AgreementSigned and AgreementLink columns disappear.

This short walkthrough shows the clients area, where the records you used to maintain by hand sit in one place:
Why Coachful stands out: a free white-glove service. On every plan, you can open Create, choose "We'll build it for you", and describe what you want: a website, a funnel, a program, an email sequence, a form or worksheet, and more. You can attach up to 8 reference links and up to 10 files, such as your logo, brand guide or existing copy. The Coachful team builds it inside your own account, usually within about 24 hours, and invents nothing: no fake credentials, testimonials or prices, and gaps are left for you to fill. One leadership coach with a website renewal days away got a single clean homepage with a repeated "talk with me" button; a real-estate and money coach got a year-long cohort program with an application form, an eight-page site and a nine-day bootcamp funnel. It does not cover recording videos, logo design, ad management or ongoing marketing. Read more about the free white-glove service.

How does the spreadsheet compare with Coachful and dedicated coaching CRMs?
We compared on four things that decide whether a CRM saves time for a coaching practice: one login for the whole client journey, delivery between sessions, total stack cost, and setup effort. Vendor prices are as listed in October 2026 and change often, so confirm on each vendor's own site.
| Option | Starting price | Booking and reminders | Payments | Client app or portal | Programs, habits, check-ins |
|---|---|---|---|---|---|
| Coachful | Lite: $29/month for up to 5 clients | Yes, with two-way calendar sync, email, SMS and WhatsApp reminders | Your own Stripe or Razorpay; 0% platform fee | Branded client app | Yes, plus courses, community and AI assistant |
| Excel or Google Sheets template (this guide) | Free web versions; desktop Excel needs a Microsoft 365 subscription | No; add a separate tool | Records only; add a processor | No; per-client files only | No |
| Paperbell | $97/mo single plan ($80.83/mo billed annually) | Yes | Yes, Stripe or PayPal | Client portal; mobile browser, no native app | No goal or habit tracking, no courses or community |
| Practice Better | $0 Sprout for 3 clients; Starter $35/mo for 10 clients | Yes | Yes, Practice Better Payments via Stripe | Client portal; branding and custom URL from Plus at $99/mo | Programs; evergreen programs from Plus |
| HoneyBook | Starter $29/mo billed annually; Essentials $59/mo | Scheduler from Essentials | HoneyBook's own processing | Client portal | No programs, courses, habits or check-ins |
| Dubsado | Starter $35/mo; Premier $55/mo | Scheduler on Premier only | Yes, processor rates apply | Client portal; mobile app is a companion | No courses, community, habits or check-ins |
HoneyBook and Dubsado are general client-workflow CRMs for service businesses, which suits many freelancers, but neither delivers coaching between sessions. Paperbell and Practice Better are closer to coaching and wellness practice, with the gaps noted in the table. For a wider view, see our guide to the best CRM for coaches, or the niche versions for life coaches and career coaches.
How do you move from the spreadsheet into Coachful?
Send the workbook during onboarding: clients, programs and content are imported for you. The structure you built in this guide makes that import clean, because every client already has one row, one ID and a known stage.

Before you hand it over
- Remove duplicates using the DupCheck column and merge any client who appears twice.
- Fill the Email column for every active client; it is how each client will be invited.
- Strip anything sensitive out of Summary and Notes columns, and delete clients you no longer have a reason to keep.
- Export each tab as CSV as well as keeping the .xlsx, so you have a dated archive of the old system.
What you rebuild rather than import
- Packages become offers with real checkout, payment plans and coupons, instead of a Price column.
- Session types become booking pages with your availability rules, so you stop logging Scheduled rows by hand.
- Lead stages become prospect stages, and your intake questions move onto the booking page.
- Your agreement becomes a coaching agreement sent for e-signature before the first call.
- Homework columns become program tasks, habits and check-ins, or start from one of more than 40 program templates and coaching flow templates.
What clients notice
They get an invitation to your branded app, one link to book, one place to pay, and their next session and tasks on their phone. Active clients mid-package should be told the date of the switch and how many sessions carry over; your SessionsLeft column is the number to quote them. Keep the spreadsheet read-only for a month as a fallback, then archive it.
If you are starting a practice rather than moving one, the guide for new coaches and the coaching templates are a faster route than building the workbook first. For the habits of running any CRM well, our coaching client CRM management guide covers weekly reviews and pipeline hygiene, and managing coaching pipelines without a sales CRM covers lead stages in more depth.
What mistakes break an Excel CRM?
- Using row numbers as IDs. Sort once and every Sessions row now points at the wrong client. Type IDs and never reuse them.
- Merging cells or leaving blank rows. Tables, filters and SUMIFS all assume one record per row with no gaps.
- Free-typed stages. "Active", "active " and "ACTIVE" are three different values to COUNTIFS. Every status column should be a dropdown.
- Storing session notes in the CRM. Detailed notes are the most sensitive data you hold and the least useful in a grid. Keep a two-line summary at most.
- Typing totals by hand. If SessionsLeft is a number you edit, it will be wrong within a month. Let the formula derive it from the Sessions tab.
- Sharing by link. "Anyone with the link" is a data leak waiting for a forwarded email.
- No weekly review. A CRM is a habit, not a file. Put a 20-minute slot in your calendar to clear flags and update stages.
- Building for 200 clients when you have 8. Start with the columns above and add one only when you have needed it three times.
- Staying past the ceiling. When copying data in takes longer than coaching prep, the spreadsheet has stopped being free.
Frequently asked questions
Is there a free Excel CRM template for coaches?
The structure in this guide is free to copy: five tabs, the column list for each, the dropdown values and every formula. Build it in a blank workbook in under two hours. Excel for the web and Google Sheets both run it without a paid license.
Can I use this Excel CRM template for a freelance or small service business?
Yes. Rename Packages to services or retainers and Sessions to deliverables or meetings, and the formulas work unchanged. The pipeline, balance and days-since-contact logic is the same for any business that sells time or projects to individual clients.
Should I build it in Excel or Google Sheets?
Use the one you already open daily. Excel's structured table references make the formulas easier to read; Google Sheets makes collaboration and form intake slightly simpler. Both support the functions used here, including XLOOKUP, MINIFS and LET.
How many clients can a spreadsheet CRM handle?
Technically thousands. Practically, most coaches find the manual entry becomes a burden somewhere between 10 and 20 active clients, especially with group programs or instalment payments. The limit is your time, not the grid.
Is it safe to store client information in a spreadsheet?
It can be, if access is limited to named people, the file is in protected storage with version history, and you keep sensitive notes out of it. It is not safe to share the master file with clients. Health coaches should keep clinical details out of any coaching CRM and refer clients to a doctor when something is outside coaching.
Can clients book or pay through the spreadsheet?
No. A spreadsheet only records bookings and payments that happen elsewhere. You will need a separate booking tool and payment processor, and you will copy their data into the workbook.
What does Coachful replace from this template?
Every tab. Leads become prospects with stages, Clients become client records with status, Sessions come from booking pages and calendar sync, Payments come from your own Stripe or Razorpay account, and the Flag column becomes the thriving, active, quiet or at-risk status. Current plans: Lite: $29/month for up to 5 clients; Solo: $49/month for up to 20 clients; Pro: $99/month with unlimited clients; Studio: $199/month with unlimited clients.
What is Coachful's free white-glove service?
It is a build service included on every plan. You describe what you want, such as a website, funnel, program, form or email sequence, attach references and files, and the Coachful team builds it inside your account, usually within about 24 hours. It does not include video recording, logo design, ads or ongoing marketing.
Will I lose my spreadsheet data if I switch?
No. Clients, programs and content are imported for you during onboarding, and you keep the original workbook as an archive. Coachful also exports your client data as a ZIP if you ever leave.
Is Coachful a good fit for a team of coaches?
For a small team, yes: Studio and Agency plans add coach seats with per-coach availability and staff permissions. It is not built as a multi-stage sales deal board for a large sales team, and it has no Salesforce or HubSpot integration. Compare all options on our comparison page.







