Applicant Tracking Spreadsheet for Small Business
Free applicant tracking spreadsheets: master candidate tracker, multi-role pipeline, interview scorecards, source and cost, funnel, and records log. XLSX.
Applicant Tracking Spreadsheet
Six candidate trackers for US small business: a master applicant tracker with stage, source, and status columns, a multi-role pipeline, an interview schedule with scorecards, a source and cost per hire tracker, a funnel and time to offer sheet, and a records and retention log. Editable Excel workbooks with worked sample rows, no signup.
The first role I hired for, I tracked candidates in my inbox. Forty-one applications arrived over three weeks, mixed in with invoices and supplier email. Two good people never got a reply because their messages slid down the page, one candidate received the same rejection note twice, and when a colleague asked me where we stood on the shortlist, the honest answer was that I would have to go and read my inbox to find out.
The fix was not a better inbox. It was a file with one row per application, a column saying which stage that person was in, and a column saying what had to happen next. That is the whole idea behind an applicant tracking spreadsheet, and for a small business filling a handful of roles a year it is usually enough.
There are six workbooks here: a master applicant tracker, a multi-role pipeline, an interview schedule with scorecards, a source and cost per hire tracker, a funnel and time to offer sheet, and a records and retention log. Each downloads as an editable Excel file with worked sample rows, free, with no email form in the way.
What an Applicant Tracking Spreadsheet Does
An applicant tracking spreadsheet is a file with one row per job application, holding the candidate, the role, where they came from, the stage they are in, and what has to happen next. It answers two questions in a few seconds: where does every candidate stand, and what am I late on.
It is a working queue, not an archive. The rows people actually use are the active ones, sorted by whoever has been waiting longest, and the value comes from the file being current rather than complete. A tracker updated once a week is a report. A tracker updated the same day a decision is made is a hiring process.
What it will not do is the automation. It does not receive applications, remove duplicates, parse a resume, send a rejection, or remind you that a candidate has been waiting six days. All of that stays manual, which is the real cost of running hiring in a spreadsheet. Applicant tracking is coming soon to FirstHR.
The Eleven Columns That Matter
Eleven columns cover almost every small business hiring situation: candidate, role, source, date applied, stage, status, rating, next step, next step date, owner, and notes. Everything beyond those is usually a column somebody adds once and never fills in again.
The pairing that does the real work is stage and status. Stage says where the candidate is in your process; status says who owes the next move. A candidate can sit in the interview stage for a week either because you have not scheduled anything or because they have not replied to you, and those two situations need completely different actions from you on Monday morning.
| Column | What goes in it | Why it earns its place |
|---|---|---|
| Candidate | Full name as they gave it | The row identity; contact details live in the notes or a linked file |
| Role | The exact posted job title | Lets you filter one role out of a shared file |
| Source | One of five or six fixed options | The only way to know which channel is worth paying for |
| Date applied | The date the application arrived | The start of every hiring metric you will ever calculate |
| Stage | A value from the stage key | Where the candidate is in your process |
| Status | A value from the status key | Who owes the next move, you or the candidate |
| Rating | A number from 1 to 5 | Sortable in a way that a written comment never is |
| Next step | The specific action, in a few words | Turns a record into a to-do list |
| Next step date | When that action is due | Sort by this column to find what is overdue |
| Owner | The person responsible | Prevents the assumption that somebody else has it |
| Notes | Anything worth remembering later | The context you will have forgotten in a month |
Which Template Should You Use?
Start with the master tracker; it is the one that fits a single open role and does most of the job. Add the multi-role pipeline once you have two or three roles running at once, and the others when you hit the specific problem they solve.
6 Free Applicant Trackers to Download
Download all six as one bundle or take individual workbooks. Each opens in Excel, Google Sheets, or Numbers, and every one ships with sample rows so the structure is obvious. Delete the samples and enter your own candidates.
Template 1: Master Applicant Tracker
The default tracker: one row per application with stage, status, rating, owner, and the next step, plus a stage key with exit criteria and target days, and a status key naming who acts next. This is the one to use if you download only one.
| A | B | C | D | E | F | G | H | I | J | K | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Candidate | Role | Source | Date Applied | Stage | Status | Rating | Next Step | Next Step Date | Owner | Notes |
| 2 | Sample: A. Rivera | Warehouse Associate | Referral | 2026-05-04 | Hired | Closed, hired | 5 | Onboarding paperwork sent | 2026-05-29 | N. Patel | Starts June 1, forklift certified |
| 3 | Sample: K. Duarte | Warehouse Associate | Job board | 2026-05-12 | Interview | Waiting on candidate | 4 | Confirm second interview slot | 2026-06-02 | N. Patel | Strong on safety, no certification yet |
| 4 | Sample: M. Chen | CDL Driver | Job board | 2026-05-18 | Hired | Closed, hired | 4 | Onboarding paperwork sent | 2026-05-28 | D. Brooks | Starts June 15, available weekends |
| 5 | Sample: L. Moreau | CDL Driver | Trade school | 2026-05-26 | Screening | Waiting on us | 3 | Resume review against must-haves | 2026-05-29 | D. Brooks | Recent graduate, limited road hours |
| 6 | Sample: T. Alvarez | Warehouse Associate | Job board | 2026-05-06 | Rejected | Closed, rejected | 2 | Rejection email sent | 2026-05-09 | N. Patel | No forklift certification, kept on file |
| 7 | Sample: R. Whitfield | Office Manager | Careers page | 2026-04-29 | Talent pool | Closed, role filled | 4 | Revisit at the next opening | 2026-08-27 | N. Patel | Another candidate accepted first |
| 8 | |||||||||||
| 9 | |||||||||||
| 10 | |||||||||||
| 11 | |||||||||||
| 12 | |||||||||||
| 13 |
Template 2: Multi-Role Hiring Pipeline
For two or more openings at once. An open roles tab with hiring manager, pay range, and target start date, a pipeline tab grouped by role showing days in stage, and a stage count tab that tells you where the active candidates are sitting.
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Role | Team | Hiring Manager | Date Opened | Target Start | Pay Range | Applicants | In Process | Status |
| 2 | Warehouse Associate | Operations | N. Patel | 2026-04-27 | 2026-06-01 | $19 to $22 per hour | 42 | 12 | Offer out |
| 3 | Office Manager | Admin | N. Patel | 2026-04-13 | 2026-06-08 | $54,000 to $62,000 | 26 | 0 | Filled, starts Jun 8 |
| 4 | CDL Driver | Operations | D. Brooks | 2026-05-11 | 2026-06-15 | $26 to $29 per hour | 12 | 5 | Screening |
| 5 | |||||||||
| 6 | |||||||||
| 7 | |||||||||
| 8 | Total | 80 | 17 |
Template 3: Interview Schedule and Scorecards
A schedule with interviewers, confirmation, and whether the scorecard came back, plus a scorecard log rating every candidate on the same four criteria out of five. Pair it with a structured interview so the scores compare across people.
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Date | Time | Candidate | Role | Type | Interviewers | Location or Link | Confirmed | Scorecard In |
| 2 | 2026-05-06 | 10:00 | Sample: J. Okafor | Office Manager | Video panel | N. Patel, D. Brooks | Video call | Yes | Yes |
| 3 | 2026-05-11 | 09:00 | Sample: A. Rivera | Warehouse Associate | Onsite panel | N. Patel, D. Brooks | Dock office | Yes | Yes |
| 4 | 2026-05-11 | 11:00 | Sample: K. Duarte | Warehouse Associate | Onsite panel | N. Patel, D. Brooks | Dock office | Yes | Yes |
| 5 | 2026-05-22 | 14:30 | Sample: M. Chen | CDL Driver | Onsite interview | D. Brooks | Dispatch office | Yes | Yes |
| 6 | 2026-06-02 | 09:00 | Sample: K. Duarte | Warehouse Associate | Second interview | N. Patel | Dock office | No | No |
| 7 | |||||||||
| 8 | |||||||||
| 9 |
Template 4: Source Tracking and Cost per Hire
A source log filled in the day an application arrives, a performance tab comparing applicants, interviews, and hires by channel, and a cost input tab that turns what you actually spent into a cost per hire figure you can defend.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | Date Applied | Candidate | Role | Source | Source Detail | Reached Interview | Hired | Cost Attributed |
| 2 | 2026-04-20 | Sample: J. Okafor | Office Manager | Careers page | Direct visit, no ad spend | Yes | Yes | 0 |
| 3 | 2026-05-04 | Sample: A. Rivera | Warehouse Associate | Referral | Referred by D. Brooks | Yes | Yes | 250 |
| 4 | 2026-05-06 | Sample: T. Alvarez | Warehouse Associate | Job board | Paid 30 day posting | No | No | 0 |
| 5 | 2026-05-18 | Sample: M. Chen | CDL Driver | Job board | Paid 30 day posting | Yes | Yes | 0 |
| 6 | 2026-05-26 | Sample: L. Moreau | CDL Driver | Trade school | Spring career fair | No | No | 0 |
| 7 | ||||||||
| 8 | ||||||||
| 9 | ||||||||
| 10 | Note | Ask every candidate how they heard about the role and record the answer on day one | ||||||
| 11 | Note | Referral bonuses attach to a row; channel spend is attributed on the Cost Inputs tab |
Template 5: Hiring Funnel and Time to Offer
Stage counts per role so you can see where the hiring funnel narrows, a log computing days from application to offer and offer to start, and a weekly snapshot that turns single moments into a trend.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | Role | Applied | Screened | Phone Screen | Interview | Offer | Hired | Applied to Hire |
| 2 | Warehouse Associate | 42 | 30 | 12 | 6 | 3 | 2 | 5% |
| 3 | Office Manager | 26 | 19 | 8 | 4 | 1 | 1 | 4% |
| 4 | CDL Driver | 12 | 9 | 5 | 3 | 2 | 2 | 17% |
| 5 | ||||||||
| 6 | Total | 80 | 58 | 25 | 13 | 6 | 5 | 6% |
| 7 | ||||||||
| 8 | Note | A wide top and a narrow middle usually means the posting is too vague, not that candidates are weak |
Template 6: Applicant Records and Retention Log
The tab most people skip: a disposition log capturing the job-related reason and the date the candidate was told, a retention schedule with the federal clocks written out, and a weekly audit that catches blank stages and forgotten rejections.
| A | B | C | D | E | F | G | H | I | J | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Date Applied | Candidate | Role | Source | Final Stage | Disposition | Job Related Reason | Decided By | Date Notified | Retain Until |
| 2 | 2026-05-04 | Sample: A. Rivera | Warehouse Associate | Referral | Offer | Hired | Met all requirements, highest panel score | N. Patel | 2026-05-15 | 2027-06-01 |
| 3 | 2026-05-06 | Sample: T. Alvarez | Warehouse Associate | Job board | Screening | Rejected | No forklift certification, a stated requirement | N. Patel | 2026-05-09 | 2027-05-09 |
| 4 | 2026-04-29 | Sample: R. Whitfield | Office Manager | Careers page | Interview | Not selected, role filled | Another candidate scored higher on the same scorecard | N. Patel | 2026-05-14 | 2027-05-14 |
| 5 | 2026-05-11 | Sample: C. Vasquez | Warehouse Associate | Job board | Phone screen | Withdrawn | Candidate accepted another offer | Candidate | 2026-05-20 | 2027-05-20 |
| 6 | ||||||||||
| 7 | ||||||||||
| 8 | ||||||||||
| 9 | ||||||||||
| 10 | Note | Write the reason in terms of the job requirements, and write it the same day the decision is made |
Stages and Statuses That Do Not Drift
Fix your stage names before the first application arrives and put them in a dropdown list, because a stage column that people type into freehand ends up holding four spellings of the same thing and cannot be counted. Ten stages cover a small business process: seven that a candidate moves through and three that end the row.
| Stage | Exit criteria | Target days in stage |
|---|---|---|
| New | Read against the must-have requirements | 2 |
| Screening | Decision to phone screen or reject | 2 |
| Phone screen | Decision to interview or reject | 3 |
| Interview | Scorecards filed and debrief held | 5 |
| Reference and background | Results returned and reviewed | 3 |
| Offer | Accepted, declined, or expired | 3 |
| Hired | Handed off to onboarding | 1 |
| Rejected | Candidate notified | n/a |
| Withdrawn | Row closed and dated | n/a |
| Talent pool | Revisit at the next opening | 90 |
The target days are the interesting part. Add up the seven active stages and the template gives you 19 days from application to a hire handed over to onboarding, which is a deliberate default rather than a benchmark. Set your own numbers, then use them as an alarm: any row sitting past its target is the row costing you a candidate.
Closing a row properly matters as much as moving it. A rejected candidate needs a stage of Rejected, a date, a job-related reason, and an actual message sent, which is where a saved rejection email template earns its keep. Every complaint I have heard from a candidate about a small employer comes down to silence, and silence is a bookkeeping failure rather than a hiring one.
How to Build One Yourself
If you would rather build your own than download one, five decisions do most of the work: one row per application, dropdown lists for stage and status, a days in stage column, a next step with a due date, and one named owner for the file. Everything else is preference.
Mechanically, in Excel or Sheets: freeze the header row, turn on filtering across the header, put the stage and status lists on a second tab, and point data validation at those lists so the columns can only hold values you defined. Add a days in stage column computed from the date the row last moved, and use conditional formatting to color anything past your target. That combination is what makes the file sortable into a to-do list rather than a wall of text.
Two habits break more trackers than any formula. Merged cells, which destroy sorting and filtering the moment somebody uses them for a heading, and free text in a column you intend to count, which is how a source column ends up with twenty variants of the same answer. Keep countable columns closed to a short list of values and leave the prose in the notes column where it belongs.
Four Numbers Worth Counting
Four numbers are worth pulling out of a hiring spreadsheet: applied to hire rate by role, median days from application to offer, the age of the oldest open application, and hires by source with the money attached. Everything else is a nice chart that changes no decision.
| Number | How the sheet computes it | What it changes |
|---|---|---|
| Applied to hire rate | Hires divided by applications, per role | A wide top and narrow middle points at the posting, not the candidates |
| Median days to offer | Median of the days from application to offer date | Tells you whether you are losing people to your own slowness |
| Oldest open application | Largest value in days in stage | The single most actionable number in the file, every week |
| Hires by source | Hires and spend grouped by the source column | Decides where the next posting budget goes |
Use the median rather than the average for anything time-based. With three or four hires a year, one role that dragged for two months pulls an average somewhere unrepresentative, and time to hire is a metric small businesses routinely misread for exactly that reason.
Cost per hire deserves an honest caveat. The templates divide cash spend by hires, which is easy to defend and produces a small number. Benchmark figures are much larger because they include internal time: SHRM benchmarking put the average cost per hire at nearly $4,700 (SHRM). If you want a comparable figure, add interviewer hours to the cost input tab.
What You Have to Keep, and for How Long
Applications from people you rejected are records you have to keep, generally for at least a year, and the reason each person was rejected is worth more than the resume itself. Four things sit outside the mechanics of the file and decide whether what is in it will hold up.
There is a second reason to keep applicant records that has nothing to do with an audit. The Uniform Guidelines on Employee Selection Procedures treat a selection rate for any race, sex, or ethnic group below four-fifths of the highest group's rate as evidence of adverse impact (29 CFR 1607.4). You cannot look at your own selection rates at all without a record of who applied and what happened to them, which is exactly what the disposition log holds.
When a Spreadsheet Stops Working
The limit is not rows, it is upkeep. A spreadsheet stops working when the person who owns it can no longer update it the same day decisions are made, which for most small teams lands somewhere around three concurrent open roles or roughly fifty candidates in process.
The signals are consistent. A candidate goes a week without a reply because nobody moved their row. Two copies of the file exist with different stages in them. Someone asks where a candidate stands and the answer takes three tabs and a guess. A rejected applicant gets contacted again for the same role. None of that is a technical failure; it is a manual process quietly costing you people you wanted to hire.
When that point arrives, the options are a dedicated tool or a better process, and the process fix is often the cheaper one. Applicant tracking is coming soon to FirstHR.
From Accepted Offer to Day One
The stage almost every hiring spreadsheet handles worst is the last one. The row flips to Hired, the file goes quiet, and the work that decides whether the hire actually sticks (paperwork, equipment, a plan for the first week) happens somewhere else entirely, or not at all.
Close the loop deliberately. When a row reaches Hired, the same day, send the offer letter for signature and open a new hire checklist with a start date on it. Everything you already know about that person (their source, their start date, the notes from the interview) should carry across instead of being retyped.
That handoff is where FirstHR is built to help today: onboarding with e-signature for the paperwork, task workflows so the first week is planned rather than improvised, and an employee record that starts from the moment the offer is accepted rather than from the first payroll run. FirstHR is an onboarding and HR platform, not a payroll provider or a law firm, so pair it with your payroll provider and a qualified attorney where those calls belong. Applicant tracking is coming soon to FirstHR.
Frequently Asked Questions
What is an applicant tracking spreadsheet?
An applicant tracking spreadsheet is an Excel or Google Sheets file that holds one row per job application, with the columns you need to know where every candidate stands and what happens to them next. A working version carries the candidate name, the role they applied for, where they came from, the date they applied, the stage they are in, a status saying who owes the next move, a rating, the next step and its date, an owner, and notes. It is the cheapest hiring system available and, for a small business filling a handful of roles a year, often enough. What it does not do is the automation part: it will not receive applications, send emails, remove duplicates, or remind anybody of anything. That work stays manual, which is why the discipline of updating the file the same day a decision is made matters more than how clever the workbook is.
How do I track job applicants in Excel?
Set up one sheet with one row per application and a second sheet holding your stage and status lists, then point dropdown menus at those lists so nobody types a stage name that does not exist. Freeze the header row, turn on a filter, and add a days in stage column so you can sort by whichever candidate has been waiting longest. Log every application on the day it arrives, including where the person came from, because the source answer is the one nobody can reconstruct later. Move the row the same day a decision is taken, and when a row closes, record the disposition and a job-related reason. Everything else is optional. The templates on this page already have the sheets, keys, and sample rows in place, so the fastest route is to download the master tracker, delete the sample rows, and start entering your own candidates.
What columns should an applicant tracking spreadsheet have?
Eleven columns cover almost every small business: candidate name, role, source, date applied, stage, status, rating, next step, next step date, owner, and notes. Stage says where the candidate is in your process and status says who owes the next move, which sounds redundant until you notice that a candidate can sit in the interview stage for a week either because you have not scheduled anything or because they have not replied. Those two situations need different actions. Rating should be a single number on a fixed scale rather than a comment, so the column can be sorted. Next step and its date turn the file from a record into a to-do list. When a row closes, add a disposition and a job-related reason. Resist adding more columns than that until you have felt the absence of one.
Is a spreadsheet good enough instead of applicant tracking software?
For a small business hiring a few people a year, yes, provided one person owns the file and updates it the same day decisions are made. A spreadsheet costs nothing, opens on any machine, and can be reshaped in a minute when your process changes. Its limits are real and predictable. It cannot receive applications, so somebody retypes them from an inbox. It cannot send anything, so rejection emails depend on a human remembering. It has no history, so an overwritten cell is gone. It cannot be safely edited by several people at once. The threshold for most small teams is somewhere around three concurrent open roles or roughly fifty candidates in process, and the honest signal is not headcount but the moment a candidate is dropped or contacted twice because the file was out of date.
How long do I have to keep job applications and resumes?
At least one year under federal rules, including applications from people you did not hire. The EEOC recordkeeping requirements direct employers covered by Title VII and the ADA to preserve personnel and employment records for one year from the making of the record or from the personnel action, whichever comes later, and records for an involuntarily terminated employee for one year from the termination date. Once a discrimination charge is filed, the relevant records must be kept until the charge or any lawsuit based on it is finally resolved. Federal contractors have a longer obligation, two years at 150 or more employees or a contract of $150,000 or more, under 41 CFR 60-1.12. State and local rules can run longer still. The practical habit is to archive a dated copy of the whole workbook when a role closes rather than deleting the tab. This is general information, not legal advice.
How do I track where candidates came from?
Ask every applicant how they heard about the role, record the answer on the day they apply, and keep the list of possible sources short. Sources multiply if you let them, and a column with twenty variants of the same answer cannot be summarized. Five or six categories are enough for most small businesses: referral, careers page, paid job board, free posting, school or trade program, and walk-in. Once the source column is reliable, count applicants, interviews, and hires by source rather than applications alone. The pattern that shows up almost every time is that the source producing the most applications is rarely the source producing the most hires, and paid postings look far worse on a cost per hire basis than referrals. Attach whatever you actually spent to each source to make that comparison honest.
How many candidates can a hiring spreadsheet handle?
Mechanically thousands, practically somewhere around fifty candidates in process across two or three open roles before the upkeep starts to fail. The constraint is not the row count, it is how much manual updating a busy owner or office manager can sustain while also doing the actual job. The warning signs are consistent: a candidate goes a week without a reply because their row was never moved, two copies of the file exist with different stages in them, somebody asks where a candidate stands and the answer requires opening three tabs, or a rejected applicant gets contacted again for the same role. None of that is a spreadsheet problem in the technical sense. It is the point at which a manual process starts costing you candidates, and that is the signal worth acting on rather than any particular number of rows.