HRMS migration
Field-level mapping, validation, and rollback between CIPHR and Zoho Recruit. We move data and schema; workflows are rebuilt natively in Zoho Recruit.
CIPHR
Source
Zoho Recruit
Destination
Compatibility
7 of 13
objects map 1:1 between CIPHR and Zoho Recruit.
Complexity
BStandard
Timeline
3-6 weeks
Overview
Moving from CIPHR to Zoho Recruit is an HRMS-to-ATS migration: you are extracting recruitment and hiring data from a full HR suite and loading it into a dedicated applicant tracking system. CIPHR stores candidate-relevant data within employee records; Zoho Recruit uses a standalone Candidate object with separate Job Opening and Job Submission objects. We extract candidate fields from CIPHR employee profiles, split them into Zoho Recruit's candidate-centric schema, and map job positions and application records into their respective objects. Custom fields in CIPHR translate to Zoho Recruit custom fields, and we flag CIPHR absence, payroll, benefits, performance, and training data as out of scope since Zoho Recruit does not have equivalent objects. Workflows, onboarding templates, and automation rules do not migrate as code; we deliver a written inventory of every CIPHR recruitment workflow and onboarding task with a Zoho Recruit equivalent for your admin to rebuild 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 CIPHR 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.
CIPHR
Employee (recruitment fields)
Zoho Recruit
Candidate
1:manyCIPHR stores candidate-relevant data within employee records — name, email, phone, address, work eligibility, and any custom candidate fields defined in the recruitment module. We extract these fields and create Zoho Recruit Candidate records. CIPHR employee records without recruitment activity become inactive Candidates flagged for review. The original CIPHR employee record ID is preserved in a custom field cihr_employee_id__c for audit traceability.
CIPHR
Job Position / Vacancy
Zoho Recruit
Job Opening
1:1CIPHR job postings (title, department, location, employment type, job description, requirements) map to Zoho Recruit Job Opening records. The cihr_vacancy_id maps to a custom field on Job Opening. Active and closed statuses map directly. Archived vacancies in CIPHR become inactive Job Openings in Zoho Recruit and are preserved for historical reporting.
CIPHR
Applicant / Candidate Application
Zoho Recruit
Job Submission
1:1Each CIPHR application record linking an employee profile to a vacancy maps to a Zoho Recruit Job Submission. The candidate lookup and job opening lookup are resolved at migration time using the previously created Candidate and Job Opening IDs. Application status from CIPHR (applied, screening, interview, offer, hired, rejected) maps to the closest Zoho Recruit Status value; custom status names in CIPHR require explicit mapping to Zoho Recruit status options during scoping.
CIPHR
Employment History (from Employee)
Zoho Recruit
Candidate Work Experience
1:manyCIPHR employee records may contain employment history entries (previous employers, job titles, dates). We extract each employment history row as a separate Work Experience record on the Zoho Recruit Candidate profile. Employer name, job title, start date, end date, and description map to the corresponding Zoho Recruit Work Experience fields. Employment history with no start date is flagged for customer review before import.
CIPHR
Education (from Employee)
Zoho Recruit
Candidate Education
1:manyCIPHR education records attached to an employee profile (institution, degree, field of study, graduation year) map to Zoho Recruit Education records on the Candidate. Each education entry becomes a separate Zoho Recruit Education record linked to the Candidate. Multiple education entries per candidate are split into individual records at migration time.
CIPHR
Onboarding Task
Zoho Recruit
CheckList Item
lossyCIPHR onboarding tasks and checklist items map to Zoho Recruit Candidate CheckList items. We preserve the task name, assigned owner, and completion status. CIPHR custom onboarding templates are not automatically replicated — we create a custom mapping table during scoping that pairs each CIPHR onboarding task with its Zoho Recruit CheckList equivalent, and flag any tasks with no Zoho Recruit match for manual recreation by the customer's admin.
CIPHR
Custom Properties (recruitment module)
Zoho Recruit
Custom Fields
lossyAny custom fields defined on CIPHR employee records in the recruitment context map to Zoho Recruit custom fields on the Candidate object. Field data types are translated: CIPHR text and number fields map to Zoho Recruit single-line text or number fields; CIPHR date fields map to Zoho Recruit date fields; CIPHR picklist fields map to Zoho Recruit picklist fields with the same option values. Custom field names are preserved as field labels; API names are auto-generated per Zoho Recruit naming convention. Custom properties with no equivalent Zoho Recruit field type are mapped to text fields and flagged in the scoping report.
CIPHR
Absence and Leave
Zoho Recruit
None
1:1CIPHR absence and leave data (sickness, holiday, accrual balances) has no equivalent object in Zoho Recruit. We flag this object as out of scope in the scoping report and recommend Zoho People or a dedicated absence management system for ongoing leave tracking. Leave history is not imported into Zoho Recruit.
CIPHR
Payroll Records
Zoho Recruit
None
1:1CIPHR payroll module data (historical pay data, deductions, tax codes, pension contributions) has no equivalent object in Zoho Recruit. Organisations using CIPHR's managed payroll bureau service should retrieve PAYE history from HMRC P60 and P45 documents separately and load into their chosen payroll system. Payroll data is out of scope for the Zoho Recruit migration.
CIPHR
Benefits
Zoho Recruit
None
1:1CIPHR benefits module data (enrolment records, flexible benefit selections, contribution amounts) has no equivalent in Zoho Recruit's ATS model. Benefit plan identifiers and employee enrolments are flagged as out of scope and noted in the scoping report for the customer's HR team to address in their chosen benefits management platform post-migration.
CIPHR
Performance Appraisals
Zoho Recruit
None
1:1CIPHR appraisal records, ratings, and 360 feedback have no Zoho Recruit equivalent. Performance management data is out of scope for the ATS migration. Customers requiring post-hire performance tracking should evaluate Zoho People or a dedicated performance management system.
CIPHR
Learning / Training Records
Zoho Recruit
None
1:1CIPHR LMS course completions, assignments, and quiz results have no equivalent in Zoho Recruit's ATS. Learning history does not migrate. If the customer uses Zoho Learn or another LMS, learning records can be migrated as a separate engagement scoped to the LMS destination.
CIPHR
User (active employees)
Zoho Recruit
User
lossyCIPHR user accounts mapped as active employees in the recruitment module are provisioned in Zoho Recruit as active User records. We match by email address and set the Zoho Recruit role based on the CIPHR role name. Users without a matching Zoho Recruit account are held in a reconciliation queue for the customer's admin to provision before candidate import begins. Inactive or departed employees from CIPHR are not imported as active Zoho Recruit users.
| CIPHR | Zoho Recruit | Compatibility | |
|---|---|---|---|
| Employee (recruitment fields) | Candidate1:many | Fully supported | |
| Job Position / Vacancy | Job Opening1:1 | Fully supported | |
| Applicant / Candidate Application | Job Submission1:1 | Fully supported | |
| Employment History (from Employee) | Candidate Work Experience1:many | Fully supported | |
| Education (from Employee) | Candidate Education1:many | Fully supported | |
| Onboarding Task | CheckList Itemlossy | Fully supported | |
| Custom Properties (recruitment module) | Custom Fieldslossy | Mapping required | |
| Absence and Leave | None1:1 | Fully supported | |
| Payroll Records | None1:1 | Mapping required | |
| Benefits | None1:1 | Mapping required | |
| Performance Appraisals | None1:1 | Mapping required | |
| Learning / Training Records | None1:1 | Mapping required | |
| User (active employees) | Userlossy | 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.
CIPHR gotchas
No public pricing means migration budget estimates are harder to pin down
Payroll bureau clients face higher migration complexity
Absence balance recalculation at the destination can cause accrual discrepancies
Custom onboarding templates require manual pre-mapping
Zoho Recruit gotchas
Daily API rate limits are tier-gated and per-user capped
User import hard cap of 2,000 records
Attachment folder hierarchy must be preserved exactly
Resume parsing quota varies by plan and resets daily
Custom fields unavailable in Free and Standard editions
Pair-specific challenges
Migration approach
Discovery and CIPHR recruitment module audit
We audit the CIPHR recruitment module across employee records with candidate data, job posting volume, application history, onboarding task lists, custom fields on employee and recruitment objects, active workflows, and email templates. We coordinate with CIPHR support to request the data export, including any archived vacancy records and historical applications. We also audit the current Zoho Recruit account for existing data, active users, and configured custom fields to identify any destination schema gaps before migration design begins. The discovery output is a written scoping document with record counts, custom field inventory, and workflow inventory.
Schema design and field mapping table
We design the destination schema in Zoho Recruit, including adding all missing custom fields on the Candidate, Job Opening, and Job Submission objects. We configure application status values to match the CIPHR custom stages, set up the CheckList template aligned to the CIPHR onboarding tasks, and create the Zoho Recruit User accounts for any active CIPHR users who will use the ATS. The field mapping table pairs every CIPHR source field with its Zoho Recruit destination, documents any transformations (date format standardisation, country code normalisation, status label translation), and flags fields with no direct equivalent for explicit customer decision during scoping.
Data extraction, cleaning, and transformation
We extract candidate data from the CIPHR employee records, job posting data, application histories, and onboarding task records. The extracted data is cleaned: standardising date formats to YYYY-MM-DD, normalising phone numbers to E.164 format, removing duplicate candidate entries identified by email deduplication, and resolving the custom application status values against the Zoho Recruit status configuration created in Step 2. Candidate attachments (resumes) are extracted separately and batched for API-based upload. Any records with missing required fields (such as a candidate name or a job opening reference) are held in a cleaning queue and reported to the customer for resolution before import.
Sandbox migration and reconciliation
We run a full migration into the customer's Zoho Recruit sandbox environment using production-like data volume. The customer reconciles record counts (Candidates in, Job Openings in, Job Submissions in, CheckList items in), spot-checks 25-50 random candidate records against the CIPHR source, and reviews application status labels and onboarding task names for accuracy. Any mapping corrections, missing status values, or custom field gaps are resolved in sandbox before the production migration plan is finalised and signed off.
Production migration in dependency order
We run production migration in record-dependency order: Zoho Recruit Users first (validated by customer admin), then Job Openings (parent records for submissions), then Candidates (linked to users as the Candidate Owner), then Job Submissions (with Candidate and Job Opening Lookups resolved), then Work Experience and Education records, then CheckList items. Resume attachments upload via the Zoho Recruit API after the candidate record exists. Each phase emits a row-count reconciliation report before the next phase begins. Bulk import uses Zoho Recruit's CSV wizard for structured records and the API for attachments and complex custom field types.
Cutover, validation, and workflow rebuild handoff
We freeze CIPHR recruitment module writes during cutover, run a final delta migration of any records created or modified during the cutover window, then enable Zoho Recruit as the recruiting system of record. We deliver the workflow rebuild inventory documenting every active CIPHR recruitment workflow and its recommended Zoho Recruit Blueprint equivalent, the onboarding task rebuild guide, and the email template list for manual upload. We support a one-week hypercare window for reconciliation issues raised by the recruiting team. We do not rebuild CIPHR workflows as Zoho Recruit Blueprints inside the migration scope; that is a separate configuration engagement or an internal admin task.
Platform deep dives
CIPHR
Source
Strengths
Weaknesses
Zoho Recruit
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 2 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 CIPHR and Zoho Recruit.
Object compatibility
2 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
CIPHR: Not publicly documented by CIPHR directly.
Data volume sensitivity
CIPHR 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 CIPHR to Zoho Recruit migration scoping. Not seeing yours? Book a call.
Walk through your CIPHR to Zoho Recruit migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave CIPHR
Other ways to arrive at Zoho Recruit
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.