HRMS migration
Field-level mapping, validation, and rollback between Eddy and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
Eddy
Source
BambooHR
Destination
Compatibility
8 of 10
objects map 1:1 between Eddy and BambooHR.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Eddy to BambooHR is primarily a records migration for most companies, but the two platforms organize employment data differently in ways that require deliberate mapping decisions during scoping. Eddy distinguishes between active employees and contractors within its People module, while BambooHR uses a single Employee object with an Employment Status field that includes contractor as a discrete option. We map contractor records to BambooHR Employees with contractor status rather than creating a separate object, which preserves headcount reporting integrity in BambooHR. PTO balance snapshots carry forward as a balance amount and accrual-date record in BambooHR's Time Off object, but Eddy's carry-forward rules require manual configuration in BambooHR because neither platform exposes these as exportable policy data. Documents migrate as file blobs with their original filenames and parent-employee linkage preserved via BambooHR's document API. Eddy's onboarding step checklists do not have a direct API export; we extract the active task list and completed-step history manually, then map them to BambooHR's onboarding checklist format. Eddy's training and certification tracking maps to BambooHR's training module with field-type adjustments. We do not migrate workflows, automations, or payroll data as these are either non-exportable (Eddy's HR and payroll modules are not fully integrated per reviewer feedback) or are scope items requiring rebuild in BambooHR.
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 Eddy 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.
Eddy
Employee
BambooHR
Employee
1:1Eddy Employee records map directly to BambooHR Employee. The employment status (active, inactive, contractor) maps to BambooHR's employmentStatus field. For contractors, we set employmentStatus to Contractor rather than creating a separate object, preserving headcount reporting in BambooHR. Name, contact details, job title, department, hire date, and termination date transfer 1:1. The Eddy employee number maps to BambooHR's employeeNumber field as the dedupe key.
Eddy
Contractor
BambooHR
Employee (contractor status)
1:1Eddy contractor records map to BambooHR Employee with employmentStatus set to Contractor. BambooHR does not have a separate contractor object; contractors live in the same employee directory with their classification preserved via the status field. We extract contractor-specific fields (contract type, rate, end date) and map them to custom fields in BambooHR or to the closest standard fields available in the destination account.
Eddy
PTO Balances
BambooHR
Time Off
1:1Eddy PTO accruals and current balances migrate to BambooHR Time Off records. Each PTO policy type in Eddy (vacation, sick, personal) creates a corresponding Time Off type in BambooHR. The current balance amount and accrual date transfer as the initial balance snapshot in BambooHR. Carry-forward rules from Eddy are documented as a manual configuration step because Eddy does not expose carry-forward policy data via export; we flag this for the customer admin to configure post-migration.
Eddy
Documents
BambooHR
Employee Files
1:1Eddy employee documents (offer letters, signed agreements, contracts) migrate as file blobs to BambooHR Employee Files. We preserve original file names and attach each document to the correct employee via the BambooHR employee file API. PDF and standard document formats supported by Eddy transfer without format conversion. Documents without an associated employee (org-level policies) are migrated as company files and attached to the company-level document section.
Eddy
Onboarding Workflows
BambooHR
Onboarding Checklist
1:1Eddy's onboarding step checklists require manual extraction because no public API endpoint exposes the active task list and completion status. We extract the current onboarding workflow state per employee via screen-scraped export or guided manual pull, map the completed steps to BambooHR's onboarding checklist format, and create checklist items in BambooHR. Any steps that cannot be extracted are listed in a manual handoff document. This is the highest-effort object in the migration and contributes to the timeline range difference between straightforward and complex scopes.
Eddy
Training Records
BambooHR
Training
1:1Eddy training and certification records map to BambooHR Training. Certification name, status (completed, expired, in-progress), issue date, and expiration date transfer to the equivalent BambooHR training fields. Field naming differs between platforms; we create a mapping spreadsheet during discovery that pairs each Eddy training field to the BambooHR counterpart. Any certification records with status of expired or expiring within 30 days of migration are flagged for admin review.
Eddy
Employee Directory
BambooHR
Employee Directory
1:1Eddy's employee directory is derived from the underlying employee records, so migration is handled at the Employee object level. Organizational hierarchy information (reporting chains, department assignments, location assignments) transfers via the department, location, and supervisor fields on the BambooHR Employee record. Custom organizational chart fields in Eddy map to BambooHR's organizational structure fields.
Eddy
Departments
BambooHR
Departments
1:1Eddy company-level departments map to BambooHR Departments. Department name, location, and manager assignment transfer directly. If Eddy uses nested departments (sub-departments), we flatten the hierarchy during migration and create separate Department records in BambooHR, noting the parent-child relationship for manual reconstruction in BambooHR's org chart settings.
Eddy
Payroll Data
BambooHR
Payroll Data
lossyEddy's HR and payroll modules are not fully integrated per reviewer reports on G2 and Capterra. Pay run history and payroll records require manual extraction via CSV or manual export from Eddy's payroll module. We extract any available payroll records during migration scoping and flag that full payroll data reconciliation is a manual step at the destination. BambooHR Payroll is a separate licensed add-on; the customer must set up payroll configuration separately from the HR data migration.
Eddy
Job Postings (Eddy Hire)
BambooHR
Job Openings (BambooHR ATS)
lossyEddy Hire job postings do not have a documented API export. Active job postings require manual export of the posting content, description, requirements, and pipeline stage. BambooHR's ATS has posting limits by plan (5 on Core, 25 on Pro, 50 on Elite); we confirm the customer's BambooHR plan before migration to ensure the job count is within limits. Any postings exceeding the plan limit are flagged for admin decision on archiving or selective migration.
| Eddy | BambooHR | Compatibility | |
|---|---|---|---|
| Employee | Employee1:1 | Fully supported | |
| Contractor | Employee (contractor status)1:1 | Fully supported | |
| PTO Balances | Time Off1:1 | Fully supported | |
| Documents | Employee Files1:1 | Fully supported | |
| Onboarding Workflows | Onboarding Checklist1:1 | Mapping required | |
| Training Records | Training1:1 | Mapping required | |
| Employee Directory | Employee Directory1:1 | Fully supported | |
| Departments | Departments1:1 | Fully supported | |
| Payroll Data | Payroll Datalossy | Mapping required | |
| Job Postings (Eddy Hire) | Job Openings (BambooHR ATS)lossy | Fully 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.
Eddy gotchas
Contract data cannot be exported via API
Reporting limitations require workarounds
Payroll and HR integration is incomplete
Per-employee pricing counts all employees including inactive
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 scope confirmation
We audit the source Eddy account across plan tier (Starter, Growth, Premium), employee record count, contractor count, PTO policy types, document volume, active onboarding workflows, training records, department structure, and active job postings. We confirm whether Eddy's payroll module was used and whether pay run data is present. The discovery output is a written migration scope with record counts per object, a list of any data requiring manual extraction, and a BambooHR plan recommendation based on ATS job posting requirements.
Manual data extraction guidance
We provide the customer with a step-by-step extraction guide for Eddy data that requires manual export: onboarding step checklists, pay run history, active job posting content, and carry-forward rule documentation. The customer or their Eddy admin completes these extractions before the migration window. We review the extracted files for completeness and flag any gaps before migration begins.
BambooHR account provisioning and schema setup
The customer provisions their BambooHR account and plan tier. We create the destination schema including department structure, location assignments, Time Off types (matching Eddy's PTO policy types), custom employee fields for any contractor-specific data, and training certification types. We configure the BambooHR employee file permissions to match the document access structure from Eddy. This phase happens in parallel with the Eddy manual extraction step.
Sandbox migration and reconciliation
We run an initial migration into BambooHR using a test employee set (or a partial copy if the customer's data volume supports it). The customer's HR lead reconciles record counts, spot-checks 25-50 records for field-level accuracy against the Eddy source, and verifies that employee file attachments are associated with the correct records. Mapping corrections are made here before the production migration begins.
Production migration in dependency order
We run production migration in this order: Departments and Locations (to satisfy lookups), Employees and Contractors (with correct employment status), Time Off balances (linked to employee records), Employee documents (attached to the correct employee), Training records (linked to employees), and Job postings (within the plan's posting limit). Each phase emits a row-count reconciliation report. Onboarding task history is migrated from the manually extracted file as the final structured data phase.
Cutover, validation, and handoff
We freeze write access to Eddy during the cutover window, run a final delta pass for any records modified during the migration window, and set the BambooHR go-live date. We deliver the onboarding handoff document listing any onboarding steps that could not be extracted, the carry-forward rule documentation for manual BambooHR configuration, and the payroll reconciliation checklist. We support a one-week hypercare window for reconciliation issues. We do not configure BambooHR Payroll or rebuild workflows and automations as part of the migration scope.
Platform deep dives
Eddy
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Eddy and BambooHR.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Eddy and BambooHR.
Object compatibility
All 7 core objects map 1:1 between Eddy and BambooHR.
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
Eddy: Not publicly documented..
Data volume sensitivity
Eddy 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 Eddy to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your Eddy 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 Eddy
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.