# Tracking sales in a CRM instead of a spreadsheet: eight fields and three views

https://salesbond.app/blog/crm-sales-tracking-from-spreadsheet/
Published: 2026-10-10 · Updated: 2026-10-26

To track sales in a CRM instead of a spreadsheet, move only the fields you read every week: deal name, owner, amount, stage, expected close date, next step with a date, lead source and status. Then build three views on top of them: open deals, overdue next steps, and deals closed this month. Everything else your spreadsheet had, or your CRM offers, stays optional until one of those three views asks for it. This holds in Pipedrive, HubSpot, Salesforce or Zoho CRM alike; the field labels differ, the discipline does not.

## The spreadsheet worked until it had a second editor

Most sales spreadsheets we have seen started well. A founder or a first rep opens a sheet, types eight columns across the top, and for a year it is the most honest sales report in the company. Every row is a deal, every deal has a next step, and the person who typed it is the person who reads it on Monday morning.

Then a second rep joins. She adds a column for “Priority” because her deals feel different. She sorts by amount and forgets to re-sort. He types “Closed Won” where she types “won” and someone else types “WON ✓”. A third person, the manager, starts a second tab called “Pipeline (real)” because the first one no longer matches what people say in the meeting. By month three the Friday pipeline review is spent reconciling the sheet instead of discussing deals.

The sheet did not fail because it was a spreadsheet. It failed because two people shared one table with no rule about who writes what, and the the table kept no memory of who changed which cell. That is the actual job a CRM does for a small team: one record per deal, one owner per record, a history behind every change. Not forty fields. Not a scoring model. One record, one owner, a history.

This matters because teams carry the fix too far. They move from eight loose columns to a CRM, open the field settings, and switch on everything that looks useful. Three weeks later the reps are back to a private sheet, and the manager is reading our piece on [why reps stop keeping the CRM up to date](https://salesbond.app/blog/crm-adoption/). The fields were the cause, not the people. If you want the sheet to survive as a working tool next to the CRM, that is a different setup, covered in [a sales tracking spreadsheet that lives beside Pipedrive](https://salesbond.app/blog/sales-tracking-spreadsheet-pipedrive/). Here the sheet retires, and the subject is CRM sales tracking from the first import onward. Which CRM to buy is a separate question.

## What to carry over: eight fields, no more

Our rule for the first import is simple. A column earns a CRM field only if somebody reads it every week to make a decision. Not “might need it for a report later”. Reads it. Every week. That test leaves eight fields on a typical sheet. Most of them come built in. The two that usually need setup are lead source (HubSpot deals have no standard one, so it becomes a custom dropdown) and a dated next step, which most CRMs keep as an activity or a task rather than a field on the deal.

| Field | Why you read it every week | Who fills it |
| --- | --- | --- |
| Deal name | To find the deal in a list and say it out loud in a meeting | Rep, at creation |
| Owner | To know who answers for it; one name, never a shared account | Rep, at creation; manager changes it |
| Amount | To add up the pipeline and compare it to target | Rep, updated when the quote changes |
| Stage | To see how far the buyer has come, in your pipeline’s own words | Rep, moved when the buyer does something |
| Expected close date | To decide which deals matter this month and which are next quarter’s | Rep; a date, never “Q4” |
| Next step with a date | To see whether anything is scheduled, and when | Rep, after every contact |
| Lead source | To learn which channel brings deals that close | Rep, once, from a dropdown |
| Status | Open, won or lost; the only field that says whether a deal is still alive | Rep when it closes; the CRM when it is built in |

Four notes on the table, because the trouble hides in the details.

Next step is a date plus a short verb, not a paragraph. “Call Dana about the pilot scope, Oct 16.” Salesforce, HubSpot and Zoho CRM each have a Next Step text field, but it carries no date, and Pipedrive has no such field at all; it uses a scheduled activity. So the date ends up in an activity or a task, and that is fine. In Salesforce the cleanest shape is [one open task per opportunity with a due date](https://salesbond.app/blog/salesforce-tasks-next-step-rule/). What matters is that the view in the next section can ask “which open deals have no dated next step?” and get an answer.

Status and stage are different things, and sheets usually merge them into one “Status” column that holds both “Proposal” and “Lost”. Keep stage for where the buyer is and status for whether the deal is alive. Pipedrive keeps them apart for you: every deal has a status of open, won or lost on top of its stage. HubSpot, Salesforce and Zoho CRM treat won and lost as closing stages of the pipeline instead, so the sheet’s “Lost” maps to a closed-lost stage, not to a new field. Either way, the import has to split that one column in two.

Lead source is a dropdown with a short list, agreed before import. Free text gives you “LinkedIn”, “linkedin”, “Linked In” and “referral (LinkedIn)” within a month and the field becomes unreadable for exactly the question it exists to answer.

None of the eight should be required at creation except deal name and owner. Required-by-stage rules are a good idea later, once the team trusts the CRM; we wrote them up for [Pipedrive](https://salesbond.app/blog/required-fields-pipedrive/) and for [HubSpot’s stage-level required properties](https://salesbond.app/blog/hubspot-stage-required-properties/). In the first two weeks, a blank field is information. A deal that cannot be saved is a rep who goes back to the sheet.

## What to leave in the spreadsheet graveyard

Now the harder half: the columns that do not come along. Open the old sheet and look at what accumulated to the right of the eight.

There is usually a “Notes” column holding two years of pasted email fragments. That is a diary, not a field. Move the last three lines of each open deal into the CRM’s notes or activity log on the day you import, and leave the rest in the archived sheet, which stays readable forever. Nobody will ask for the 2024 notes on a deal that closed in 2024, and if they do, the sheet is still there.

There is a “Last contact” column, updated by hand, wrong on half the rows. In a CRM that date comes from logged activities, so a hand-typed copy of it is a second source of truth, and second sources of truth are the exact disease you are leaving the sheet to cure. Same with “Days in stage”, “Age” and anything else with a formula in it. If the sheet computed it, the CRM usually computes it; do not make it a field.

There is a “Probability %” column. In a sheet it is a feeling expressed as a number, and we would not carry it over for a team this size. Stage plus expected close date tells a manager more than a percentage one rep set at 70 because he liked the buyer. If you later want weighted forecasting, you can set a probability per stage in the pipeline settings, so it is the same for every deal in that stage. That is the only way the number means anything.

There is a “Priority” column with colored cells, a “Boss comments” column, and three columns named “Follow-up 1”, “Follow-up 2”, “Follow-up 3”. Priority is what the overdue view will tell you. Comments go into the deal’s notes with a name and a date attached. The three follow-up columns collapse into one next step, because a plan nobody has made yet does not need a field.

Closed deals from the sheet are the last question, and our answer is: leave them. Import the open ones, freeze the sheet as read-only, rename it “Pipeline archive, until “, and let the CRM’s closed-won history start on day one. You lose a year of history in the CRM’s reports and you gain an import that takes an afternoon instead of a month of cleaning status spellings. The old data is in the archive; let it be right there. If the sheet you are leaving is a forecast, here is [why a spreadsheet forecast keeps breaking](https://salesbond.app/blog/sales-forecast-template-crm-fields/).

## Three views to build on day one

Eight fields are not the product of the migration. The three views are, and every CRM on the list lets you save a filtered list, whether it calls it a filter, a saved view, a list view or a custom view. Build these before the first rep logs in, so the CRM opens onto something a person would actually look at. They are also the honest answer to “how do I track sales performance?” for a team this size. One translation first: where a filter below says “status is open”, in HubSpot, Salesforce or Zoho CRM read “stage is not a closed stage”.

![Diagram: eight deal fields feeding three CRM views — open deals, overdue next step, closed this month](https://salesbond.app/wp-content/uploads/2026/10/crm-sales-tracking-from-spreadsheet-2.png)

1. Open deals. Filter: status is open. Sort by expected close date, soonest first, grouped by owner. This is the Monday view, the one that replaces the sheet in the team meeting. If a rep’s deals sit at the top with dates in the past, the meeting starts there.
2. Overdue next step. Filter: status is open, and the next step date is before today or there is no next step at all. Each rep opens it every morning; the manager opens it on Wednesday and reads it with the rep. In the sheet this list did not exist, which is why deals went quiet without anyone noticing. It is the single biggest change the CRM brings, and it costs nothing.
3. Closed this month. Filter: status is won or lost, close date in the current month, sorted by amount. Read it on Friday afternoon and at month end. It is where you find out whether amounts and lead sources were filled in, because a won deal with no lead source is a lesson you paid for and cannot collect.

Resist a fourth view in week one. “Deals by lead source”, “stale deals”, “big deals over X” are all good, and all of them are a filter away once the eight fields are filled. When three views stop answering the manager’s questions, the next step is a small set of numbers rather than more views; we laid out [the six numbers a sales manager’s dashboard needs](https://salesbond.app/blog/sales-manager-dashboard-six-numbers/) for that moment.

## First two weeks: one owner, one Friday check

Pick one person who owns the CRM setup. Not a committee, not “everyone can edit the fields”. That person creates the eight fields where they are not standard, builds the three views, imports the open deals, and holds the only admin login for two weeks. Field requests from the team go into a list, not into the CRM. After two weeks the owner reads the list and adds whatever at least two people asked for and can explain which view it would change.

On day one the spreadsheet becomes read-only. Say it out loud in the meeting: new deals go into the CRM, the sheet is an archive, nobody updates it. Half-migrations, where the sheet and the CRM both stay live “for a while”, are the most common way this fails, because the rep updates whichever is open and the manager reads whichever he trusts, and those are never teh same one.

The Friday check is ten minutes. Open the open-deals view and count blanks across the eight fields. Open the overdue view and count rows. Open closed-this-month and check that every won deal has an amount and a lead source. Write the three counts down somewhere the team sees them. Two weeks of those counts tell you more about whether the migration worked than any adoption dashboard and when you are ready to formalize it, [a short set of CRM data quality metrics](https://salesbond.app/blog/crm-data-quality-metrics/) is the next step.

A disclosure, since this is where a tool enters the picture: we build SalesBond, a sales management layer on top of the CRM a team already uses, and its Deal Health product runs more than 20 rules across open deals, including the one this article is really about, an open deal with no dated next step. It is one way to get the Friday counts without opening three views by hand. [Check your CRM with SalesBond](https://salesbond.app/) if the counts start to drift after week two. For the first two weeks, the three views and a notepad are enough. If you are moving off the sheet, a [four-week CRM implementation plan](https://salesbond.app/blog/crm-implementation-plan-small-sales-team-four-weeks/) for a small sales team gives the move a schedule.

## The sheet was never the problem

Eight columns in a spreadsheet, kept by one person, is a perfectly good sales tracking system. It broke the day a second person needed to write to it, and that one thing is what the CRM fixes.

So start small this week. Open the old sheet, mark the columns somebody actually read last Monday, and grey out the rest. If your marked list is longer than eight, ask which of the three views each extra column would change. Move forty fields instead and you get a very expensive spreadsheet with a login screen, and in three months someone will quietly start a new tab. If your sheet has grown into a Notion database, five checks on [what a Notion CRM cannot enforce](https://salesbond.app/blog/notion-crm-sales-team-what-it-cannot-enforce/) for a sales team apply the same way.
