Template
Free sales pipeline template
A pipeline tracker with the columns that actually change a decision and none of the ones that do not. Download the CSV, open it in Google Sheets or Excel, and pick one of the eight stage sets below to match how your business really sells.
Download the template
A CSV file. Open it in Excel, or use File then Import in Google Sheets. No account and no email address.
sales-pipeline-template.csvThe columns, and why each one is there
| Column | Why it earns its place |
|---|---|
| Company and contact | The account is the thing you are selling to. A pipeline keyed on a person loses the deal when they change jobs. |
| Deal name and stage | One line of what it is and where it has got to. Stage definitions matter more than stage count. |
| Value and currency | Currency is a column because a sheet with mixed currencies and no marker is a forecast that lies quietly. |
| Expected close date | A date somebody chose. Not the end of the quarter by default, which is how forecasts become fiction. |
| Owner | One name. A deal owned by the team is owned by nobody. |
| Source and introduced by | Where it came from, and the named person who introduced it. The second column is the one that tells you where next year work comes from. |
| Next step and next step date | The single best predictor of whether a deal is alive. A deal with no dated next step is not being worked. |
| Last contact | Sort by this ascending once a week. The top of that list is the whole review. |
| Notes | One cell, deliberately. If the notes need more room than a cell, the sheet has stopped being the right tool. |
8 stage sets to choose from
Pick the one that matches how you actually sell and paste it into the Stage column validation. Copying a stage set from a business that sells differently is the most common way a pipeline stops meaning anything.
Agency new business
- Enquiry
- Chemistry call
- Brief received
- Pitch or proposal
- Negotiation
- Won
- Lost
The brief is the stage that matters. A pitch with no written brief is a conversation with a deadline.
Consulting engagement
- Introduction
- Problem framing
- Scoping
- Proposal
- Approval
- Won
- Lost
Approval is separate from proposal because it is somebody else calendar, and that is where consulting deals actually sit.
Software project or outsourcing
- Qualified
- Discovery
- Technical validation
- Commercials
- Contract and legal
- Won
- Lost
Legal is its own stage because it takes weeks and nothing you do speeds it up. Hiding it inside the last stage makes every forecast late.
SaaS sales-led
- Qualified
- Demo
- Evaluation
- Business case
- Procurement
- Won
- Lost
Business case is a buyer action: they have to write something internally. If nobody is writing it, the deal is at demo.
SaaS product-led expansion
- Signal
- Contacted
- Value conversation
- Proposal
- Expanded
- No expansion
Runs separately from new business. Mixing self-serve expansion into a new logo pipeline ruins both numbers.
Retainer and renewal
- In term
- Renewal window
- Renewal conversation
- Agreed
- Renewed
- Lapsed
Every retainer sits in a stage all year, which is the point: renewal window opening should be visible months out.
Referral and partner sourced
- Introduction offered
- Introduction made
- First conversation
- Scoping
- Proposal
- Won
- Lost
The first two stages exist because an offered introduction that never gets made is the most common silent loss in a referral business.
Simple three-stage
- Talking
- Deciding
- Won or lost
For a team that has closed fewer than twenty deals. You do not know your stages yet, and guessing them makes people avoid the sheet.
How to run it, in ten minutes a week
Sort by last contact, oldest first. Everything above the two-week line either gets a dated next step or gets closed out. That is the whole review, and it works better than most pipeline meetings.
Once a month, sort by expected close date and ask one question per row: what does the buyer have to do next. If the answer is a thing you do rather than a thing they do, the deal is not where the stage says.
Where a spreadsheet stops working
Two people editing it. Not because of the file locking, which is solved, but because the conventions drift: the same company gets two spellings and the sheet has no idea they are the same.
The last-contact column. It is the most useful column in the sheet and the first one to go stale, because nothing updates it except a person remembering to. That is the specific thing a CRM does that a sheet cannot.
Anything you want to ask across time. Revenue per client over three years is a joining question, and joins are what spreadsheets are worst at.
When you outgrow it
The columns are named to map onto standard CRM fields, so this file imports cleanly. Portage reads the CSV, maps the columns and owners, shows a preview with record counts, then imports in the background with rollback if the mapping was wrong. Tidy the company names first: duplicate spellings become duplicate records, and that is true of every CRM, not just ours.
