HRMS migration
Field-level mapping, validation, and rollback between IceHrm and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
IceHrm
Source
BambooHR
Destination
Compatibility
9 of 11
objects map 1:1 between IceHrm and BambooHR.
Complexity
BStandard
Timeline
3-5 weeks
Overview
IceHrm and BambooHR take different architectural approaches: IceHrm is modular by design with separate administration panels for each module, while BambooHR consolidates employee data into a single core record with tabbed sections for job info, time-off, and benefits. We resolve that structural difference by mapping IceHrm module data into BambooHR's unified employee model, splitting module-specific fields into BambooHR's designated sections. Self-hosted IceHrm instances add complexity because customers can modify the PHP/MySQL schema directly, so we always audit the deployed schema before field mapping begins. We do not migrate IceHrm workflows, automation rules, or payroll configuration; these require rebuilding or reconfiguring inside BambooHR post-migration.
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 IceHrm 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.
IceHrm
Employee
BambooHR
Employee Record
1:1IceHrm Employee records map to BambooHR Employee. IceHrm stores personal info, employment details, qualifications, and emergency contacts in one record; we split these into BambooHR's personal info section, job info tab, and employment details. Employee number, hire date, termination date, employment status, and EEO job category transfer as typed fields. Custom fields discovered per-module are added to the Employee record as BambooHR custom fields with options extracted from the IceHrm picklist values.
IceHrm
Department / Job Title / Organization Structure
BambooHR
Departments and Employment Fields
lossyIceHrm departments, job titles, employment types, and branch/office structures map to BambooHR's department list and job information fields. IceHrm's multi-office support (with country and branch) maps to BambooHR's location field. We run a department and title discovery step to capture the full taxonomy before import and create BambooHR departments and locations in advance of the employee import.
IceHrm
Leave / Time-off
BambooHR
Time-Off
1:1IceHrm Leave module stores balances, approval workflows, accrual rules, and leave request history. Each leave type in IceHrm (Annual, Sick, Personal, etc.) maps to a corresponding BambooHR time-off policy. We preserve leave balances as BambooHR accrued amounts and map the leave request status workflow to BambooHR's time-off request states. Accrual rules and carry-over configurations require the customer to define BambooHR equivalent policies post-migration.
IceHrm
Time & Attendance
BambooHR
Time Tracking (if add-on)
1:1IceHrm punch-in/out records, timesheets, and overtime calculations map to BambooHR time tracking entries if the customer has purchased BambooHR's Time Tracking module. We transfer clock-in and clock-out timestamps, timesheet hours, and overtime flags. Overtime rules and accrual policies do not migrate and require manual configuration in BambooHR.
IceHrm
Payroll
BambooHR
Compensation History (Employee Job Info)
1:1IceHrm payroll stores salary components, pay schedules, and payroll run history. BambooHR stores current compensation (pay rate, pay frequency, change reason) on the Employee record's compensation tab but does not replicate payroll run history. We migrate current salary, pay frequency, and salary change reason to BambooHR's compensation fields. Full payroll run history (prior pay periods, deductions, net pay) does not have a direct BambooHR equivalent and is delivered as a CSV export for the customer's records.
IceHrm
Recruitment / Applicant Tracking
BambooHR
Applicant Tracking (BambooHR ATS add-on)
1:1IceHrm Recruitment stores job postings, applicants, application stages, and pipeline data. These map to BambooHR's Applicant Tracking system if the customer purchases it. Job postings map to BambooHR Jobs, applicants map to Candidates with application status mapped from IceHrm stages. Custom pipeline stages require explicit mapping to BambooHR's application status options during scoping.
IceHrm
Performance Reviews
BambooHR
Performance Management (Pro and Elite tiers)
1:1IceHrm peer-to-peer review templates, review cycles, ratings, and comments migrate to BambooHR Performance Management on Pro and Elite plans. Review records and scores transfer to BambooHR review cycles. Custom review templates are documented and delivered with field mapping notes for the customer's admin to rebuild as BambooHR review forms. 360-degree review structures map to BambooHR's review cycle configuration.
IceHrm
Training / Learning Management
BambooHR
Training Tracking
1:1IceHrm Training tracks courses, enrollments, completion records, and learning paths per employee. These map to BambooHR's training records attached to the Employee. Course catalog data migrates as BambooHR training entries with completion status and dates. BambooHR does not have a native LMS; learning path sequences and course content require manual rebuild or a separate LMS platform.
IceHrm
Documents
BambooHR
Employee Files
1:1IceHrm employee documents (contracts, certifications, ID scans) are stored as file attachments per module. We extract documents file-by-file from the IceHrm database or web interface, preserve the file name, MIME type, and upload date, and import them into BambooHR's Employee Files section under the corresponding category. Document content does not migrate as searchable text; files are preserved as binary attachments.
IceHrm
Custom Fields
BambooHR
Custom Fields
1:1IceHrm allows custom fields on selected modules with independent schemas per module. We discover all custom fields across every active module during the pre-migration audit, extract picklist option values, and map them to equivalent BambooHR custom fields with matching types and option sets. If a custom field references a lookup to another record (e.g., employee-to-manager), we resolve the lookup at migration time and store the reference as a BambooHR dropdown or relationship field.
IceHrm
Expense Requests
BambooHR
No direct equivalent
lossyIceHrm's Expenses module stores expense requests with approval statuses and custom fields. BambooHR does not have a native expense tracking module. We export expense records as a structured CSV with all fields, statuses, and amounts preserved. The customer decides whether to import the CSV for record purposes or use a separate expense management tool.
| IceHrm | BambooHR | Compatibility | |
|---|---|---|---|
| Employee | Employee Record1:1 | Fully supported | |
| Department / Job Title / Organization Structure | Departments and Employment Fieldslossy | Fully supported | |
| Leave / Time-off | Time-Off1:1 | Fully supported | |
| Time & Attendance | Time Tracking (if add-on)1:1 | Fully supported | |
| Payroll | Compensation History (Employee Job Info)1:1 | Mapping required | |
| Recruitment / Applicant Tracking | Applicant Tracking (BambooHR ATS add-on)1:1 | Fully supported | |
| Performance Reviews | Performance Management (Pro and Elite tiers)1:1 | Fully supported | |
| Training / Learning Management | Training Tracking1:1 | Fully supported | |
| Documents | Employee Files1:1 | Mapping required | |
| Custom Fields | Custom Fields1:1 | Mapping required | |
| Expense Requests | No direct equivalentlossy | Mapping required |
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.
IceHrm gotchas
Self-hosted schema modifications cause migration surprises
Employee count billing model on IceHrm Cloud
Custom fields per module require manual field-level discovery
Document attachment export requires file-by-file handling
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
Instance audit and schema discovery
We audit the IceHrm instance (cloud or self-hosted) across all active modules: Employees, Leave, Time & Attendance, Payroll, Recruitment, Performance Reviews, Training, Documents, and Custom Fields. For self-hosted instances, we connect to the MySQL database directly to capture the actual deployed schema including any custom columns or modified table structures. For cloud instances, we use the REST API endpoints and Admin export tooling. The audit output is a written schema map showing every source field, its IceHrm module, its data type, and whether it is standard or custom.
Data quality review and cleanup scoping
We review IceHrm employee records for duplicates, missing required fields, and inconsistent data (e.g., employees with no hire date, terminated employees with active leave balances). We flag records that need cleanup before import and provide the customer with a data quality report. HR data tends to include more inconsistently maintained fields than transactional data, so we work with the customer's HR admin to resolve critical gaps before migration begins.
BambooHR configuration and custom field provisioning
We configure BambooHR before any data import: departments and locations are created to match the IceHrm organization structure, time-off policies are defined to cover IceHrm leave types, and custom fields are provisioned in BambooHR with types and picklist options matched to IceHrm. This configuration happens in the customer's live BambooHR account or a sandbox if the customer requests a staging validation run first.
Employee and organizational record migration
We migrate employee records first, as all other module data depends on the employee as the parent record. We import in dependency order: employee records with job info and compensation, then departments and locations if not pre-created, then organizational hierarchy (reporting manager relationships resolved by email or employee number match). Each phase emits a row-count reconciliation report before the next phase begins.
Leave, time tracking, and payroll data migration
With employee records established, we migrate leave balances and accrual amounts, time-off request history, time tracking entries, and payroll compensation snapshots. Leave request workflow history migrates as a record of past requests with status; active pending requests require the customer to decide whether to re-create them in BambooHR or close them out in IceHrm before cutover. Payroll run history is exported as a CSV if the customer requires it for records, since BambooHR does not store historical payroll runs.
Document import and custom field population
We import employee documents file-by-file into BambooHR's Employee Files section under the corresponding employee. Documents are matched to employees by employee ID or email. After document import, we populate custom fields on each employee record using the options extracted during schema discovery. We verify custom field completeness against the audit map before closing the migration.
Cutover, validation, and rebuild handoff
We freeze IceHrm writes during cutover and run a final delta migration of any records modified during the migration window. We deliver a reconciliation report comparing record counts in IceHrm against BambooHR by object type. We provide a written inventory of IceHrm workflows, automations, and approval rules that require rebuild in BambooHR, along with guidance on mapping leave accrual policies, time tracking rules, and review templates. We support a one-week post-go-live window for reconciliation issues.
Platform deep dives
IceHrm
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 IceHrm 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
IceHrm: Not publicly documented.
Data volume sensitivity
IceHrm 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 IceHrm to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your IceHrm 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 IceHrm
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.