HRMS migration

Migrate from IceHrm to Crelate

Field-level mapping, validation, and rollback between IceHrm and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.

IceHrm logo

IceHrm

Source

Crelate

Destination

Crelate logo

Compatibility

80%

12 of 15

objects map 1:1 between IceHrm and Crelate.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

IceHrm logo

IceHrm

What's pushing teams away

  • Support responsiveness is a recurring complaint — multiple reviews cite support staff who lack deep product knowledge, causing delays when configuration issues arise.
  • The learning curve for understanding how IceHrm modules interrelate and where specific settings live is steep enough to generate friction during onboarding and configuration.
  • Organizations that scale beyond the SMB tier often find IceHrm lacks the advanced HCM features, reporting depth, or compliance controls available in enterprise platforms like Workday or BambooHR.
  • Teams without in-house developer resources struggle with the self-hosted version's maintenance burden — server updates, database backups, and extension management fall on the customer.

Choosing

Crelate logo

Crelate

What's pulling them in

  • Affordable per-seat pricing with transparent tiers makes Crelate accessible for small-to-mid staffing firms evaluating ATS platforms for the first time.
  • Fast implementation reported by customers—some describe getting live in a matter of minutes with support team assistance.
  • Unified ATS + CRM in a single product eliminates the need to buy and synchronize separate recruiting and sales tools.
  • Flexible custom fields across Contacts, Companies, and Opportunities allow recruiting teams to capture firm-specific data without developer involvement.
  • Positive reviews highlight the product's intuitive interface and functional breadth for teams that need recruiting workflows without enterprise overhead.

Object mapping

How IceHrm objects map to Crelate

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)

maps to

Crelate

Candidate

1:1
Fully supported

IceHrm 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)

maps to

Crelate

Contact (Crelate Person type)

1:1
Fully supported

IceHrm 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)

maps to

Crelate

Job Order

1:1
Fully supported

IceHrm 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

maps to

Crelate

Submission (Opportunity)

1:1
Fully supported

IceHrm 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

maps to

Crelate

Company (Crelate Client)

1:many
Fully supported

IceHrm'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)

maps to

Crelate

Candidate Attachment (Resume/CV)

1:1
Fully supported

IceHrm 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

maps to

Crelate

Activity (Task/Note on Submission)

1:1
Fully supported

IceHrm 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

maps to

Crelate

Candidate Tags or Custom Fields

lossy
Fully supported

IceHrm 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

maps to

Crelate

Contact Custom Fields (Candidate)

1:1
Fully supported

IceHrm 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

maps to

Crelate

N/A (excluded)

1:1
Fully supported

IceHrm 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

maps to

Crelate

N/A (excluded)

1:1
Fully supported

IceHrm 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

maps to

Crelate

N/A (excluded)

1:1
Mapping required

IceHrm 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

maps to

Crelate

N/A (excluded)

1:1
Fully supported

IceHrm 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

maps to

Crelate

N/A (excluded)

1:1
Fully supported

IceHrm 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)

maps to

Crelate

Custom Fields (Candidate, Job Order, Submission)

lossy
Fully supported

IceHrm 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.

Gotchas + challenges

What specifically takes care here

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 logo

IceHrm gotchas

High

Self-hosted schema modifications cause migration surprises

High

Employee count billing model on IceHrm Cloud

Medium

Custom fields per module require manual field-level discovery

Medium

Document attachment export requires file-by-file handling

Crelate logo

Crelate gotchas

High

120 req/min API rate limit throttles bulk migrations

High

20 custom field per-entity cap forces data model decisions

Medium

15,000-record export ceiling on single operations

Medium

Sequences and automation workflows do not migrate

Low

API key is a querystring parameter, not a header

Pair-specific challenges

  • IceHrm recruitment data lives inside the Employee model

    IceHrm does not have a standalone Candidate object. Recruitment data — applicants, applications, pipeline stages — is stored as Employee records with recruitment-specific fields and related application records. When migrating to Crelate, we must filter the full Employee roster to identify records that belong in the recruiting pipeline (applicants who have not been hired) versus records that are current employees. The filter criteria (application status, hire date presence, department assignment) are defined during discovery. Migrations that copy all Employees into Crelate as Candidates without this filter create a noisy talent pool that does not reflect actual recruiting pipeline activity.

  • IceHrm self-hosted schema may diverge from upstream release

    IceHrm's self-hosted version runs on PHP and MySQL, and customers with developer access can modify the database schema directly by adding columns, changing field types, or creating custom tables via the extension migration system. When we migrate from a self-hosted instance, we discover the actual deployed schema during the audit phase and adjust field mappings accordingly. We do not assume the schema matches the upstream release. Custom tables added via IceHrm's extension framework (documented in the GitBook extension migration reference) require individual review to determine if they contain recruitment-relevant data or can be excluded.

  • Crelate has no HRMS schema for most IceHrm modules

    Crelate is an ATS and Recruiting CRM. It has no schema for Leave Management, Time & Attendance, Payroll, Performance Reviews, or Training. Attempting to migrate these modules into Crelate will result in field-level import errors or orphaned records with no parent object. We define the exclusion scope upfront during discovery and document each excluded module with record counts, field inventories, and a recommendation for parallel tool strategy. Customers who want a single system for both HRMS and ATS after migration should consider BambooHR, Rippling, or Freshteam instead of Crelate.

  • Document extraction from IceHrm requires file-by-file handling

    Employee documents in IceHrm — CVs, resumes, cover letters, certifications, contracts — are stored as file attachments linked to the employee record. There is no bulk file export endpoint in IceHrm, so we extract documents individually via the web interface for cloud instances or file system access for self-hosted instances. We preserve the original filename, MIME type, upload date, and link to the employee record. Crelate must have candidate attachments enabled for the attachment import to succeed. We flag any document that cannot be extracted (access-denied files, deleted attachments) in the document reconciliation report.

  • Custom fields per module require discovery before mapping

    IceHrm allows custom fields to be added to selected modules independently via Admin > Custom Fields. The same logical module (Employees/Recruitment) may have different custom field schemas across two IceHrm instances. We run a custom field discovery step per module before mapping begins, capturing all extended attributes and picklist value options. If custom fields reference picklist values, we extract the value options and map them to Crelate's equivalent picklist taxonomy. Fields with no Crelate equivalent are flagged as candidates for custom field creation before migration begins.

Migration approach

Six steps for a successful IceHrm to Crelate data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

IceHrm logo

IceHrm

Source

Strengths

  • Fully open-source with source-code access on GitHub, giving teams complete control over the codebase and hosting environment.
  • Modular architecture allows activating only needed HR modules, reducing system complexity for smaller teams.
  • Cloud tier pricing is aggressively low at $12/month for up to 6 employees, making it accessible for micro-SMBs and early-stage companies.
  • Both cloud and self-hosted deployments share the same feature set, enabling a low-risk migration path from managed to self-hosted.
  • Covers the full core HRMS surface area: employee management, leave, attendance, payroll, recruitment, performance reviews, and training.

Weaknesses

  • Support quality is inconsistent — reviewers report support staff with limited product knowledge and slow response times on complex issues.
  • The learning curve is steep for non-technical HR administrators who need to understand how modules interconnect and where settings live.
  • API documentation is not publicly prominent, limiting the availability of structured, programmatic export options for large-scale data extraction.
  • Enterprise-grade features — advanced analytics, compliance automation, global payroll — are absent or underdeveloped compared to HCM platforms like BambooHR or Workday.
  • Self-hosted deployments require in-house server maintenance, database management, and update handling, which is a significant hidden cost for teams without developer resources.
Crelate logo

Crelate

Destination

Strengths

  • Unified ATS and CRM in a single platform reduces data synchronization overhead for recruiting teams.
  • Fast setup with guided implementation reported as a significant time saver for small teams.
  • Transparent per-seat pricing without surprise fees at the base tier.
  • Flexible custom field configuration across core objects without developer dependency.
  • Export capability supports up to 15,000 records per operation for Contacts, Companies, and Opportunities.

Weaknesses

  • API rate limit of 120 requests per minute restricts bulk migration throughput.
  • Custom field cap of 20 per entity requires field consolidation for complex recruiting schemas.
  • All advanced features (Activities, Activity Forms, Core Record Field customization) are tier-gated add-ons.
  • Customer service responsiveness receives consistent negative feedback in reviews.
  • Resume parsing quality trails competitors and generates support requests.

Complexity grading

How hard is this migration?

Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across IceHrm and Crelate.

  • Object compatibility

    B

    1 of 7 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    IceHrm: Not publicly documented.

  • Data volume sensitivity

    B

    IceHrm doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your IceHrm to Crelate migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about IceHrm to Crelate data migrations

Answers to the questions buyers ask most during IceHrm to Crelate migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your IceHrm to Crelate migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts with fewer than 5,000 Candidates and 200 Job Orders with straightforward custom field schemas. Migrations with large historical application records (over 50,000 Submission entries), complex multi-branch organizational structures, or self-hosted IceHrm instances with non-standard schema modifications move to six to ten weeks. Crelate's own documentation cites one to three weeks for standard ATS migrations, which aligns with our three-to-five-week scope for the migration work we perform before Crelate's own implementation and testing phases begin.

Adjacent paths

Related migrations to explore

Ready when you are

Move from IceHrm.
Land in Crelate, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day