HRMS migration

Migrate from IceHrm to Zoho Recruit

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

IceHrm logo

IceHrm

Source

Zoho Recruit

Destination

Zoho Recruit logo

Compatibility

92%

11 of 12

objects map 1:1 between IceHrm and Zoho Recruit.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

IceHrm is a full-stack HRMS covering Employee Management, Leave, Time & Attendance, Payroll, Recruitment, Performance Reviews, and Training. Zoho Recruit is a dedicated Applicant Tracking System focused on candidate sourcing, job openings, interview scheduling, and recruitment analytics. The migration scope narrows to IceHrm's Recruitment and Employee modules because the remaining modules have no direct Zoho Recruit object. We run a custom field discovery step per IceHrm module, handle Zoho Recruit's mandatory Last Name field requirement on Candidates, and preserve file attachments as Zoho Recruit Attachments linked to the correct Candidate record. IceHrm self-hosted instances may have modified PHP/MySQL schemas that require schema-audit adjustments before any field mapping is finalized. We do not migrate workflows, automations, or payroll runs; we deliver a written inventory of these for your admin to rebuild in Zoho Recruit or a complementary Zoho product.

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

Zoho Recruit logo

Zoho Recruit

What's pulling them in

  • Lowest cost entry point of any major ATS — a free tier with Candidates, Clients, Contacts, Interviews, and a career site lets small teams validate before committing to a paid plan.
  • Deep Zoho ecosystem integration — if the team already uses Zoho CRM, Sheets, or Analytics, candidate data flows between modules without re-keying or third-party middleware.
  • Customizable pipelines and stages — both agency and corporate editions let users define custom pipeline stages and assign candidates through drag-and-drop visual boards.
  • AI-assisted features via Zia — resume parsing, candidate summarization, and job-candidate matching are built in on paid tiers, reducing manual screening time.
  • Job board aggregation at no extra cost — paid tiers include postings to major job boards, extending reach without purchasing separate job ad bundles.

Object mapping

How IceHrm objects map to Zoho Recruit

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

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

IceHrm

Employees

maps to

Zoho Recruit

Candidates

1:1
Fully supported

IceHrm Employee records map to Zoho Recruit Candidates. The First Name and Last Name fields split from IceHrm's full_name or emp_firstname/emp_lastname structure. Zoho Recruit requires Last Name as a mandatory field; records without a last name are flagged and populated with 'not provided' per Zoho Recruit's import specification. Employee number, joining date, and employment status migrate as custom Candidate fields. Self-hosted IceHrm instances may have custom columns added to the employee table; we discover the deployed schema before field mapping begins.

IceHrm

Recruitment: Job Openings

maps to

Zoho Recruit

Job Openings

1:1
Fully supported

IceHrm job postings map directly to Zoho Recruit Job Openings. IceHrm job_title, job_description, and department assignments transfer to Zoho Recruit's corresponding fields. IceHrm's recruitment status (open, closed, on-hold) maps to Zoho Recruit's Job Opening status field. Hiring team assignments on IceHrm job postings become Zoho Recruit users assigned to the Job Opening.

IceHrm

Recruitment: Applicants

maps to

Zoho Recruit

Candidates (linked to Job Openings)

1:1
Fully supported

IceHrm applicant records map to Zoho Recruit Candidates and are linked to the corresponding Job Opening via the Zoho Recruit Candidate mapping. IceHrm application stages (applied, screening, interview, offer, rejected) map to Zoho Recruit pipeline stages. Application date, source channel, and referral information migrate as Candidate fields.

IceHrm

Recruitment: Interview Records

maps to

Zoho Recruit

Interviews

1:1
Fully supported

IceHrm interview records map to Zoho Recruit Interviews. Interview date, time, interviewer name, interview type, and feedback or score migrate as Interview fields. IceHrm interview notes map to Zoho Recruit Interview Notes linked to the Interview record. Interview scheduling status (scheduled, completed, cancelled) transfers to the Zoho Recruit Interview status.

IceHrm

Leave / Time-off

maps to

Zoho Recruit

Not supported in Zoho Recruit

1:1
Fully supported

IceHrm Leave module (balances, accrual rules, leave types, and approval workflows) has no direct Zoho Recruit object. Zoho Recruit is an ATS and does not include leave management. We flag this module as unsupported during scoping. Customers requiring leave data migration should consider a parallel engagement to Zoho People, which has a dedicated Leave Management module. Leave data is not migrated into Zoho Recruit.

IceHrm

Payroll

maps to

Zoho Recruit

Not supported in Zoho Recruit

1:1
Mapping required

IceHrm Payroll (salary components, pay schedules, payroll run history, and custom salary structures) has no direct Zoho Recruit object. Zoho Recruit does not include payroll functionality. We flag payroll as out of scope and recommend Zoho Payroll as a separate migration destination if payroll data continuity is required. Payroll records are not migrated into Zoho Recruit.

IceHrm

Time & Attendance

maps to

Zoho Recruit

Not supported in Zoho Recruit

1:1
Fully supported

IceHrm Time & Attendance (punch-in/out records, timesheets, and overtime calculations) has no direct Zoho Recruit object. Zoho Recruit does not include attendance tracking. We document the attendance module schema and record count as part of the written migration inventory, but no records migrate into Zoho Recruit.

IceHrm

Performance Reviews

maps to

Zoho Recruit

Not supported in Zoho Recruit

1:1
Fully supported

IceHrm Performance Reviews (peer-to-peer review templates, review cycles, ratings, and comments) have no direct Zoho Recruit object. Zoho Recruit is an ATS and does not include performance management. Review records are documented in the written migration inventory but are not migrated into Zoho Recruit.

IceHrm

Training / Learning Management

maps to

Zoho Recruit

Not supported in Zoho Recruit

1:1
Fully supported

IceHrm Training (courses, enrollments, completion records, and learning paths per employee) has no direct Zoho Recruit object. Zoho Recruit does not include LMS functionality. Training enrollment data is documented in the written migration inventory for admin reference but is not migrated into Zoho Recruit.

IceHrm

Documents

maps to

Zoho Recruit

Attachments

1:1
Mapping required

IceHrm employee documents (contracts, certifications, ID scans) attached to Employee records migrate as Zoho Recruit Attachments linked to the corresponding Candidate record. We extract documents individually via web interface or file system access (self-hosted) because IceHrm does not provide a bulk file export endpoint. We preserve file name, MIME type, upload date, and the link to the Candidate. Zoho Recruit supports file attachments on Candidates and Job Openings.

IceHrm

Departments / Organization Structure

maps to

Zoho Recruit

Departments

1:1
Fully supported

IceHrm departments, branches, and office locations map to Zoho Recruit Departments. Department hierarchy (parent-child relationships) migrates to Zoho Recruit's department structure via the parent department lookup field. Job titles and employment types from IceHrm's organizational setup become custom fields or picklist options on the Candidate object in Zoho Recruit.

IceHrm

Custom Fields

maps to

Zoho Recruit

Custom Fields

lossy
Mapping required

IceHrm custom fields per module are discovered during the pre-migration audit and mapped to Zoho Recruit custom fields. Custom field types (text, number, date, picklist) are matched to equivalent Zoho Recruit field types. Picklist values from IceHrm custom fields are extracted and mapped to Zoho Recruit picklist options. Custom fields added to IceHrm modules that have no Zoho Recruit equivalent (Leave, Payroll, Training, Performance) are documented in the written inventory but not migrated.

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

Zoho Recruit logo

Zoho Recruit gotchas

High

Daily API rate limits are tier-gated and per-user capped

High

User import hard cap of 2,000 records

Medium

Attachment folder hierarchy must be preserved exactly

Medium

Resume parsing quota varies by plan and resets daily

Low

Custom fields unavailable in Free and Standard editions

Pair-specific challenges

  • Zoho Recruit requires Last Name on every Candidate record

    Zoho Recruit's import specification designates Last Name as a mandatory field on Candidates. Records without a last name value are ignored during import. IceHrm stores employee names in various structures (full_name field, emp_firstname/emp_lastname split, or custom name fields on self-hosted instances). We audit the IceHrm name field structure during scoping, split compound names where appropriate, and flag records without any last name value for the customer to resolve before migration. Per Zoho Recruit's documentation, records without a last name should use 'not provided' as a placeholder.

  • Leave, Payroll, Training, and Performance have no Zoho Recruit home

    IceHrm is a full-stack HRMS; Zoho Recruit is a dedicated ATS. IceHrm modules for Leave, Time & Attendance, Payroll, Performance Reviews, and Training have no corresponding objects in Zoho Recruit. We flag each unsupported module during scoping and document the record counts and field schemas in the written migration inventory. Customers requiring this data in the Zoho ecosystem should plan a separate migration to Zoho People (for employee records, leave, and attendance) and Zoho Payroll as complementary products. These records are not migrated into Zoho Recruit.

  • Self-hosted IceHrm schema may diverge from upstream release

    IceHrm's self-hosted version runs on PHP and MySQL, and customers with developer access commonly modify the database schema directly — adding custom columns, changing field types, or creating custom tables. 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. If custom PHP code or modified core tables are present, we flag those modifications before writing a single record to Zoho Recruit.

  • IceHrm document attachments require file-by-file extraction

    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, so we extract documents individually via the web interface (cloud) or direct file system access (self-hosted). We preserve the file name, MIME type, upload date, and link to the Candidate record in Zoho Recruit. The volume of document attachments directly affects migration timeline because each file requires individual handling.

  • Zoho Recruit export and import limits constrain batch sizing

    Zoho Recruit's export feature allows a maximum of 20,000 records per module in a single export request, and the download link remains active for up to 48 hours. IceHrm cloud instances use the REST API and Admin console export tooling; self-hosted instances may require direct MySQL export. We chunk large datasets into batches that respect Zoho Recruit's import limits and coordinate with the customer on parallel-run delta exports during the migration window to capture records modified during the transition period.

Migration approach

Six steps for a successful IceHrm to Zoho Recruit data migration

  1. Discovery and module inventory

    We audit the source IceHrm instance across deployment type (cloud or self-hosted), active modules, and record volumes per module. For self-hosted instances, we connect to the MySQL database and inspect the deployed schema to identify any custom columns, modified field types, or custom tables. We produce a written migration inventory listing every IceHrm module, its record count, and whether a Zoho Recruit equivalent exists. This inventory forms the basis for the migration scope and the out-of-scope module documentation.

  2. Name field auditing and mandatory field preparation

    We analyze IceHrm's name field structure across all Employee and Applicant records. If IceHrm uses a single full_name field, we split it into First Name and Last Name using common name patterns; records where splitting is ambiguous are flagged for customer resolution. We verify that every record will satisfy Zoho Recruit's mandatory Last Name requirement before migration begins. Records without a resolvable last name are prepared with a 'not provided' placeholder per Zoho Recruit's import specification.

  3. Custom field discovery and picklist value extraction

    We run a custom field discovery step across all active IceHrm modules. For each module, we extract the custom field definitions (name, type, required flag) and any associated picklist option sets. Custom fields are mapped to equivalent Zoho Recruit field types during this phase. Picklist values from IceHrm are extracted and mapped to Zoho Recruit picklist options, with unmapped values flagged for customer confirmation. Modules without Zoho Recruit equivalents (Leave, Payroll, Training, Performance) have their custom field schemas documented but not migrated.

  4. Sandbox migration and reconciliation

    We run a full migration into a Zoho Recruit sandbox account using production-like data volume. The customer reconciles record counts (Candidates in, Job Openings in, Interviews in, Attachments in), spot-checks 25-50 random Candidate records against the IceHrm source, and validates that custom field data landed correctly. Name field handling is validated specifically. The customer signs off on the sandbox migration before production cutover begins. Any mapping corrections happen here.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Departments (setup first for department hierarchy), Job Openings (referenced by Candidate links), Candidates (with Last Name resolved and department assignment mapped), Interviews (linked to Candidates and Job Openings), and Attachments (linked to Candidates by record ID). Each phase emits a row-count reconciliation report before the next phase begins. During cutover, we capture a final delta export of any records modified in IceHrm during the migration window.

  6. Cutover, validation, and module inventory delivery

    We freeze IceHrm writes during cutover, run the final delta migration, then enable Zoho Recruit as the system of record for recruitment data. We validate that all Candidates are linked to correct Job Openings, all Interview records reference the correct Candidates, and all Attachments are accessible on the correct Candidate records. We deliver the written migration inventory covering unsupported modules (Leave, Payroll, Training, Performance) and a written map of any IceHrm workflow or automation rules requiring rebuild in Zoho Recruit Blueprint or Assignment Rules. We do not rebuild automations inside the 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.
Zoho Recruit logo

Zoho Recruit

Destination

Strengths

  • Free tier includes full candidate management with a hosted career site, making it viable for very small staffing operations.
  • Multi-edition architecture splits agency and corporate HR workflows, with tier-gated features that scale predictably with headcount.
  • Per-user API rate limits (500–1000/day) are generous for mid-size migrations compared to competitors that gate by total org quota.
  • Zoho's own data migration tool supports CSV import from Bullhorn, CATS, Jobdiva, and Workable, validating interoperability with common ATS formats.
  • 45-day money-back guarantee and 15-day full-feature trial reduce financial risk for teams evaluating the platform.

Weaknesses

  • Free edition excludes custom fields, lookup relationships, and formula fields, making data model extensibility unavailable until a paid tier is purchased.
  • Resume parsing quotas are capped: 250/day on Standard, 500/day on Professional, unlimited only on Enterprise — bulk imports of large candidate pools will hit these limits.
  • No bulk/batch API endpoint for inserts or updates — large migrations rely on looping single-record API calls within daily rate limit windows.
  • Custom modules cannot be imported from external ATS; only standard modules (Users, Candidates, Clients, etc.) are in the supported migration list.
  • Attachments require a rigid folder hierarchy to re-associate with records, and any deviation in folder structure during extraction causes silent disassociation.

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 Zoho Recruit.

  • 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 Zoho Recruit 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 Zoho Recruit data migrations

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

Can't find your answer?

Walk through your IceHrm to Zoho Recruit 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 straightforward ATS data: under 5,000 Candidates, 200 Job Openings, and no self-hosted schema modifications. IceHrm self-hosted instances with custom-modified database schemas, high document attachment volume, or customers planning to add Zoho People alongside Zoho Recruit move to seven to twelve weeks because of schema audit scope and cross-product coordination. The written inventory for unsupported modules (Leave, Payroll, Training, Performance) is delivered at any scope and does not extend timeline.

Adjacent paths

Related migrations to explore

Ready when you are

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