Do not move a live role halfway unless you have to. The lowest-risk path is to finish the current search in the spreadsheet and start the next one in the ATS.
- Do not move a live role halfway unless you have to. The lowest-risk path is to finish the current search in the spreadsheet and start the next one in the ATS.
- Freeze the spreadsheet before import. Keep a date-stamped backup, clean duplicate candidates, and make one system the source of truth from cutover day.
- Move active candidates first. Historical applicants can sit in an archive or talent pool, and large historical migrations can take weeks rather than hours.
- Breezy HR is the highest-ranked practical option here for small teams, with a free Bootstrap plan and paid pricing from $157/month when billed annually.
- Manatal starts at $15/user/month annually and suits budget-conscious teams that want structured migration options, while Zoho Recruit has a Free Corporate HR plan with strict import limits.
Switching from spreadsheets to an ATS is not mainly a software choice. It is a risk-control exercise: avoid lost candidates, broken resume links, duplicate records, and hiring managers updating the wrong file.
A spreadsheet can work for a first hire or one role at a time. It becomes fragile once several people add candidates, send follow-ups, attach CVs, and change statuses across email, Slack, and a shared file.
The aim is not to make hiring stop while you tidy data. The aim is to freeze the old system, move the right records in the right order, test one role, then cut over without splitting a live search across two places.
Decide the cutover model before touching the data
The cleanest migration is between searches. Finish the current role in Excel or Google Sheets, archive the final spreadsheet, then open the next role in the ATS from day one.
That is not always possible. If a role is active and the spreadsheet is already breaking down, move mid-search only after you freeze the file and name the ATS as the only place where status changes happen.
The mistake to avoid is splitting the same live role across spreadsheet, inbox, and ATS. That creates three versions of the pipeline, and nobody can trust candidate stage, owner, or last contact date.
Pick one of three models before export. Model one is a clean break between roles. Model two is a controlled mid-search migration with a frozen spreadsheet. Model three is a historical import after all active roles are already running in the ATS.
For most small teams, model one is safest. The downside is timing: if hiring is constant, you may need a short controlled mid-search move instead of waiting for a perfect gap.
How do you prepare a spreadsheet for ATS import?
Build one clean migration file with one row per candidate. Do not import the working spreadsheet if it contains colour codes, merged cells, hidden columns, informal notes, or multiple candidates in one row.
Start with a date-stamped backup of the original spreadsheet before edits. That backup is your audit trail if the import goes wrong or somebody later asks where a candidate record came from.
Use clear column names that map to real recruiting work. A practical starting set is candidate name, email, phone, role, source, current stage, last contact date, owner, resume link, notes, rating, consent or status, and next action.
Deduplicate before import. The same person may appear twice because they applied to two roles, were sourced by a recruiter, or were added by a hiring manager after an interview referral.
Email is usually the safest duplicate key, but it is not perfect. Candidates change email addresses, agencies submit profiles without personal contact details, and old records often lack structured contact data.
Clean stage names before upload. If your sheet has Screening, Screen, HR call, and Phone call for the same step, decide one label before you import, or your new ATS will inherit the mess.
Do the same with owners and sources. “LinkedIn”, “LI”, and “LinkedIn DM” may feel obvious to humans, but reporting will treat them as separate values unless you standardise them first.
Move active candidates first, then decide what history is worth keeping
Active candidates need priority because they affect interviews, offers, rejections, and candidate experience today. Every active record should have an owner, a stage, a next action, and visible access to the resume or profile.
Historical candidates are different. They may belong in an archive, a talent pool, or a separate import, rather than being forced into live jobs where they clutter the pipeline.
This is why larger ATS migrations often separate active candidate migration from historical migration. Greenhouse, for example, treats active candidate migration separately, and its support material says historical migration can take 4–6 weeks.
That does not mean a small team needs an enterprise migration project. It means you should resist the urge to import every old applicant before the team can run today’s open roles properly.
A good rule is simple: migrate all active candidates, import high-value historical candidates if you will contact them again, and archive the rest with a clear file name and date.
The downside is that search will be split for a while. Recent and active candidates live in the ATS, while older records may stay in an archive until there is a reason to clean them.
How should spreadsheet fields map into an ATS?
Map fields before importing, not during the upload. Most ATS import tools ask you to match spreadsheet columns to system fields, and rushed mapping is how notes end up in summaries or stages end up as tags.
A simple mapping works for most small migrations: candidate name to name; email to email; phone to phone; role to job or position; current stage to pipeline stage; owner to recruiter or hiring team member; source to source; last contact date to activity or note; resume link to attachment or profile link; next action to task or note.
Expect each ATS to handle this differently. A spreadsheet can hold any column you invent, while an ATS has fixed fields, required fields, and limits on what its bulk import accepts.
Breezy HR is strong for small teams moving off spreadsheets because it has a free Bootstrap plan, unlimited users, one active pool or position, unlimited candidates, a branded career site, job board distribution, GDPR/privacy tools, multi-language support, and resume parsing.
The catch is import flexibility. Breezy HR’s bulk CSV import supports candidate data from Excel or Google Sheets via CSV up to 10 MB at a time, but it maps only four fields: name, email, phone, and summary.
Breezy HR also supports bulk resume upload up to 50 MB at a time, and a single position is limited to 90,000 candidates. That helps if resumes are the main asset, but richer spreadsheet fields may need to be compressed into summaries or handled as notes.
Manatal is a better fit if the migration file is more structured. It supports self-data import for teams that can prepare CSV or JSON files, and its migration template can be used for Excel or CSV files, database exports, in-house systems, and custom applications.
The limitation is cost structure and plan fit. Manatal Professional starts at $15/user/month when billed annually, includes up to 15 jobs and 10,000 candidates, and does not have a free-forever plan.
Zoho Recruit is attractive if you want a free starting point or already use Zoho. Its Corporate HR Free plan includes one active job, 256 MB storage, 5,000 records across all modules, 1,000 records per module, and 1,000 import records per batch.
The limits matter. Zoho Recruit imports CSV, XLS, XLSX, and VCF files, but its import file size limit is 5 MB, and XLS, XLSX, and VCF imports are capped at 5,000 records per batch.
Zoho’s duplicate handling also changes by edition. Free Edition supports cloning duplicates, while skip and overwrite are paid-edition options, so test duplicate behaviour before importing a messy list.
Test one role before importing everything
Test with one low-risk role before importing the whole spreadsheet. Pick a role with enough candidates to reveal mapping problems, but not the role where a broken import would derail final interviews.
After import, compare the ATS against the original spreadsheet. Check candidate count, stage, owner, notes, source, resume links or files, and whether duplicates were created.
Do not treat a successful upload message as proof of a clean migration. The file may import without errors while still putting useful information in the wrong place.
Fix the template before the full import. If “last contact date” appears as plain text in notes, or resume links do not open for hiring managers, change the mapping and run the test again.
This test is also where you learn whether the team understands the new workflow. If nobody knows where to move a candidate after interview feedback, importing more records will only scale the confusion.
Should you run the spreadsheet and ATS in parallel?
Run a short parallel period, but make the spreadsheet read-only. The spreadsheet can stay visible for reference during the first week, but it should stop accepting edits once cutover begins.
This is the behavioural change many teams miss. Moving software is the easy part; stopping people from updating inboxes, spreadsheets, and side notes is harder.
Define who is allowed to change candidate status in the ATS. For a small company, that may be one founder and one recruiter. For a larger team, it may be recruiters only, with hiring managers limited to scorecards and feedback.
Keep the read-only spreadsheet for comparison, not operation. If someone spots a missing phone number, they should add it to the ATS, not patch the old file.
The downside of a parallel period is ambiguity. Keep it short, name the cutover date, and repeat that the ATS is the system that counts after that date.
What should hiring managers and candidates be told?
Hiring managers need a short internal SOP, not a long software announcement. Tell them where to leave feedback, where to see candidate stage, where to find resumes, and where they must stop updating records.
The SOP should be specific enough to remove judgement calls. For example: “Interview feedback goes in the ATS scorecard within 24 hours. Candidate status is changed only by recruiting. Do not edit the old spreadsheet.”
Candidates usually need less detail. Send a message only if the system change affects their portal link, interview scheduling, document upload, or application profile.
Avoid over-explaining the tool change to candidates. They care about next steps, timing, and whether their application is still being handled properly.
For active candidates, check last contact dates before cutover. If someone is waiting for feedback, moving them into an ATS is useful only if the owner follows up.
Which ATS is best for teams switching from spreadsheets?
Breezy HR is the best starting point here if you are a small business that wants a capable ATS without per-seat fees. It is ATSLab’s highest-ranked tool overall, with an Index score of 92.0, and it is our Editor’s Choice.
The trade-off is import depth. Breezy HR is easy to justify for a small team, especially with its free Bootstrap plan and 14-day trial, but its CSV import maps only name, email, phone, and summary.
Breezy HR Startup is priced at $157/month when billed annually, or $189/month when billed monthly. Optional add-ons include Breezy Intelligence credits from $30 per 100,000, SMS/Text Messaging from $41/month, and Onboard from $49/month.
Manatal is the stronger fit if budget is tight and the team wants AI sourcing and scoring at the lowest credible price. It ranks fourth on ATSLab with an Index score of 88.0, and Professional is $15/user/month when billed annually.
The catch is that per-user pricing changes the maths as the team grows. Professional includes 15 jobs per account, 10,000 candidates, and unlimited hiring managers, while Enterprise is $35/user/month annually and adds unlimited jobs, unlimited candidates, and workflow automation.
Zoho Recruit is the best option if you need a real free ATS or you are already committed to the Zoho ecosystem. It ranks thirteenth on ATSLab with an Index score of 82.0, and its Corporate HR Free plan can support one active job.
The compromise is limits. Corporate HR Standard is $25/recruiter/month annually and raises capacity to 10 active jobs per recruiter, 1 GB storage, 100,000 records, and 10,000 import records per batch.
Zoho Recruit Enterprise is $50/recruiter/month annually and includes 20 active jobs per recruiter, 3 GB storage, unlimited records, and 30,000 import records per batch. That is useful at higher volume, but the product can feel heavier than a simple small-team ATS.
The right choice depends on hiring volume, number of hiring managers, import complexity, and whether you need CRM-style recruiting. If you mainly need to stop spreadsheet chaos, do not buy an enterprise tool just because the feature list is longer.
First week after cutover: the cleanup checklist
The first week decides whether the team trusts the ATS. If records are incomplete, owners are unclear, or resumes are hard to find, people will drift back to the spreadsheet.
Check every active candidate for four fields: owner, stage, next action, and last contact date. Missing data in any of those fields creates dropped follow-ups.
Check resume access and permissions. A candidate record is not useful if the hiring manager cannot open the CV before an interview.
Close, archive, or tag historical candidates consistently. Do not leave old applicants sitting in active stages unless there is a clear next step.
Schedule weekly pipeline hygiene until the old behaviour stops. Review stale candidates, missing feedback, duplicate records, and open tasks for the first few weeks.
Archive the final spreadsheet backup with the migration date in the filename. Keep it read-only, and make sure the team knows it is an archive, not a working pipeline.
A careful migration does not need to be dramatic. Freeze the spreadsheet, clean the data, test one role, move active candidates first, and give the team one place to work.
Frequently asked questions
Can you switch from spreadsheets to an ATS without pausing hiring?
Yes, if you control the cutover. The safest route is to finish the current role in the spreadsheet and start the next role in the ATS. If you must move mid-search, freeze the spreadsheet first and make the ATS the only place where candidate status changes happen.
Should every old applicant be imported into the new ATS?
No. Active candidates should move first because they need owners, stages, next actions, and accessible resumes. Historical applicants can be archived or imported later as a talent pool. Large historical migrations can take weeks, so importing everything first often delays the work that matters.
Which ATS is easiest for a small team moving from Excel or Google Sheets?
Breezy HR is the strongest small-team option in ATSLab’s ranking, with an Index score of 92.0 and Editor’s Choice status. It suits teams that want a capable ATS without per-seat fees. The limitation is import depth: Breezy HR’s CSV import maps only name, email, phone, and summary.
Is Manatal free for spreadsheet-to-ATS migration?
No. Manatal has a 14-day free trial with no card required, but it does not list a free-forever plan. ATSLab records Manatal from $15/user/month when billed annually, and Professional includes up to 15 jobs and 10,000 candidates.
Can Zoho Recruit import spreadsheet data?
Yes. Zoho Recruit imports CSV, XLS, XLSX, and VCF files, with a 5 MB file size limit. XLS, XLSX, and VCF imports are capped at 5,000 records per batch, while CSV can exceed 5,000 records subject to plan limits. Free Edition duplicate handling is limited to cloning duplicates.