HRMS migration
Field-level mapping, validation, and rollback between IceHrm and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
IceHrm
Source
Crelate
Destination
Compatibility
12 of 15
objects map 1:1 between IceHrm and Crelate.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from IceHrm to Crelate is a scoped migration, not a full HRMS replacement. IceHrm covers the full human capital management surface — Employees, Leave, Attendance, Payroll, Recruitment, Performance Reviews, Training, and Documents — while Crelate is purpose-built as an Applicant Tracking and Recruiting CRM focused on Candidates, Job Orders, Companies, and Pipeline. We migrate the overlap: recruitment data including Candidates (from IceHrm Employees filtered to the recruitment module), Job Postings, Application records with pipeline stages, Company records, and Activity history tied to the recruiting process. We explicitly exclude Payroll, Performance Reviews, Training, Leave Management, and Time & Attendance records because Crelate's ATS schema has no equivalent objects. We deliver a written inventory of every excluded object and module with a one-paragraph rationale per module so the customer's HR admin can plan the parallel tool strategy 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 Crelate, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
IceHrm
Employees (Recruitment module)
Crelate
Candidate
1:1IceHrm Employees filtered to those with recruitment module activity (applicant records, application submissions) map to Crelate Candidate. We use the Employee's personal fields (name, email, phone, address) as Candidate standard fields and preserve IceHrm qualifications, work history, and application notes in Crelate's Candidate Notes or custom fields. Active and terminated employees both migrate; inactive/archived candidates can be excluded based on customer scope during discovery.
IceHrm
Employees (recruited applicants)
Crelate
Contact (Crelate Person type)
1:1IceHrm Employees who have been through the recruitment pipeline but are not yet hired (applicant status) map to Crelate Contact. We map IceHrm's applicant email, phone, and source tracking fields to Crelate's Contact standard fields and preserve IceHrm application stage in a custom field icehrm_application_stage__c for re-segmentation if the candidate re-enters the pipeline.
IceHrm
Job Postings (Recruitment module)
Crelate
Job Order
1:1IceHrm Job Postings map to Crelate Job Order. IceHrm job title, job description, department assignment, employment type, and location fields map to Crelate Job Order standard fields. IceHrm job status (Draft, Published, Closed, On Hold) maps to Crelate Job Order status. We preserve the IceHrm job ID as a custom field icehrm_job_id__c for reconciliation.
IceHrm
Application / Submission
Crelate
Submission (Opportunity)
1:1IceHrm Application records (which link an Employee/Applicant to a Job Posting with a specific stage) map to Crelate Submission, which is Crelate's Opportunity analog for recruiting placements. IceHrm application stage (Applied, Screening, Interview, Offer, Hired, Rejected) maps to Crelate Submission pipeline stage. IceHrm application date, source, and assigned recruiter map to Crelate Submission created date, source, and owner. IceHrm custom application fields per job posting migrate to Crelate Submission custom fields.
IceHrm
Organization / Departments
Crelate
Company (Crelate Client)
1:manyIceHrm's Organization module with departments, branches, offices, and job titles maps to Crelate Company records. Each IceHrm office or branch becomes a separate Crelate Company record. IceHrm department hierarchy is preserved in Crelate Company Notes. If IceHrm stores client companies (for staffing agencies), those map directly to Crelate Company. Job titles from IceHrm are preserved as Crelate Contact title fields.
IceHrm
Employee Documents (recruitment attachments)
Crelate
Candidate Attachment (Resume/CV)
1:1IceHrm Employee documents that are CVs, resumes, cover letters, or background check files map to Crelate Candidate attachments. We extract the file from IceHrm (via API for cloud, via file system for self-hosted), preserve the original filename and MIME type, and upload to Crelate's Candidate attachment endpoint. Non-recruitment documents (contracts, certifications, ID scans) are flagged as excluded scope and documented separately.
IceHrm
Recruitment Activity / Notes
Crelate
Activity (Task/Note on Submission)
1:1IceHrm notes and interactions logged against an application record (interview notes, email exchanges, phone screens, status change comments) map to Crelate Activity records linked to the Submission. We preserve the activity timestamp, the author (mapped to Crelate User by email), and the activity body as Crelate Note content. Stage-change activities in IceHrm generate Crelate Activity entries with the stage name preserved.
IceHrm
Employee Qualifications / Skills
Crelate
Candidate Tags or Custom Fields
lossyIceHrm Employee qualifications (education, certifications, skills, language proficiency) stored on the Employee record map to Crelate Candidate custom fields or tags depending on the qualification type. Structured qualifications (degree, institution, graduation year) map to Crelate custom fields; skills and language tags map to Crelate Tags on the Candidate record.
IceHrm
Employee Emergency Contacts
Crelate
Contact Custom Fields (Candidate)
1:1IceHrm emergency contact information stored on the Employee record maps to Crelate Candidate custom fields (emergency_contact_name__c, emergency_contact_phone__c, emergency_contact_relationship__c). These are not standard Crelate fields and must be created as custom fields before migration.
IceHrm
Leave / Time-off
Crelate
N/A (excluded)
1:1IceHrm Leave records (balances, accruals, approval history, leave types) have no Crelate equivalent. Crelate is an ATS and Recruiting CRM and does not have a Leave Management module. We exclude Leave from migration scope and document the exclusion with a one-paragraph note per leave type (Annual, Sick, Personal, etc.) indicating record count and date range so the customer can plan a parallel leave management tool.
IceHrm
Time & Attendance
Crelate
N/A (excluded)
1:1IceHrm Time & Attendance records (clock-in/out, timesheets, overtime) have no Crelate equivalent. We exclude attendance data from migration scope and deliver a count of attendance entries by type and employee so the customer can assess whether to keep IceHrm for attendance only or migrate to a dedicated time-tracking tool.
IceHrm
Payroll
Crelate
N/A (excluded)
1:1IceHrm Payroll records (salary components, pay schedules, payroll run history, bank details, deductions) are excluded from Crelate migration because Crelate has no payroll schema. We deliver a written inventory of payroll data by employee including salary, pay frequency, and last payroll run date so the customer can use this as a structured handoff to their payroll tool of choice.
IceHrm
Performance Reviews
Crelate
N/A (excluded)
1:1IceHrm Performance Review records (review cycles, peer feedback, ratings, goals) have no Crelate equivalent. We exclude performance data from migration scope. Review templates and goal structures are documented as items for the customer to rebuild in their performance management tool.
IceHrm
Training / Learning Management
Crelate
N/A (excluded)
1:1IceHrm Training module records (courses, enrollments, completions, learning paths) are excluded because Crelate has no LMS schema. We document training completion records by employee and course as a structured CSV handoff that can be imported into any LMS post-migration.
IceHrm
Custom Fields (Recruitment module)
Crelate
Custom Fields (Candidate, Job Order, Submission)
lossyIceHrm custom fields on the Recruitment/Employee module migrate to Crelate custom fields on the equivalent object (Candidate, Job Order, or Submission). Each IceHrm module's custom field schema is independent; we run the custom field discovery step per module during pre-migration audit. Picklist values from IceHrm custom fields map to Crelate picklist options. Date, numeric, and text field types map directly to Crelate field types.
| IceHrm | Crelate | Compatibility | |
|---|---|---|---|
| Employees (Recruitment module) | Candidate1:1 | Fully supported | |
| Employees (recruited applicants) | Contact (Crelate Person type)1:1 | Fully supported | |
| Job Postings (Recruitment module) | Job Order1:1 | Fully supported | |
| Application / Submission | Submission (Opportunity)1:1 | Fully supported | |
| Organization / Departments | Company (Crelate Client)1:many | Fully supported | |
| Employee Documents (recruitment attachments) | Candidate Attachment (Resume/CV)1:1 | Fully supported | |
| Recruitment Activity / Notes | Activity (Task/Note on Submission)1:1 | Fully supported | |
| Employee Qualifications / Skills | Candidate Tags or Custom Fieldslossy | Fully supported | |
| Employee Emergency Contacts | Contact Custom Fields (Candidate)1:1 | Fully supported | |
| Leave / Time-off | N/A (excluded)1:1 | Fully supported | |
| Time & Attendance | N/A (excluded)1:1 | Fully supported | |
| Payroll | N/A (excluded)1:1 | Mapping required | |
| Performance Reviews | N/A (excluded)1:1 | Fully supported | |
| Training / Learning Management | N/A (excluded)1:1 | Fully supported | |
| Custom Fields (Recruitment module) | Custom Fields (Candidate, Job Order, Submission)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.
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
Crelate gotchas
120 req/min API rate limit throttles bulk migrations
20 custom field per-entity cap forces data model decisions
15,000-record export ceiling on single operations
Sequences and automation workflows do not migrate
API key is a querystring parameter, not a header
Pair-specific challenges
Migration approach
Discovery and scope definition
We audit the source IceHrm instance across deployment type (cloud or self-hosted), activated modules, and recruitment-specific data volume. We identify all Employee records, filter to those with recruitment module activity (applications, interview notes, pipeline stages, applicant status), and count Job Postings, Application records, and Company/Organization records. We simultaneously define the exclusion scope: Payroll, Leave, Attendance, Performance Reviews, and Training are documented as having no Crelate equivalent and are excluded from migration time. The discovery output is a written migration scope with record counts per object and a clear exclusion list.
Source extraction and schema audit
For IceHrm Cloud, we extract data via the Admin console export tooling and REST API endpoints. For IceHrm self-hosted, we connect directly to the MySQL database and read the deployed schema including any custom columns or tables added via extension migrations. We run the custom field discovery query across all activated modules and capture picklist value sets. We produce a schema delta report showing which IceHrm fields map directly to Crelate standard fields, which require custom field creation, and which are excluded. This report is reviewed with the customer before any mapping is finalized.
Crelate destination setup and custom field provisioning
Before importing data, we create any missing custom fields in Crelate to receive IceHrm extended attributes. This includes custom fields on Candidate (emergency contacts, source tracking, application notes), Job Order (IceHrm job ID, original department), and Submission (IceHrm application stage, score, assigned recruiter, application date). We use Crelate's field mappings feature to configure how custom form answers write to Candidate, Company, and Opportunity columns. Custom fields are deployed to Crelate in a test environment first for validation.
Candidate and Contact migration
We migrate IceHrm Employee records filtered to the recruitment cohort as Crelate Candidates. Employees who are active hires (have a hire date and are not in the recruitment pipeline) are flagged separately; the customer decides whether these records should migrate as inactive Candidates or remain out of scope. We extract resume and CV attachments from IceHrm and upload to Crelate Candidate records. Skills, qualifications, and language proficiency migrate as Crelate Tags or custom fields based on the qualification type. Owner resolution maps IceHrm users to Crelate Users by email match.
Job Order and Submission pipeline migration
IceHrm Job Postings migrate to Crelate Job Orders with status, department, employment type, and location preserved. IceHrm Application records migrate to Crelate Submissions linked to the corresponding Candidate and Job Order. IceHrm pipeline stages map to Crelate Submission pipeline stages; if Crelate's default stages do not match IceHrm's custom stages, we configure new pipeline stages in Crelate before migration. Activity history (interview notes, email exchanges, stage-change logs) attached to IceHrm applications migrates as Crelate Activity records on the Submission.
Exclusion scope documentation and cutover
We deliver a structured exclusion report for all modules not migrated: Leave Management, Time & Attendance, Payroll, Performance Reviews, and Training. The report includes record counts, field inventories, date ranges, and a one-paragraph recommendation per module for a parallel tool strategy. We freeze IceHrm writes during cutover, run a final delta migration of any records modified during the window, then mark Crelate as the system of record. We deliver a post-migration reconciliation report showing record counts by object and a sample record validation against the source.
Platform deep dives
IceHrm
Source
Strengths
Weaknesses
Crelate
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 Crelate.
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 Crelate migration scoping. Not seeing yours? Book a call.
Walk through your IceHrm to Crelate 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 Crelate
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.