HRMS migration

Migrate from IceHrm to Recruit CRM & ATS

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

IceHrm logo

IceHrm

Source

Recruit CRM & ATS

Destination

Recruit CRM & ATS logo

Compatibility

33%

4 of 12

objects map 1:1 between IceHrm and Recruit CRM & ATS.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from IceHrm to Recruit CRM is a specialized migration that crosses between a broad HRMS platform and a recruitment-agency-focused ATS. IceHrm covers the full employee lifecycle including payroll, leave, attendance, performance reviews, and training, while Recruit CRM is purpose-built for agencies managing candidate pipelines, job postings, and client relationships. The migration centers on IceHrm employee records (which become candidates in Recruit CRM) and the IceHrm Recruitment module (which maps directly to Recruit CRM's job and application objects). We flag the IceHrm modules with no Recruit CRM equivalent — payroll, leave balances, time tracking, performance reviews, and training records — during scoping so the customer decides what to archive versus migrate. Custom fields added to IceHrm modules require discovery per module before mapping begins, and document attachments on employee records are extracted individually and linked to the candidate post-import. Workflows, approval chains, and payroll configurations do not migrate; we deliver a written inventory for the customer's admin to evaluate in Recruit CRM's setup.

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

Recruit CRM & ATS logo

Recruit CRM & ATS

What's pulling them in

  • Agencies choose Recruit CRM for its full customizability — pipelines, stages, and fields can be tailored to any recruitment workflow without developer involvement.
  • Small teams value the built-in CRM and ATS combined in one subscription, eliminating the need to purchase and sync separate systems.
  • The Chrome extension for one-click LinkedIn profile collection streamlines candidate sourcing and reduces manual data entry for recruiters.
  • Responsive customer support with fast issue resolution is consistently cited as a reason teams stick with the platform long-term.
  • Automation options including email sequences and workflow triggers allow recruitment agencies to reduce repetitive manual outreach tasks.

Object mapping

How IceHrm objects map to Recruit CRM & ATS

Each row shows how a IceHrm object lands in Recruit CRM & ATS, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

IceHrm

Employee

maps to

Recruit CRM & ATS

Candidate

1:1
Fully supported

IceHrm Employee records are the primary migration object and map to Recruit CRM Candidate records. We extract the employee's full name, contact details, employment history, qualifications, and status (active, inactive, terminated) and create a Candidate record in Recruit CRM. The candidate's original hire date in IceHrm migrates as the candidate_joined_date field in Recruit CRM. Inactive and terminated employees require a scoping decision: they can migrate as candidates (archived status) or be excluded from the migration scope to keep the Recruit CRM candidate database lean.

IceHrm

Recruitment: Job Posting

maps to

Recruit CRM & ATS

Job

1:1
Fully supported

IceHrm job postings migrate to Recruit CRM Job records. We map job title, job description, requirements, location, employment type, and department from IceHrm to Recruit CRM's job structure. If IceHrm has custom fields on the job posting module, we discover those during the audit phase and create corresponding custom fields in Recruit CRM before migration.

IceHrm

Recruitment: Applicant

maps to

Recruit CRM & ATS

Candidate (linked to Job)

1:1
Fully supported

IceHrm applicants attached to a job posting map to Recruit CRM Candidate records linked to the corresponding Job record via the application relationship. Application stage in IceHrm (application received, screening, interview, offer, hired, rejected) maps to Recruit CRM pipeline stages. If IceHrm has custom pipeline stages, we document them and configure matching stages in Recruit CRM before the application data migrates.

IceHrm

Employee Document

maps to

Recruit CRM & ATS

Candidate Document

1:1
Fully supported

IceHrm stores employee documents (contracts, certifications, ID scans) as file attachments linked to the employee record. We extract documents individually via the web interface or file system access on self-hosted instances, preserving the original filename, MIME type, upload date, and employee link. Each document is reattached to the corresponding Candidate record in Recruit CRM post-import. This requires file-by-file handling; there is no bulk document export in IceHrm.

IceHrm

Organization Structure (Departments, Titles)

maps to

Recruit CRM & ATS

Job Custom Fields and Tags

lossy
Fully supported

IceHrm organizational hierarchy (departments, job titles, employment types, branch offices) maps to Recruit CRM through custom fields on the Candidate and Job objects. Department from IceHrm becomes a picklist or tag in Recruit CRM. We create the department taxonomy in Recruit CRM during configuration so the original organizational context is searchable in the candidate database.

IceHrm

Custom Fields (Employee module)

maps to

Recruit CRM & ATS

Custom Fields (Candidate)

lossy
Fully supported

IceHrm allows custom fields to be added independently to the Employees module, meaning the same module may have different custom field schemas across two IceHrm instances. We run a custom field discovery step against the source IceHrm instance before mapping begins, capturing all extended attributes. If custom fields reference picklist values, we also extract the value options and create matching picklist values in Recruit CRM. Custom field discovery is repeated per active IceHrm module.

IceHrm

Custom Fields (Recruitment module)

maps to

Recruit CRM & ATS

Custom Fields (Job and Application)

lossy
Fully supported

IceHrm custom fields on job postings and applicants migrate to Recruit CRM custom fields on Job and Application objects. We apply the same discovery process as the Employee module: extract schema, map field types, and create the destination custom fields in Recruit CRM before the application data migrates.

IceHrm

Leave / Time-off

maps to

Recruit CRM & ATS

Not migrated

lossy
Fully supported

IceHrm leave management (balances, accrual rules, approval workflows, and time-off requests) has no direct equivalent in Recruit CRM, which is a recruitment and applicant tracking platform and does not include HR leave management. We do not migrate leave data to Recruit CRM. We flag this module during scoping and recommend the customer either retain the leave data in IceHrm read-only post-migration, export it as a spreadsheet, or migrate it separately to a destination HRMS if the customer is adopting Recruit CRM as their standalone ATS.

IceHrm

Payroll

maps to

Recruit CRM & ATS

Not migrated

lossy
Mapping required

IceHrm payroll data (salary components, pay schedules, payroll run history, custom salary structures) has no equivalent in Recruit CRM. Recruit CRM does not include payroll or compensation management. We do not migrate payroll data to Recruit CRM. If the customer needs payroll continuity, we scope a separate migration to a destination HRMS platform (BambooHR, Rippling, Gusto) as an additional engagement.

IceHrm

Performance Reviews

maps to

Recruit CRM & ATS

Not migrated

lossy
Fully supported

IceHrm performance review templates, review cycles, peer-to-peer ratings, and comments have no equivalent in Recruit CRM. We do not migrate performance review data to Recruit CRM. We export the review history as a structured CSV inventory delivered to the customer for manual re-entry or archive. Review templates are documented in the written migration inventory for the customer's admin to evaluate rebuilding in Recruit CRM's custom fields or a separate performance management tool.

IceHrm

Training / Learning Management

maps to

Recruit CRM & ATS

Not migrated

lossy
Fully supported

IceHrm training modules (courses, enrollments, completion records, learning paths) have no equivalent in Recruit CRM. We do not migrate training data to Recruit CRM. We deliver a CSV export of completion records per employee as part of the written migration inventory. If the customer requires learning management continuity, we scope a separate migration to an LMS destination.

IceHrm

Expense Requests

maps to

Recruit CRM & ATS

Not migrated

lossy
Mapping required

IceHrm expense requests and approval statuses have no equivalent in Recruit CRM. We do not migrate expense data. We export the expense history as a structured CSV for the customer to archive or migrate to a separate expense management platform.

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

Recruit CRM & ATS logo

Recruit CRM & ATS gotchas

High

API rate limits are license-scaled and can throttle bulk migration

Medium

Custom field schemas vary per organization and require field-level mapping

Medium

Files and email attachments require separate extraction and re-upload

Low

Email sequences and automation logic do not transfer between platforms

Pair-specific challenges

  • Self-hosted schema modifications alter the migration schema

    IceHrm's self-hosted version runs on PHP and MySQL, and customers with developer access can modify the database schema directly — adding columns, changing field types, or creating custom tables. 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 IceHrm release. If the customer has added custom PHP code or modified core tables, we flag those modifications before writing a single record to Recruit CRM. Cloud instances are less likely to have schema modifications, but custom fields per module still require discovery.

  • IceHrm HRMS modules have no Recruit CRM equivalent

    IceHrm is a full HRMS platform; Recruit CRM is a recruitment ATS and CRM. The IceHrm modules for payroll, leave management, time and attendance, performance reviews, training, and expenses have no data destination in Recruit CRM. These modules are scoped as non-migrated during the initial assessment, and the customer decides whether to archive them in IceHrm (read-only), export them as spreadsheets, or migrate them separately to a dedicated HRMS platform. Skipping this conversation before migration begins leads to scope creep and budget overruns mid-project.

  • Document attachment extraction requires file-by-file handling

    Employee documents in IceHrm — contracts, certifications, ID scans — 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 or direct file system access on self-hosted instances. We preserve the filename, MIME type, upload date, and the link to the employee record. Recruit CRM must support document attachments on the Candidate object for full fidelity. If Recruit CRM's attachment limits or storage tiers are a concern, we flag this during scoping and the customer decides which document categories to prioritize.

  • Inactive and terminated employees require a scoping decision

    IceHrm Cloud bills based on total employee count, and organizations often have inactive or terminated employees still in the roster. Migrating every historical employee record as a candidate in Recruit CRM inflates the candidate database with records that will never be active in the recruitment workflow. We audit the live employee roster during scoping and present a reconciliation report to the customer, who decides whether to migrate inactive/terminated employees as archived candidates or exclude them. This decision also affects downstream Recruit CRM licensing and storage costs.

Migration approach

Six steps for a successful IceHrm to Recruit CRM & ATS data migration

  1. Discovery and module inventory

    We audit the source IceHrm instance across all active modules: Employees, Recruitment, Leave, Payroll, Time and Attendance, Performance Reviews, Training, Documents, and any custom fields. For self-hosted instances, we also inspect the MySQL schema to capture any direct database modifications the customer may have made. We produce a written migration scope document that distinguishes between modules with a Recruit CRM equivalent (Employees to Candidates, Recruitment to Jobs and Applications), modules with partial equivalents (Documents to Candidate attachments), and modules with no equivalent (Payroll, Leave, Performance, Training, Expenses). The customer reviews and approves the scope before any data moves.

  2. Data cleanup and deduplication

    We run a data quality assessment on the IceHrm employee roster, identifying duplicate records, missing required fields (name, email), and inactive or terminated employees that require a scoping decision. We deduplicate the employee list before migration using a composite key of name plus email. For the Recruitment module, we audit job postings and applicants, flagging any with missing job links and duplicates across the candidate pool. Data cleanup is performed in the source IceHrm data extract before import into Recruit CRM, not after, because post-migration cleanup is three to five times more labor-intensive.

  3. Recruit CRM schema configuration and custom field creation

    We configure the Recruit CRM destination environment before any data import. This includes creating custom fields on the Candidate, Job, and Application objects that correspond to IceHrm custom fields discovered during the audit. We map IceHrm departments and job titles to Recruit CRM tags and picklists. We configure the candidate pipeline stages to match the IceHrm application stages, or document any custom stages that require new stage creation in Recruit CRM. Recruit CRM's setup is performed in the customer's live environment or a sandbox, depending on the migration agreement.

  4. Employee-to-Candidate migration and document attachment transfer

    We migrate IceHrm Employee records as Recruit CRM Candidates in dependency order: first the candidate base record (name, contact, employment status), then custom fields, then organizational context (department, title, branch). Document attachments are extracted individually from IceHrm and uploaded to the corresponding Candidate record in Recruit CRM, preserving the original filename and upload date. The customer reviews a sample of 25-50 migrated candidate records against the IceHrm source data before the full migration is committed. Any mapping corrections are applied before the remaining records migrate.

  5. Recruitment module migration (Jobs and Applications)

    We migrate IceHrm job postings to Recruit CRM Job records, mapping title, description, requirements, location, and department. For each job, we migrate the linked applicants as Candidate-to-Job applications, preserving the application stage and any application-specific custom fields. If IceHrm has custom pipeline stages, we document the full stage history and configure matching stages in Recruit CRM before the application data loads. We run a row-count reconciliation comparing IceHrm applicant records against Recruit CRM application records after migration.

  6. Cutover, validation, and non-migrated module handoff

    We freeze writes to IceHrm during cutover, run a final delta migration of any records modified during the migration window, then enable Recruit CRM as the active ATS. We deliver a written inventory document covering the non-migrated IceHrm modules (payroll, leave, performance, training, expenses), including record counts, field definitions, and export files. The customer uses this inventory to decide whether to retain IceHrm read-only, export to spreadsheets, or migrate to a separate HRMS. We support a one-week post-cutover window for reconciliation issues. We do not rebuild IceHrm workflows, approval chains, or payroll configurations in Recruit CRM; those are outside standard migration scope.

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.
Recruit CRM & ATS logo

Recruit CRM & ATS

Destination

Strengths

  • Fully customizable pipelines, stages, and fields without requiring developer involvement
  • Combines recruitment CRM and ATS in one subscription for staffing agencies and small teams
  • Built-in email sequences and automation reduce manual outreach work
  • Chrome extension enables one-click LinkedIn profile collection directly into the CRM
  • Responsive customer support cited across multiple reviews with fast resolution times

Weaknesses

  • Several features are gated as paid add-ons rather than included in the base subscription
  • Email functionality has been reported as unreliable by multiple users
  • Interface occasionally lags during high-activity periods in large pipelines
  • Pricing is considered higher than comparable recruitment CRMs by some customers
  • Limited native reporting — users request pre-made report exports rather than manual data pulls

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 Recruit CRM & ATS.

  • 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 Recruit CRM & ATS 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 Recruit CRM & ATS data migrations

Answers to the questions buyers ask most during IceHrm to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your IceHrm to Recruit CRM & ATS 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 under 500 employees with a clean employee roster and no extensive custom field schemas. Migrations with extensive custom fields across multiple IceHrm modules, large document attachment volumes, or complex organizational structures (multiple branches, custom departments) move to seven to ten weeks because of the per-module custom field discovery process and file-by-file document extraction. Non-migrated module inventory (payroll, leave, performance) is delivered alongside the migration and does not extend the timeline unless scoped as a separate engagement.

Adjacent paths

Related migrations to explore

Ready when you are

Move from IceHrm.
Land in Recruit CRM & ATS, 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