The simplest sales tracking system that gets used consistently beats the most sophisticated system that gets ignored. Here’s a practical Excel template for tracking freelance proposals and orders, with the columns that matter and the ones to skip.
Before building a complex tracking system, consider what you actually need to answer from it: Which proposals are outstanding? Which follow-ups are overdue? Which invoices haven’t been paid? A well-structured spreadsheet answers all three in about 30 seconds per week.
The core template structure
Here’s the column set that covers most freelance sales tracking needs:
Column A: Client Name The company or person name. Enough detail to identify the prospect.
Column B: Service / Project Type What you’re selling. Useful for filtering and for analyzing which service types close at higher rates.
Column C: First Contact Date When did this lead enter your pipeline? Helps you track average time-to-close and identify prospects who’ve gone cold.
Column D: Proposal Sent Date When did you send the proposal? Used to calculate how long each opportunity has been in the pipeline.
Column E: Proposal Value The estimated or proposed project value. Important for prioritizing follow-ups—a $10K proposal that’s stalling deserves more attention than a $500 one.
Column F: Status The most important column. Use consistent shorthand: L (Lead), PS (Proposal Sent), V (Viewed/Opened), N (Negotiating), A (Accepted), D (Declined), IP (In Progress), INV (Invoiced), P (Paid).
Column G: Follow-Up Date When is your next scheduled follow-up for this prospect? Filter by this column every Monday to see who needs attention.
Column H: Invoice Amount The actual invoiced amount (may differ from proposal if scope changed).
Column I: Invoice Sent Date When was the invoice sent?
Column J: Payment Received Date When was it paid? Blank means outstanding.
Column K: Notes Anything relevant: key client contact, decision-maker name, competitor mentioned, special pricing.
How to use it weekly
The weekly review takes 10–15 minutes:
- Open the spreadsheet
- Filter by “Follow-Up Date” = today or earlier. These need action.
- Scan all rows with Status = PS (Proposal Sent) and no follow-up in the last 5 days. Add a follow-up date.
- Check all rows with Status = INV and Payment Received Date = blank. If overdue, initiate a payment follow-up.
- Update any statuses that have changed since last week.
- Close out declined or dead opportunities by changing status to D and moving them to an archive sheet.
Color-coding the Status column makes the weekly review faster. Use green for Accepted/Paid, yellow for Sent/Viewed/Negotiating, red for Overdue/Stalled. At a glance, you can see the health of your pipeline without reading every row.
Setting up the spreadsheet in Google Sheets
- Open Google Sheets and create a new sheet named “Pipeline”
- Add the column headers in Row 1 (freeze this row so it stays visible when scrolling)
- Create a second sheet named “Archive” with the same headers
- In the Status column, use Data Validation (Data menu → Data validation) to create a dropdown with your status codes—this prevents typos and keeps data consistent
- Format the Follow-Up Date and Proposal Sent Date columns as dates
- Add conditional formatting to the Status column: green fill for A/P, yellow for PS/V/N/IP, red for overdue (you can flag overdue by comparing Follow-Up Date to today)
- Create a simple summary at the top: COUNTIF formulas showing count of each status type
Sample formulas
Count active proposals: =COUNTIF(F:F,"PS")+COUNTIF(F:F,"V")+COUNTIF(F:F,"N")
Total pipeline value: =SUMIF(F:F,"<>D",E:E) (sum of Proposal Value where status isn’t Declined)
Close rate: =COUNTIF(F:F,"A")/(COUNTIF(F:F,"A")+COUNTIF(F:F,"D")) (Accepted divided by Accepted + Declined)
Overdue follow-ups: =COUNTIFS(G:G,"<"&TODAY(),F:F,"<>A",F:F,"<>D",F:F,"<>P") (follow-up dates in the past that aren’t closed)
When to upgrade
This spreadsheet approach works well up to about 15–20 active proposals at a time. At higher volumes, manual updates become error-prone. Signs you’ve outgrown the spreadsheet:
- You’re updating it less than weekly because it feels like work
- You’ve missed follow-ups because the spreadsheet wasn’t current
- You want automatic notifications when proposals are opened
- You want proposal-to-invoice conversion in one step
At that point, a dedicated proposal tool that auto-updates status when proposals are sent, opened, and accepted—and that converts accepted proposals to invoices without re-entering data—is worth the monthly cost.
Ready to send stronger proposals?
Build, send, and track proposals in one place so follow-up is easier.
Start your free trial →





