HRMS migration
Field-level mapping, validation, and rollback between Tracker and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
Tracker
Source
BambooHR
Destination
Compatibility
6 of 10
objects map 1:1 between Tracker and BambooHR.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Tracker to BambooHR crosses a platform category boundary: Tracker is an Applicant Tracking System built around the recruiting pipeline; BambooHR is an HRIS built around the employment lifecycle. The migration is not a record copy — it is a schema redesign. Tracker Candidates who were placed become BambooHR Employees with hire dates, compensation, and employment status enriched from the Placement record. Tracker Candidates who were not placed can live as BambooHR Applicants if the customer licenses the BambooHR ATS add-on, or they require a disposition strategy because BambooHR's core HRIS does not natively store unmatched applicants as long-term records. We run deduplication against Tracker Company names and domain strings before mapping them to BambooHR's single-company field per employee, flag any custom fields that have no BambooHR equivalent for admin disposition, and deliver a written inventory of Tracker Automation Playbook sequences that must be rebuilt in BambooHR Workflows after cutover.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Tracker object lands in BambooHR, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Tracker
Candidate
BambooHR
Employee (or Applicant with ATS add-on)
1:manyTracker Candidates who have a placed status (linked Placement record with a start date) map to BambooHR Employee records with employment details (hire date, compensation, employment status) enriched from the Placement. Tracker Candidates without a Placement require a disposition decision: if the customer licenses BambooHR ATS Advantage ($129/mo), they migrate as Applicants; otherwise, they are dispositioned as inactive records outside BambooHR's standard HRIS. We run candidate deduplication against name, email, and phone before import and present a duplicate report for admin resolution.
Tracker
Placement
BambooHR
Employee employment details
1:1Tracker Placements carry the billable event data: start date, pay rate, bill rate, and the assigned recruiter. We map Placements to BambooHR Employee records by matching the placed Candidate to the corresponding Employee, and we populate BambooHR's hire date, pay rate, and employment status fields from the Placement data. The bill rate does not map to a standard BambooHR field; we store it in a custom field placement_bill_rate__c or flag it for the customer's admin to maintain in a separate compensation record.
Tracker
Company
BambooHR
Employee.company field or Organization custom field
1:1Tracker Companies function as parent records for Candidates and Contacts. In BambooHR HRIS, each Employee has a single company assignment (the company field on the Employee record). We map Tracker Company name to BambooHR Employee.company and deduplicate using domain normalization. If the customer manages multiple legal entities or client relationships, we create a custom Organization field to preserve the Tracker Company hierarchy.
Tracker
Job
BambooHR
Job (BambooHR ATS add-on) or Requisition custom object
lossyTracker Jobs represent open requisitions with location, description, and assigned recruiter. If the customer licenses BambooHR ATS Advantage, Tracker Jobs map to BambooHR Job postings. Without the ATS add-on, Jobs require disposition: either exported as a written job inventory for manual reposting or migrated to a custom BambooHR Requisition object we create during schema setup. The mapping depends on whether the customer intends to use BambooHR's native hiring flow post-migration.
Tracker
Contact
BambooHR
Employee (for internal employees) or Note on Employee
1:1Tracker Contacts represent hiring managers and client-side relationships distinct from Candidates. Internal employees at the customer's organization who appear as Tracker Contacts map to BambooHR Employee records. External client contacts without an employment relationship in BambooHR are stored as Notes attached to the corresponding Company or Account record, or flagged for the customer's admin to manage as a separate CRM.
Tracker
Activity (calls, emails, meetings, notes)
BambooHR
Note or Employment Timeline
1:1Tracker Activity history (calls, emails, meetings, notes) attached to Candidates and Placements migrates to BambooHR as Notes on the corresponding Employee record. We preserve the activity type, timestamp, and content body. BambooHR's employment timeline supports Notes as the primary historical context artifact; we set the Note created date to the original Tracker activity timestamp to preserve the chronological record. Attachments migrate as BambooHR file attachments linked to the Employee.
Tracker
Custom Fields
BambooHR
Custom Employee Fields
lossyTracker custom fields on Candidate, Job, and Company objects enumerate during discovery. We map each to a BambooHR custom Employee field of the matching type (text, number, date, dropdown). Fields with no BambooHR equivalent are flagged in a custom field disposition report for the customer's admin to resolve before import. Multi-select Tracker custom fields map to BambooHR multi-select picklists.
Tracker
Pipeline Stages
BambooHR
Job Status (ATS) or custom field
lossyTracker pipeline stages define candidate progression through a Job. If the customer takes the BambooHR ATS add-on, stages map to BambooHR job application statuses. Without the ATS add-on, pipeline stage data migrates as a custom Candidate field (stage_name__c) that the customer's admin uses for reference, because BambooHR's core HRIS does not enforce a recruiting pipeline structure.
Tracker
Documents (resumes, attachments)
BambooHR
Employee file attachments
1:1Resume files, cover letters, and uploaded attachments stored against Tracker Candidate records extract from the CSV export and re-associate as BambooHR Employee file attachments. We map the filename to the BambooHR Employee using the candidate-to-employee matching key and preserve the original upload date as the file creation timestamp. PDF resumes migrate with full text intact.
Tracker
Automation Sequences
BambooHR
No equivalent
1:1Tracker Automation Playbook sequences (multi-step email drips, SMS triggers, recruiter alerts, status-update automations) do not export as portable artifacts. We do not migrate automation logic. During scoping, we enumerate every active Automation Playbook and deliver a written inventory with trigger, conditions, and recommended BambooHR Workflow equivalent for the customer's admin to rebuild post-migration. This document is the handoff artifact for the automation layer.
| Tracker | BambooHR | Compatibility | |
|---|---|---|---|
| Candidate | Employee (or Applicant with ATS add-on)1:many | Fully supported | |
| Placement | Employee employment details1:1 | Fully supported | |
| Company | Employee.company field or Organization custom field1:1 | Fully supported | |
| Job | Job (BambooHR ATS add-on) or Requisition custom objectlossy | Fully supported | |
| Contact | Employee (for internal employees) or Note on Employee1:1 | Fully supported | |
| Activity (calls, emails, meetings, notes) | Note or Employment Timeline1:1 | Fully supported | |
| Custom Fields | Custom Employee Fieldslossy | Mapping required | |
| Pipeline Stages | Job Status (ATS) or custom fieldlossy | Mapping required | |
| Documents (resumes, attachments) | Employee file attachments1:1 | Fully supported | |
| Automation Sequences | No equivalent1:1 | Not supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Tracker gotchas
Automation workflows do not migrate as functional rules
CSV export is the primary migration path for most customers
Unlimited record model can mask deduplication needs
BambooHR gotchas
Undocumented API rate limits can trigger 503 errors
Per-employee pricing model requires active record count verification
API credentials must be sent on every request to avoid extra round trips
Custom field schema varies per account and requires manual inventory
Document and attachment exports are not covered by standard report exports
Pair-specific challenges
Migration approach
Discovery and disposition planning
We audit the source Tracker instance across record types (Candidates, Companies, Contacts, Jobs, Placements), activity volume, custom field inventory, active Automation Playbooks, and document attachment count. We pair this with a BambooHR edition decision: Core ($10/emp/mo) covers employee records, time-off, and benefits; Pro ($17/emp/mo) adds performance management and the employee community; Elite ($25/emp/mo) adds compensation management and custom dashboards. We also determine whether BambooHR ATS Advantage ($129/mo) is required based on whether the customer needs to retain non-placed applicants. The discovery output is a written migration scope, a Candidate disposition plan, and an ATS add-on recommendation.
Schema design and BambooHR field preparation
We design the destination schema in BambooHR. This includes provisioning any required ATS Advantage features (Job postings, Applicant records, hiring pipeline) if the customer opts in, creating custom Employee fields to absorb Tracker custom properties and Placement bill rates, and configuring BambooHR Workflows for any HR operations automation the customer wants to establish before cutover. We map Tracker Pipeline stages to BambooHR job application statuses only if ATS Advantage is licensed; otherwise we flag stage data as a custom reference field. Schema setup is validated in BambooHR's sandbox or test account before data import begins.
Candidate deduplication and placement enrichment
We run Tracker Candidate records through a three-key deduplication pass (name, email, phone) and present a duplicate report to the customer's admin for resolution before any import. For Candidates with a linked Placement record, we enrich the candidate record with placement data (start date, pay rate, bill rate, assigned recruiter) so that the enriched record maps cleanly to the BambooHR Employee. For Candidates without a Placement, we apply the disposition decision from Step 1: ATS migration, separate recruiting tool, or pre-migration archive.
Company and Contact mapping
We map Tracker Companies to BambooHR's Employee.company field and deduplicate by domain normalization. For customers with multi-entity structures, we create a custom Organization field during schema setup. Tracker Contacts that represent internal employees map to BambooHR Employees; external client contacts are stored as Notes or flagged for CRM disposition. Job records are processed last and mapped to BambooHR Jobs (with ATS Advantage) or exported as a written job inventory for manual reposting.
Production migration in dependency order
We run production migration in record-dependency order: custom fields and schema (validated in sandbox), Employees (from placed Candidates with enriched Placement data), ATS Applicants (if Advantage licensed), Jobs (if Advantage licensed), Company assignments, Notes and activity history (with timestamps preserved), and file attachments. Each phase emits a row-count reconciliation report before the next phase begins. We use BambooHR's REST API for import with batch chunking and error logging, and we validate that custom field values imported without truncation or encoding issues.
Cutover, validation, and Automation Playbook handoff
We freeze Tracker writes during cutover, run a final delta migration of any records modified during the migration window, then enable BambooHR as the system of record. We deliver the Automation Playbook inventory document — every active Tracker sequence with its trigger, conditions, actions, and recommended BambooHR Workflow equivalent — to the customer's admin team. We support a one-week hypercare window where we resolve any reconciliation issues raised by the HR team. We do not rebuild Tracker Automation Playbooks as BambooHR Workflows inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Tracker
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Tracker and BambooHR.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Tracker: Not publicly documented.
Data volume sensitivity
Tracker doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Tracker to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your Tracker to BambooHR migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Tracker
Other ways to arrive at BambooHR
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.