HRMS migration
Field-level mapping, validation, and rollback between HROne and Zoho Recruit. We move data and schema; workflows are rebuilt natively in Zoho Recruit.
HROne
Source
Zoho Recruit
Destination
Compatibility
9 of 12
objects map 1:1 between HROne and Zoho Recruit.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from HROne to Zoho Recruit is a narrowing migration: HROne is a full lifecycle HRMS covering payroll, attendance, leave management, and recruitment; Zoho Recruit is an ATS focused on the hiring phase from job requisition through onboarding. We migrate the recruitment subset of HROne data—Candidates, Job Openings, and Candidates—mapping HROne employee profiles to Zoho Recruit candidate records and preserving employment history as structured fields. Attendance logs, leave balances, compensation histories, performance appraisals, and org-structure modules fall outside Zoho Recruit's ATS data model; we document these as out-of-scope and recommend pairing Zoho Recruit with Zoho People for full lifecycle HR. HROne's custom fields are instance-specific and not always in the public API; we run explicit custom-field discovery against both the API export and the UI export before finalizing the mapping. Workflows, approval rules, and leave policies do not migrate—Zoho Recruit's workflow automation model differs structurally from HROne's, and we deliver a written inventory of every active automation requiring rebuild.
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 HROne 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.
HROne
Employee
Zoho Recruit
Candidate
1:1HROne Employee records map to Zoho Recruit Candidate records. Core fields (name, email, phone, department, employment type, joining date) migrate directly. HROne's per-employee custom fields require a custom-field audit step: we compare the API export against a UI export because instance-specific custom fields are not always in HROne's public API. We create matching custom fields in Zoho Recruit (paid editions only; Free Edition does not support custom fields) before import. The original HROne employee ID is preserved in a custom field hrone_employee_id__c for audit trail. Note: Zoho Recruit Candidate is the pre-hire record; after hire, the candidate-to-employee bridge is handled by the native Zoho Recruit-to-Zoho-People integration, which we configure as a post-migration step.
HROne
Employee
Zoho Recruit
Candidate + Custom Module (Employment History)
1:manyHROne employee records with rich employment history (previous employer, past titles, education, certifications) require a split: the base profile maps to Candidate, and structured employment-history entries map to a Zoho Recruit custom module linked via Lookup. This approach preserves the depth of HROne's employment data within Zoho Recruit's candidate record structure. We create the custom module, its fields, and the Lookup relationship during the schema design phase before any data import.
HROne
Recruitment / Job Opening
Zoho Recruit
Job Opening
1:1HROne Job Openings map directly to Zoho Recruit Job Openings. Fields (job title, department, location, employment type, hiring manager) migrate directly. HROne's compensation range field maps to Zoho Recruit's salary range custom field if configured. Owner from HROne maps to the Zoho Recruit Candidate Owner field. Job status (active, on-hold, closed) migrates to Zoho Recruit Job Opening status. Post-migration, we validate that open job counts match between HROne and Zoho Recruit before closing the HROne source.
HROne
Candidate (applicant)
Zoho Recruit
Candidate (linked to Job Opening)
1:1HROne applicant records map to Zoho Recruit Candidates linked to their respective Job Opening records via the Candidates_For_Jobs related list. Applicant status (applied, shortlisted, interview, offer, rejected, hired) maps to Zoho Recruit Candidate status values. Source tracking (referral, job board, direct) migrates to Zoho Recruit's Candidate Source field. Interview scores and recruiter ratings migrate to custom fields in Zoho Recruit if the paid Enterprise edition is in use; Standard Edition does not support all rating field types.
HROne
Organization Structure (Department)
Zoho Recruit
Department (Custom Field or Lookup Module)
lossyHROne departments and cost centers map to a Zoho Recruit custom picklist field on Job Opening (Department) or to a Department Lookup module if the customer uses Zoho Recruit Enterprise. We configure the picklist values during schema setup, mapping each HROne department to its Zoho Recruit equivalent. The reporting hierarchy (manager relationships) from HROne is preserved as a custom field or note on the Candidate record for reference during hiring.
HROne
Time & Attendance
Zoho Recruit
Not migrated (ATS scope only)
1:1Clock-in/out logs, shift assignments, and overtime records in HROne have no equivalent module in Zoho Recruit. This data does not migrate. We document it as out-of-scope and recommend the customer pair Zoho Recruit with Zoho People for attendance tracking. If attendance data is relevant to the recruitment context (e.g., shift-based hiring), we store the most recent attendance status as a custom field on the Candidate record, but this is a scoped partial migration, not a full attendance transfer.
HROne
Leave Balances
Zoho Recruit
Not migrated (ATS scope only)
1:1Leave entitlements, accrual policies, and current balances in HROne have no equivalent in Zoho Recruit's ATS data model. This data does not migrate. We recommend the customer migrate leave management to Zoho People or retain it in HROne if payroll and leave remain on the HROne platform while only recruitment migrates to Zoho Recruit. We document the leave-type schema from HROne as a reference for Zoho People setup.
HROne
Compensation Records
Zoho Recruit
Candidate Custom Field (Salary Expectations)
1:1HROne compensation records (salary structures, pay components, compensation history) partially map to Zoho Recruit's candidate salary expectation field and custom compensation fields. Deep pay structure data (separate allowances, deductions, variable pay) does not have a native equivalent in Zoho Recruit; we create custom fields to capture the most recent compensation data and document the full compensation schema for the customer's records. Payroll runs and historical salary data remain in HROne or migrate to Zoho People separately.
HROne
Documents (Offer Letter, Contract, ID Proof)
Zoho Recruit
Candidate Attachment or Document Module
1:1HROne employee documents (offer letters, employment contracts, ID proofs) associated with candidates in the recruitment pipeline migrate as Zoho Recruit attachments on the Candidate record. We extract the file binary and filename from HROne's DocumentTemplate export, validate file size against Zoho Recruit's attachment limits, and re-attach to the corresponding Candidate record. Documents stored for employees not yet in a recruitment context do not migrate to Zoho Recruit and are documented for a Zoho People migration scope.
HROne
Performance Appraisals
Zoho Recruit
Not migrated (out of ATS scope)
1:1Goals, appraisal cycles, and review ratings in HROne's performance module do not map to Zoho Recruit. Zoho Recruit is an ATS and does not support performance management. We document the performance schema (appraisal dates, reviewer assignments, rating scales) from HROne as a written handoff for the customer's next HRMS selection. If the customer selects Zoho People as the post-recruit HRMS, the performance data is migrated in a separate engagement.
HROne
Custom Fields (instance-specific)
Zoho Recruit
Custom Fields (paid editions only)
lossyHROne organizations frequently add custom fields capturing region-specific, policy-specific, or industry-specific data on the Employee and Recruitment modules. These fields are not consistently exposed via HROne's public API. We run a dual-export discovery: we request both the API export and a UI export from the customer, compare field counts, and flag any discrepancy as a custom-field audit item. Custom fields are then created in Zoho Recruit (Standard Edition and above) with matching data types (picklist, multi-select, text, date, number) before mapping finalizes. Note: custom fields are not available in Zoho Recruit Free Edition, so edition selection is confirmed during discovery.
HROne
Owner / Hiring Manager
Zoho Recruit
User (Zoho Recruit)
1:1HROne Owner records (hiring managers, HR admins, recruiters) map to Zoho Recruit User accounts. We resolve by email match. Any HROne Owner without a matching Zoho Recruit User is placed in a reconciliation queue; the customer's Zoho admin provisions the missing accounts before the production migration phase. Owner assignment on Job Openings (hiring manager) and Candidates (recruiter) migrate to Zoho Recruit's Owner and Candidate Owner fields respectively. Team-based hiring (multiple owners per job) maps to Zoho Recruit's sharing rules or a custom module if the Enterprise edition is in use.
| HROne | Zoho Recruit | Compatibility | |
|---|---|---|---|
| Employee | Candidate1:1 | Fully supported | |
| Employee | Candidate + Custom Module (Employment History)1:many | Fully supported | |
| Recruitment / Job Opening | Job Opening1:1 | Fully supported | |
| Candidate (applicant) | Candidate (linked to Job Opening)1:1 | Fully supported | |
| Organization Structure (Department) | Department (Custom Field or Lookup Module)lossy | Fully supported | |
| Time & Attendance | Not migrated (ATS scope only)1:1 | Mapping required | |
| Leave Balances | Not migrated (ATS scope only)1:1 | Mapping required | |
| Compensation Records | Candidate Custom Field (Salary Expectations)1:1 | Mapping required | |
| Documents (Offer Letter, Contract, ID Proof) | Candidate Attachment or Document Module1:1 | Fully supported | |
| Performance Appraisals | Not migrated (out of ATS scope)1:1 | Mapping required | |
| Custom Fields (instance-specific) | Custom Fields (paid editions only)lossy | Fully supported | |
| Owner / Hiring Manager | User (Zoho Recruit)1:1 | 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.
HROne gotchas
HROne's REST API has no documented bulk export endpoint
Timezone normalization required for attendance data
Per-user billing model can inflate headcount during migration planning
Custom fields are instance-specific and not always in the public API
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 edition selection
We audit the HROne instance across modules in scope (Employees, Recruitment, Job Openings, Documents), custom field counts per module, record volume per object, and active workflow count. We pair this with a Zoho Recruit edition decision: Standard ($14/user/month) covers basic ATS functionality for straightforward candidate and job migrations; Professional ($22/user/month) adds advanced analytics, bulk actions, and additional automation; Enterprise ($32/user/month) is required for custom modules, lookup field mapping across modules, and advanced security controls. The discovery output is a written migration scope document listing every object, field, and workflow with in-scope or out-of-scope classification.
Schema design and custom field setup
We design the destination schema in Zoho Recruit. This includes creating custom fields for any HROne instance-specific fields that do not have a native Zoho Recruit equivalent, configuring picklist values to match HROne's enumerated fields (department, employment type, candidate status), creating a Department custom module or picklist if the org structure is complex, and setting up the Candidates_For_Jobs relationship so that candidates are linked to job openings at import time. All custom field creation happens in the target Zoho Recruit account before any data import begins. We confirm the edition supports the required custom field types before finalizing the schema.
Sandbox migration and reconciliation
We run a full migration into a Zoho Recruit sandbox using a representative sample (typically 50-100 records per module). The customer's HR or recruiting lead reconciles record counts, spot-checks mapped field values against HROne source data, verifies that picklist values display correctly in Zoho Recruit, and confirms that candidate-to-job-opening lookups resolve. We also test the attachment import for file size compliance with Zoho Recruit limits. Any mapping corrections happen in this sandbox phase, not in production. Sign-off on the sandbox reconciliation report gates the production migration start.
Owner and hiring manager reconciliation
We extract every distinct HROne Owner referenced on Recruitment records and match by email against Zoho Recruit's User table. Owners without a matching Zoho Recruit User go to a reconciliation queue. The customer's Zoho admin provisions missing Users before the production migration. For staffing agency migrations, we also reconcile the Client organization records in HROne against Zoho Recruit's Clients module, creating any missing Client records before candidate import so that client lookups are satisfied.
Production migration in dependency order
We run production migration in record-dependency order: Users (provisioned, reconciled), Client Organizations (if staffing agency edition), Job Openings (from HROne Job Openings), Candidates (from HROne Employees/Applicants with HROne employee ID preserved in hrone_employee_id__c), Candidate attachments (from HROne Document exports), and custom module records (Employment History split, where applicable). Each phase emits a row-count reconciliation report before the next phase begins. We use Zoho Recruit's native CSV import tool for the primary load and the Zoho Recruit API for bulk record creation when volumes exceed CSV import limits.
Cutover, validation, and workflow handoff
We freeze writes to HROne during the cutover window, run a delta migration for any records modified during the migration window, then enable Zoho Recruit as the system of record for recruitment. We validate the imported data: open job counts match, candidate status distribution is consistent with HROne source, and attachments are accessible on candidate records. We deliver the Workflow and Automation inventory document to the customer's admin team with Zoho Recruit equivalents noted. We configure the Zoho Recruit to Zoho People Convert to Employee integration as a post-migration step if the customer plans to use Zoho People for onboarding. We do not rebuild HROne workflows, leave policies, or payroll configurations inside the migration scope; those are out-of-scope and require a separate engagement or admin rebuild.
Platform deep dives
HROne
Source
Strengths
Weaknesses
Zoho Recruit
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 HROne and Zoho Recruit.
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
HROne: Powered by Azure API Management; specific quotas not publicly published — typical enterprise SaaS limits assumed.
Data volume sensitivity
HROne exposes a bulk API — large-volume migrations stream efficiently.
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 HROne to Zoho Recruit migration scoping. Not seeing yours? Book a call.
Walk through your HROne 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 HROne
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.