ATS & HRMS migration checklist

Migration Checklist: Moving to BambooHR

An eight-phase, task-by-task punch list for moving employees, PTO balances, comp history, performance data, documents, and org structure into BambooHR.

122 tasks 6–16 weeks typical Updated May 27, 2026
BambooHR
Employees
Compensation
Benefits
Time Off
Org Structure
Performance
0 of 122 tasks complete

Phase 0

Decide & Plan

Lock scope, ownership, and constraints before any export job runs.

  • Risk if skipped: Mid-project scope additions force re-running mapping, sandbox tests, and access-level design from the start.

  • Risk if skipped: Without an explicit cut-off, the export expands into a multi-year dump that no one budgeted for transforming.

  • Risk if skipped: Discovering the US-only payroll constraint after employees are loaded forces a parallel payroll project under time pressure.

  • Risk if skipped: Mapping work targeted at a module that is later cut wastes weeks of transform engineering.

  • Risk if skipped: Legal blocks the import on go-live day when residency or DPA review was not completed earlier.

  • Risk if skipped: A cutover during payroll close forces a partial cutover and a hand-reconciled pay run.

Phase 1

Pre-Migration Prep

Source-system cleansing and destination-tenant configuration before any export.

1a. Source-system audit and cleansing

  • Risk if skipped: Duplicate source rows merge into a single employee record and historical compensation rows attach to the wrong person.

  • Risk if skipped: Country-field rejections halt the import row-by-row instead of failing the file once at the top.

  • Risk if skipped: Without a count baseline you cannot prove later whether a number mismatch is a migration loss or a source-side change.

1b. Destination-tenant setup

  • Risk if skipped: Skipping a sandbox means production becomes the test environment, and the Import Tool has no undo.

  • Risk if skipped: A wrong company time zone shifts every imported datetime by hours and corrupts PTO accrual day boundaries.

  • Risk if skipped: Importing a value that is not in the BambooHR list silently drops the field, leaving employees with blank departments and bad reports.

  • Risk if skipped: Importing into a field that does not exist yet drops the data on the row with no error indication.

  • Risk if skipped: Loading balance adjustments before a policy exists strands the balance with nowhere to attach.

  • Risk if skipped: Active notification workflows fire during bulk import and spam employees with onboarding notifications for back-dated hires.

1c. People prep

  • Risk if skipped: Source-system changes after the freeze produce a delta the cutover plan cannot reconcile cleanly.

Phase 2

Source Export

Pull every object you will need out of the source system in a transformable shape.

  • Risk if skipped: Collapsing history into a current snapshot loses the audit trail that the BambooHR Job Info table is designed to preserve.

  • Risk if skipped: Loading only a current pay rate loses the comp ladder used by retention analysis and pay-equity reviews.

  • Risk if skipped: Without a ledger you can only restore today's balance, not the audit trail needed for legal and payroll disputes.

  • Risk if skipped: A manager who is missing from the file or whose email is misspelled breaks the entire branch below them in the org chart.

  • Risk if skipped: Without metadata you have a folder of files no one can re-attach to the right employee.

Phase 3

Transform & Map

Turn raw source files into BambooHR-shaped imports.

3a. Master mapping spreadsheet

  • Risk if skipped: Without one source of truth, two engineers map the same field two different ways and the discrepancy surfaces only at validation.

  • Risk if skipped: A picklist value that does not exist in BambooHR drops the field on that row with no error marker.

3b. Data transformation

  • Risk if skipped: MM/DD vs DD/MM ambiguity silently swaps day and month on every row.

  • Risk if skipped: Mis-encoded files corrupt accented characters on import and force a name fix per employee after the fact.

3c. Audit-trail and ownership strategy

  • Risk if skipped: Field history starts on cutover day with no way to back-fill, surprising auditors and tenure reports.

3d. HRMS-specific transforms

  • Risk if skipped: An EEO Job Category that does not match the destination list leaves the field blank and breaks EEO-1 reporting at year-end.

  • Risk if skipped: A wrong opening balance shows up the first day employees log in and erodes confidence in the system within 24 hours.

  • Risk if skipped: Out-of-order effective dates load the history backwards and the most-recent row no longer reflects today's role.

  • Risk if skipped: Loading compensation as a single current row erases the comp ladder used for retention and pay-equity analysis.

  • Risk if skipped: Re-stamping performance data to cutover day collapses years of review history into a single date.

  • Risk if skipped: Loading employees and supervisors in one pass fails wherever a supervisor has not been created yet, leaving employees with broken reporting lines.

  • Risk if skipped: Files over the per-file or per-employee cap silently fail to upload and the metadata-linkage check fails at validation.

Phase 4

Sandbox Test Migration

Catch every problem in the sandbox before the Import Tool runs in production.

  • Risk if skipped: A sample of only US active employees hides the bugs that hit the harder cases in production.

  • Risk if skipped: An accidental destructive import in production requires a manual revert that takes longer than the original load.

  • Risk if skipped: Effective-date sort issues only show up in the UI, which masks the problem until UAT.

  • Risk if skipped: A cutover window that turns out to be too short forces a partial go-live with employees split between systems.

  • Risk if skipped: Skipping sign-off lets the cutover proceed with known sandbox defects still unresolved.

Phase 5

Production Cutover

The tightly-sequenced execution window where the migration actually happens.

  • Risk if skipped: Late source-side edits create a delta that the cutover plan has no time to reconcile.

  • Risk if skipped: Active integrations fire during the bulk load, sending hundreds of welcome emails for back-dated hires.

  • Risk if skipped: A typo in the supervisor email field on first pass leaves the org chart broken and routes manager-only reports to the wrong people.

  • Risk if skipped: Without per-step evidence a partial failure has no recovery point and the team starts the load over from row one.

Phase 6

Validate

Prove the migration was correct before any user logs in.

  • Risk if skipped: An unexplained delta of even a handful of employees signals a silent drop somewhere in the transform.

  • Risk if skipped: A wrong pay-rate type (hourly vs. salary) on a batch of employees inflates or deflates the total by a factor of 2,000.

  • Risk if skipped: Off-by-one balance errors generate dozens of HR tickets in the first week and erode trust in the new system.

  • Risk if skipped: Workflow gaps surface only at this layer and are cheaper to fix before go-live than after.

Phase 7

Post-Migration Cleanup

Wrap up so the team can treat BambooHR as the system of record.

  • Risk if skipped: Without rebuilt reports the HR team falls back to the source system within a week, undermining cutover.

  • Risk if skipped: A first real payroll run on uncorroborated data is the most expensive way to find an import defect.

Watch list

Risks to track throughout

These risks live across multiple phases — keep an eye on them from kickoff through cutover.

  • The Import Tool has no undo

    Any file run through Customize → Import is permanent. A misaligned column header, a country value that does not match the BambooHR list, or a bad upsert key cannot be reversed with one click. Track this across Phase 1 (test plan), Phase 4 (sandbox dry run), and Phase 5 (cutover sequencing): every production import must be preceded by an identical sandbox run, and every Phase 5 load must capture the job id so a manual revert remains an option.

  • Effective-dated history is easy to flatten and hard to rebuild

    Job Info, Compensation, and Employment Status all use row-per-change tables that drive tenure reports, pay-equity analyses, and ACA Status Category. A single-row 'current snapshot' import silently erases years of history. Track this across Phase 2 (export each table separately), Phase 3 (shape rows sorted by effective date), Phase 4 (validate ordering in the UI), and Phase 6 (sample 20 rows per table for ordering and date accuracy).

  • Supervisor chains are fragile until every employee exists

    BambooHR's org chart is computed from the Reports To field on each employee. A missing supervisor or an email typo orphans the entire reporting branch below. Track this across Phase 1 (verbatim email-list audit), Phase 3 (two-pass plan), Phase 5 (load without Reports To, then back-fill), and Phase 6 (org-chart render check).

  • US-only payroll plus a hard 20 MB / 1 GB file ceiling

    BambooHR Payroll is US-only, and Employee Files cap at 20 MB per file and 1 GB per employee. Both constraints surface late in the project when international payroll or document archives suddenly need a separate home. Track this in Phase 0 (geographic and document-scope decisions), Phase 3 (per-file and per-employee size pre-check), and Phase 5 (capture upload failures and route oversize content out of BambooHR).

Pair this with the long-form guide

The complete BambooHR migration guide

Same research, written as prose: data model, import mechanisms, mapping strategy, pitfalls, and partner landscape.