Explore the Running a finance job search hub and the finance careers guide.
A job application tracker is only worth keeping if every row tells you what happens next.
Most free templates give you company, title, date, link, status and notes. That's a record of what you did, and it won't stop you applying twice to the same req or losing track of which resume went where.
The one on this page is free, built for finance roles, and opens in Excel and Google Sheets. It's part of our guide to running a finance job search.
What a job application tracker should include
A job application tracker should include the usual columns, company, role, date, link, contact and notes, plus five more that do most of the work in a finance search: the req ID, the posted pay range, agency or direct, the resume file you sent, and a count of your applications at that company.
The templates university career offices hand out stop at the usual ones.
The five columns generic templates miss
| Column | Why it's there |
|---|---|
| Req ID | The requisition or job number. It catches the same role reposted under a new link, so you don't send a second application to one req. |
| Posted range | The low and high end, if the employer posted one. It tells you the level before the first call. |
| Agency or direct | An agency posting and a direct one can post different ranges for the same kind of seat. |
| Resume file | The exact file you sent. It's the one they'll read back to you in the interview. |
| Apps at company | How many applications you already have in at this company. It fills itself in. |
A posted range is there to copy more often than it used to be. New York, for one, requires a good-faith pay range in job ads.
Type both ends in and the template works out the midpoint.
Agency or direct goes in the Source column. On controller postings, agencies posted plain controller roles about $10,000 higher than direct employers did, and corporate controller roles lower.
The split is in controller salary by level. Record only the company and you'll never see it in your own search.
The statuses: seven stages, two exits
A job application tracker should use a short, fixed list of statuses, picked from a dropdown, and nothing else. This template has seven stages and two exits. The status column decides whether the tracker works, because a status someone typed in on the day is a row you can't count.
When I saw rows in my own tracker sitting in states nobody had agreed on, I said it plainly: "those are the only states I want."
Anything outside the list is how you get dirty data.
It's the same reason a close runs on a fixed chart of accounts. Let anyone open a new account at month end and the trial balance stops meaning anything. Let anyone type "maybe" or "pinged them" into a status column and you can't count your own pipeline.
The seven stages in the template
- 1New: found it
- 2Shortlisted: passed your rules
- 3Building: tailoring the resume
- 4Ready: saved, not sent
- 5Applied: sent, confirmed
- 6Interviewing: talking to them
- 7Outcome: offer or rejection
New means you found it and haven't looked closely yet. Shortlisted means it passed your own rules on level, pay and location. The two exits are Disqualified, when a role fails one of those rules, and Closed, when the posting comes down before you apply.
The template's dropdown refuses anything else.
Set it before the first row, because fifty rows of free text are much harder to clean up.
Ready is not applied
Ready is not applied. A Ready row means the resume is tailored and saved. An Applied row means the form went and you can show the confirmation. A finished resume feels like a sent one, and that's exactly how the two get mixed up.
This one caught me.
I remembered applying to a senior finance manager role, because I'd tailored the resume for it and saved it where the finished ones go.
In my head, it was out. The form had never gone.
Between July 27 and August 14, I had 38 applications on record, and checking a list that size from memory doesn't work.
So the rule changed. A role is Applied when the form went and I can show the confirmation, not when the resume is finished.
Same role, two ways to record it
Resume tailored and saved, so the row says Applied.
Resume tailored and saved, so the row says Ready. It moves to Applied when the confirmation email lands, and the date comes from that email.
That's why the template has a Confirmation column next to Date applied, and an Applied row without a Yes there turns that cell yellow.
Apply straight from a job board and forget the row, and next week it still says New, like something you haven't done.
Never leave a row in limbo
Never leave a row in limbo. Every open row in your tracker needs a next step and a next date, so you always know what you're doing next on each role, and when. Open means any status short of Outcome, Disqualified or Closed.
My own rule is that a job should never be in limbo. Move it along, always.
In accounting terms, a row with no next step is an item sitting in suspense.
The template shades a row yellow when it's open and missing either one, and a Next date that has passed turns bold and red.
The Pipeline tab counts the yellow rows and the Applied rows with no confirmation, so you see both numbers without scrolling.
Once a week, sort by Next date. Anything in the past gets done or gets moved to an exit.
When to follow up after applying
Follow up 7 business days after you apply, unless the posting or a recruiter gives you a date, in which case put theirs in Next date. The template's Follow up by column works that out with Excel's WORKDAY function, which skips weekends, as soon as you fill in Date applied:
`=WORKDAY(M5,7)`
Seven is a default, not a rule.
The example row in the template shows it: applied on a Tuesday, September 29, so the follow-up lands on Thursday, October 8.
The follow-up date, worked
- Sep 29
- Date applied, a Tuesday
- 7
- Business days added, weekends skipped
- Oct 8
- Follow up by
Before you follow up, open every email with a subject like "thank you for your interest." Some are rejections, written so warmly you'd never guess from the subject line.
If you don't open it, you follow up on a role that's already closed.
How many applications to one company
Before you send another application to the same company, check how many you already have in there. Bigger companies post a lot of finance roles at once, and it's easy to find three that fit and send all three before you've thought about how that reads on their side.
In my words at the time, I needed to know how many applications I had in, so I could decide: "I should apply, or maybe I should hold off."
The Apps at company column counts the rows for that company that have a Date applied, with a COUNTIFS on the Company column:
`=COUNTIFS($A$5:$A$304,A5,$M$5:$M$304,"<>")`
The count doesn't answer apply or hold. It makes sure you ask.
Spell the company the same way every time, because "Example Co" and "Example Company" count as two companies.
Keep the resume file with the row
Keep the exact resume file you sent tied to its row. Name each file after the row, with the company, role and date, and put that file name in the Resume file column. When the row moves to Interviewing, that's the version the interviewer has in front of them.
My rule for my own files is that the Ready rows and the folder of resumes match, nothing more, nothing less.
It's a reconciliation.
Once a week, count the resume files and the Ready and Applied rows. If they don't match, something is either sitting unsent or went out without a row.
Open that exact file before the call, because they'll ask about lines in it. The financial analyst interview questions guide has what they tend to ask next.
Excel, Google Sheets or Notion
Use Excel or Google Sheets for a job application tracker, because both can count, sort and flag rows, and a board of cards can't do that well. The template is an .xlsx file, so it opens straight in Excel and imports into Google Sheets with the dropdowns and formulas intact.
- Excel: open it. Everything works straight away.
- Google Sheets: in a new sheet, go to File, Import, Upload, and pick the file. Choose Replace spreadsheet.
- Google Docs: use Sheets instead. A doc can hold a table, but it can't count or sort it.
- Notion or Canva: a board with cards is fine for ten applications. At forty, you want a sheet.
The Muse makes the same case for a plain spreadsheet: it's free, and you control it.
Set it up in 15 minutes
You can set the tracker up in about 15 minutes. Delete the example row, add every role you've already applied to with the date from its confirmation, and give each open row a next step and a date. After that, it's one pass a week.
Your tracker, first session
- Download the template and open it in Excel or Google Sheets.
- Read the How to use tab once.
- Delete the grey example row.
- Add every role you've already applied to, with the date from the confirmation email.
- Mark anything without a confirmation as Ready, not Applied.
- Give every open row a next step and a next date.
- Rename your resume files to match the rows.
- Put a weekly reminder on your calendar to sort by Next date and clear the yellow rows.
Heading into a new seat soon? The other free template here is the 30-60-90 day plan for finance roles.
Comparing offers later? Record the posted range on every row from day one, and set it against FP&A salary by level.
A row that can't tell you what's next isn't finished.



