HRMS migration

Migrate from HR-ON to Zoho Recruit

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

HR-ON logo

HR-ON

Source

Zoho Recruit

Destination

Zoho Recruit logo

Compatibility

75%

9 of 12

objects map 1:1 between HR-ON and Zoho Recruit.

Complexity

BStandard

Timeline

2-3 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from HR-ON to Zoho Recruit is a category shift from HRMS employee administration to ATS candidate management. HR-ON stores employee records with systemFields, document templates, and language metadata in a structured REST API with no bulk export; Zoho Recruit expects Candidates, Job Openings, and activity history in CSV or via its data migration wizard. We resolve the structural gap by treating the HR-ON Employee as the primary Candidate source, flattening organizational metadata into Zoho Recruit departments and custom fields, and preserving dateFormat and language (da_DK, en_US) through the migration so that records are immediately usable in the destination. Workflows, document templates, and custom automation do not migrate as code; we deliver a written inventory for the customer to rebuild in Zoho Recruit's workflow builder.

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

HR-ON logo

HR-ON

What's pushing teams away

  • Conflicting public reporting on API availability — some sources say HR-ON has an open API while others state HR-ON Recruit specifically does not. Buyers needing certainty on programmatic access must confirm with HR-ON directly before contracting.
  • Suite plan at €317/month is materially more expensive than Recruit at €167/month — companies that only need ATS functionality may find the upsell to the full Suite expensive.
  • European focus means thinner partner network in North America and APAC compared with global HRIS providers.
  • Reporting and analytics depth lag mid-market HRIS leaders like BambooHR and HiBob.
  • Recruiting-focused entry point means HR-ON requires the Suite tier to cover onboarding and ongoing HR processes.

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 HR-ON objects map to Zoho Recruit

Each row shows how a HR-ON 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.

HR-ON

Employee

maps to

Zoho Recruit

Candidate

1:1
Fully supported

HR-ON Employee records map to Zoho Recruit Candidate. The HR-ON employee ID becomes the candidate's External Candidate ID for reconciliation. Standard employee properties (name, email, phone, address) map to Zoho Recruit's Candidate fields. The HR-ON systemFields containing organizational metadata (department, reporting manager reference) are parsed and mapped to Zoho Recruit's Department field and custom candidate fields. We preserve the original hire_date or start_date as a custom field since Zoho Recruit Candidate does not have a native hire-date property.

HR-ON

Organizational Structure (systemFields)

maps to

Zoho Recruit

Department

lossy
Fully supported

HR-ON stores department and organizational hierarchy inside systemFields on Employee records rather than as separate objects. We extract these values during scoping, deduplicate the unique department names, create the corresponding Department records in Zoho Recruit, and populate the Department field on each Candidate at migration time. If HR-ON stores manager references as employee IDs, we resolve these to Candidate records post-insertion.

HR-ON

Custom Fields

maps to

Zoho Recruit

Custom Candidate Fields

1:1
Mapping required

HR-ON custom properties on Employees map to Zoho Recruit custom Candidate fields. We pre-create the destination custom fields via Zoho Recruit's field management UI (up to 50 per module on Standard, 300 on Enterprise). HR-ON multi-select or checkbox custom properties map to Zoho Recruit multi-select picklists where the picklist values are derived from the unique HR-ON values at migration time.

HR-ON

Document Templates

maps to

Zoho Recruit

Custom Fields or Attachments

1:1
Mapping required

HR-ON document templates with language metadata (da_DK, en_US) are flagged for manual reassignment because Zoho Recruit does not have a native template inheritance model for candidate documents. We export each template as a PDF or file reference, attach it to the relevant Candidate record in Zoho Recruit, and include a migration note flagging the source language so the customer's admin can assign the correct Zoho Recruit template post-migration if needed.

HR-ON

Documents (generated)

maps to

Zoho Recruit

Candidate Attachments

1:1
Fully supported

HR-ON generated documents (offer letters, contracts, onboarding forms) associated with an Employee migrate as file attachments on the corresponding Candidate record in Zoho Recruit. Binary blobs or file links are uploaded to the Candidate's attachment list. We preserve the original dateFormat and language metadata as attachment-level custom fields for traceability.

HR-ON

User

maps to

Zoho Recruit

User

1:1
Fully supported

HR-ON user accounts map to Zoho Recruit Users. We resolve by email match against the Zoho Recruit destination account. Any HR-ON user with an existing separate Zoho Recruit account (a known Zoho platform constraint) cannot be imported until that separate account is closed; we flag these in the scoping report and hold them in a reconciliation queue.

HR-ON

Date Metadata

maps to

Zoho Recruit

Date Fields (ISO 8601)

lossy
Mapping required

All date values from HR-ON are normalized to ISO 8601 (YYYY-MM-DD) during extraction before loading into Zoho Recruit. This covers hire dates, start dates, document generation dates, and any other date fields on Employee records. We validate that Zoho Recruit's date field requirements are met for each candidate field before inserting.

HR-ON

Language Preferences (da_DK, en_US)

maps to

Zoho Recruit

Custom Fields

1:1
Mapping required

HR-ON explicitly stores language at locale level (da_DK, en_US) per template and employee. We carry this through as a custom Candidate field (Original_Language__c) to preserve the employee's preferred locale. This is particularly relevant for organizations with Danish-speaking employees where document generation or communication preferences were set in HR-ON.

HR-ON

HR-ON Roles/Permissions

maps to

Zoho Recruit

Zoho Recruit Roles

lossy
Fully supported

HR-ON role structures map to Zoho Recruit's Role and Profile system. We extract HR-ON role assignments per user and map them to the closest Zoho Recruit Role (Recruiter, Hiring Manager, Admin). HR-ON-specific permission flags that have no Zoho Recruit equivalent are flagged in the scoping report for the customer's admin to assign post-migration.

HR-ON

No equivalent: HR-ON Onboarding Records

maps to

Zoho Recruit

No direct equivalent

1:1
Fully supported

HR-ON onboarding workflow records (onboarding step status, completion timestamps, onboarding-specific notes) have no direct Zoho Recruit equivalent. These are not candidate application records but internal HR onboarding state. We export them as a JSON report and attach it to the Candidate record for the customer's HR admin to interpret manually during onboarding setup in Zoho Recruit or Zoho People.

HR-ON

HR-ON Payroll Data (if applicable)

maps to

Zoho Recruit

Not Migrated

1:1
Fully supported

HR-ON may store payroll-related fields (salary, compensation tier, bank details) depending on the customer's HR-ON configuration. Zoho Recruit is an ATS and does not handle payroll. We flag payroll-related fields in the scoping report, exclude them from migration, and recommend the customer evaluate Zoho Payroll or another HRMS for ongoing payroll administration. Bank details and salary information are excluded from migration on data-security grounds unless explicitly requested with written customer authorization.

HR-ON

HR-ON Document Types

maps to

Zoho Recruit

Custom Fields

1:1
Mapping required

HR-ON documentType values (contract, NDA, policy_acknowledgment, etc.) are extracted and mapped to a Zoho Recruit multi-select picklist custom field (Document_Types__c) on the Candidate. Each Candidate's associated documents are tagged with the applicable document type values, enabling the customer to filter candidates by documentation status in Zoho Recruit's candidate management view.

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.

HR-ON logo

HR-ON gotchas

High

No bulk export endpoint forces sequential reads

Medium

Date format normalization required before import

Low

Language-specific document types may not map directly

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

  • No bulk export endpoint forces sequential HR-ON reads

    HR-ON's API at api.hr-on.com does not expose a bulk export or batch read endpoint. We retrieve employee records individually via POST to /v1/staff/employees using JWT authentication. For large employee bases (500+ records), this extends the extraction timeline significantly compared to platforms with bulk endpoints. We implement request batching of 50 records, retry logic with exponential backoff on rate-limited responses, and a full extraction audit before beginning transformation. The customer should anticipate a longer scoping phase while we retrieve all records sequentially.

  • Zoho Recruit requires Last Name as mandatory for Candidates

    Zoho Recruit's data migration tool enforces the Last Name field as mandatory on Candidate records. HR-ON employee records may have incomplete name fields for certain employee types (contractors, temporary staff, or records entered without formal naming conventions). We parse the full name from HR-ON, split into First Name and Last Name, and use 'Not Provided' as a fallback value for any records without a surname so the import does not silently drop those candidate records. We flag these records in the reconciliation report for the customer's admin to correct post-migration.

  • Document templates lack direct Zoho Recruit equivalent

    HR-ON document templates with language variants (da_DK, en_US) and locale-specific formatting do not map to a Zoho Recruit template system. Zoho Recruit's offer letter templates exist (50 on Standard, 100 on Enterprise) but do not inherit language variants automatically. We attach the migrated documents as file references and flag each with its source language so the customer's admin can reassign the correct Zoho Recruit template post-migration. Documents without an obvious template equivalent are migrated as attachments only.

  • Users with existing separate Zoho Recruit accounts cannot migrate

    Zoho Recruit's data migration tool explicitly rejects users who already have a separate individual Zoho Recruit account. These accounts must be closed before the user can be imported into the company's Zoho Recruit organization. We identify these users during scoping by matching HR-ON user emails against existing Zoho Recruit accounts. The customer's Zoho admin closes the duplicate accounts before the user import phase begins. Additionally, if only one user exists in the destination Zoho Recruit account, we require the customer to add a second user before migration can proceed.

  • Date format normalization is required before every import

    HR-ON stores dates in four distinct formats depending on locale and template settings: DD-MM-YYYY, DD/MM/YYYY, YYYY-MM-DD, and written forms like July 20, 2021. Zoho Recruit expects a consistent date format in its import files. We parse and normalize all date values to ISO 8601 (YYYY-MM-DD) during the extraction phase and validate each date against Zoho Recruit's field requirements before loading. This is particularly important for employee start dates and any date metadata used in reporting.

Migration approach

Six steps for a successful HR-ON to Zoho Recruit data migration

  1. Discovery and API scoping

    We audit the HR-ON API scope by connecting via JWT authentication to /v1/staff/employees and enumerating all object types, custom properties, and document template records. We count employee records, document attachment volume, unique department values, language locale distributions, and any payroll or sensitive fields flagged for exclusion. We simultaneously review the destination Zoho Recruit account for existing Users, Department structure, and custom field configuration. The discovery output is a written migration scope document including the record count per object, a preliminary field mapping, a list of duplicate Zoho Recruit accounts to close, and an estimated timeline.

  2. Schema preparation in Zoho Recruit

    We pre-create the destination schema in Zoho Recruit before any data loads. This includes creating custom Candidate fields (up to the Standard limit of 50 or Enterprise limit of 300 per module), configuring the Department structure from the HR-ON organizational metadata, and setting up any multi-select picklists derived from HR-ON custom property values. We coordinate with the customer's Zoho Recruit admin to ensure the migration user has the required permissions for data import. Any validation rules or required-field constraints in Zoho Recruit that could block import are either temporarily disabled or extended with a migration-context exception during the migration window.

  3. Date normalization and field transformation

    We extract all employee records from HR-ON via sequential API calls, normalize all date values to ISO 8601, split full names into First Name and Last Name (with 'Not Provided' fallback for missing surnames), and extract organizational metadata from systemFields into flat custom field values. Document template associations are parsed and tagged with their source language locale. The transformation output is a validated CSV file per object type ready for Zoho Recruit import.

  4. User migration and reconciliation

    We extract HR-ON user records and match by email against the Zoho Recruit destination User table. Users with existing separate Zoho Recruit accounts are flagged and held pending account closure by the customer's Zoho admin. HR-ON role assignments are mapped to Zoho Recruit Roles. Any users without a matching Zoho Recruit account are held in a reconciliation queue. Migration cannot proceed to Candidate import until all required Owner references are resolved because Zoho Recruit requires OwnerId on imported records.

  5. Candidate and attachment import via Zoho migration wizard

    We run the candidate import using Zoho Recruit's native data migration tool (Setup > Data Administration > Data Migration). Candidates are loaded first, with the HR-ON employee ID preserved as External Candidate ID. Document attachments are uploaded to the Document Library and linked to the corresponding Candidate records. Department assignments are populated from the reconstructed Department structure. We run row-count reconciliation after each phase before proceeding to the next.

  6. Cutover, delta sync, and documentation delivery

    We freeze writes to HR-ON during cutover, run a final delta extraction of any records modified during the migration window, and load the delta into Zoho Recruit. We deliver a written document inventory of HR-ON document templates requiring manual reassignment in Zoho Recruit, HR-ON role-permission mappings for manual role assignment, and any payroll fields excluded from migration. We do not rebuild HR-ON workflows or automations in Zoho Recruit's Workflow Rules or Blueprint; that work is handed off to the customer's admin with a documented mapping. We support a one-week hypercare window for reconciliation issues raised during the customer's first hiring cycle in Zoho Recruit.

Platform deep dives

Context on both ends of the pair

HR-ON logo

HR-ON

Source

Strengths

  • REST API at api.hr-on.com with documented endpoints for employees and document templates.
  • Supports multi-language document generation with Danish and English locale handling.
  • Structured systemFields on Employee records provide consistent metadata for extraction.
  • JWT authentication enables programmatic access without complex OAuth flows.
  • 4.6 rating on G2 with user praise for ease of use and helpful HR features.

Weaknesses

  • No publicly documented bulk export endpoint; data retrieval depends on per-record API calls.
  • Limited object types beyond Employees and Document Templates, reducing migration scope options.
  • Small market presence (34 G2 reviews) means less community knowledge and fewer migration guides.
  • No Wikipedia article indicates limited public documentation depth compared to major HRMS platforms.
  • Danish-market focus means English documentation and support resources are less comprehensive.
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 HR-ON 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

    HR-ON: Not publicly documented..

  • Data volume sensitivity

    B

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

Estimator

Estimate your HR-ON 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 HR-ON to Zoho Recruit data migrations

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

Can't find your answer?

Walk through your HR-ON to Zoho Recruit migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Migrations under 500 employee records with no complex custom fields or large document attachment volumes land between two and three weeks. Migrations with multi-language document templates, large attachment volumes, organizational hierarchies requiring department reconstruction, or simultaneous Zoho People integration move to five to eight weeks. The primary variable on the HR-ON side is the sequential API read time for large employee bases since there is no bulk export endpoint.

Adjacent paths

Related migrations to explore

Ready when you are

Move from HR-ON.
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