HRMS migration

Migrate from Eddy to Zoho Recruit

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

Eddy logo

Eddy

Source

Zoho Recruit

Destination

Zoho Recruit logo

Compatibility

62%

8 of 13

objects map 1:1 between Eddy and Zoho Recruit.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Migrating from Eddy to Zoho Recruit is an HRMS-to-ATS migration: you are moving from an all-in-one human resources management system to a recruiting and talent acquisition platform. The core challenge is that Eddy organizes data around the employed person (Employee, PTO, Documents, Onboarding, Training) while Zoho Recruit organizes data around the hiring process (Job Openings, Candidates, Interviews, Client Contacts). We resolve this structural mismatch by mapping Employee records to Candidates with custom fields carrying employment details (title, department, salary band), extracting PTO balances as snapshots into a dedicated custom field or external note, and attaching Employee documents as Candidate attachments. We do not migrate Eddy's onboarding workflows, benefits configurations, or payroll data as these have no equivalent in Zoho Recruit; we deliver a written configuration guide for your admin to rebuild these in Zoho Recruit's workflow rules and custom fields.

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

Eddy logo

Eddy

What's pushing teams away

  • Reporting limitations frustrate teams requiring custom HR analytics—reviewers explicitly note needing workarounds for basic workforce reports.
  • Incomplete payroll integration means users manage HR records in Eddy but run payroll separately, reducing the all-in-one value proposition.
  • Limited customization of workflows and fields forces growing companies to adopt workarounds that do not scale past 50–100 employees.
  • Some users note missing features common in dedicated payroll or benefits platforms, requiring data re-entry between systems.
  • Custom field support is restricted, pushing companies with industry-specific HR requirements toward more flexible alternatives.

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

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

Eddy

Employee

maps to

Zoho Recruit

Candidate

1:1
Fully supported

Eddy Employee records map to Zoho Recruit Candidate records. Core fields (first name, last name, email, phone, hire date, employment status) migrate to their Zoho Recruit equivalents. The Eddy job title maps to a custom Candidate field (e.g., edd_previous_title__c) since Zoho Recruit Candidates represent applicants, not employees, and do not natively store employment history without custom fields. Eddy department assignment maps to Zoho Recruit's Department picklist or a custom field. Last Name is mandatory in Zoho Recruit; any Eddy employee record without a last name is flagged and given a 'not provided' placeholder during import per Zoho Recruit's import requirements.

Eddy

Employee

maps to

Zoho Recruit

Contact (optional parallel)

1:many
Fully supported

Eddy Employee records may also map to Zoho Recruit Contacts if the organization's Zoho Recruit plan includes the Staffing Agency module and the customer wants to maintain a client-facing Contact record separate from the Candidate recruiting record. We implement this split only when specified in scoping; in most HRMS-to-ATS migrations, a single Candidate record per employee is sufficient. The mapping type is documented as a split decision during scoping rather than a default.

Eddy

PTO Balance

maps to

Zoho Recruit

Custom Field on Candidate + Note

lossy
Fully supported

Eddy PTO balances (accrued, used, pending, carry-over) have no native equivalent in Zoho Recruit's ATS object model. We create a custom field group (e.g., edd_pto_accrued__c, edd_pto_used__c, edd_pto_balance__c, edd_pto_policy__c) on the Candidate object to carry balance snapshots at migration time. Active PTO requests are documented as a Note attached to the Candidate record. Balance snapshot is time-stamped at migration export. We flag that any ongoing accrual calculations require the destination to configure Zoho Recruit's workflow rules or a connected time-off tool post-migration.

Eddy

Document

maps to

Zoho Recruit

Attachment on Candidate

1:1
Fully supported

Eddy Employee documents (offer letters, contracts, signed agreements, tax forms) migrate as Zoho Recruit Candidate attachments. PDF and standard document formats are fully supported. We preserve original file names and apply a directory naming convention (e.g., /EddyMigration/[EmployeeName]/[DocumentType]_[Date].pdf) to maintain organization. Document metadata (document type, upload date, associated employee) migrates as fields on the attachment record where supported by Zoho Recruit's file versioning API.

Eddy

Onboarding Workflow

maps to

Zoho Recruit

Task + Workflow Rule

lossy
Fully supported

Eddy onboarding step checklists and task assignments do not have a direct Zoho Recruit equivalent. We extract active onboarding tasks and their completion status, then map these to Zoho Recruit Tasks attached to the Candidate record with the original task name, assignee, due date, and completion status preserved. The workflow structure (sequence of steps, conditional branches) is documented in a written handoff guide; Zoho Recruit's Workflow Rules and Assignment Rules are the closest native replacement, but the customer's admin rebuilds these as they require ATS-specific logic rather than HR-specific logic.

Eddy

Training Record

maps to

Zoho Recruit

Custom Field or Note on Candidate

1:1
Fully supported

Eddy training completion records (course name, completion date, status, certification expiration) migrate to custom fields on the Zoho Recruit Candidate record or as Notes with structured templates. The field naming convention (e.g., edd_training_[courseid]_completed__c) handles multiple training records per employee. Zoho Recruit's Assessments module (available on Standard and above) can store formal assessment results, but training completion history is typically maintained as custom fields or notes unless the customer licenses a dedicated learning management integration.

Eddy

Employee Directory

maps to

Zoho Recruit

Contact + Department

1:1
Fully supported

The Eddy employee directory (name, title, department, email, phone, location) maps to Zoho Recruit's Contact record and Department configuration. Organizational hierarchy (reporting structure) is preserved as a Note attached to the Contact or as a custom lookup field (edd_manager_id__c) pointing to the manager's Contact record. We extract the full org chart as a JSON structure during scoping and deliver it as a reference document for the customer's admin to configure Zoho Recruit's organizational reporting structure.

Eddy

Department

maps to

Zoho Recruit

Department

1:1
Fully supported

Eddy departments map directly to Zoho Recruit Departments. Both platforms store department as a picklist on the primary record. We extract department names and any associated cost center codes and map them to the Zoho Recruit Department object during initial configuration. Parent-child department relationships (division > department > team) are preserved in Zoho Recruit's department hierarchy where the plan supports it.

Eddy

Payroll Data

maps to

Zoho Recruit

Custom Field + External Reference

1:1
Mapping required

Eddy payroll data (pay run history, salary information, benefit deduction amounts) cannot migrate into Zoho Recruit because Zoho Recruit has no native payroll module. We extract available payroll records as a CSV export from Eddy (where payroll module data exists) and deliver it as a structured reference file. Pay run history, salary bands, and compensation details are documented as Notes on the Candidate record or stored in a custom field group (edd_salary_band__c, edd_pay_frequency__c) for reference. The customer must configure a payroll system post-migration—Zoho Payroll, Gusto, Rippling, or a similar HRIS integration are the standard replacements.

Eddy

Company Settings

maps to

Zoho Recruit

Manual Configuration Guide

lossy
Mapping required

Eddy company-level settings (org policies, approval rules, locations, benefits configurations, time-off policies) export in limited formats and cannot migrate programmatically to Zoho Recruit. We extract the settings data as a structured reference document and deliver a written configuration guide mapping each Eddy setting to its nearest Zoho Recruit equivalent (Workflow Rules, Assignment Rules, Department configuration, or a Note documenting the original setting for manual reconfiguration). We do not configure these settings inside Zoho Recruit as part of the migration scope.

Eddy

Job Opening (Eddy)

maps to

Zoho Recruit

Job Opening

1:1
Fully supported

If Eddy contains internal job postings or requisitions, these map to Zoho Recruit Job Openings. The job title, description, requirements, and posting status migrate directly. Posting channels (internal job board, external job boards) require manual reconfiguration in Zoho Recruit's job distribution settings because Zoho Recruit manages multiposting through its own integrations rather than as a property of the job record.

Eddy

Benefits Enrollment

maps to

Zoho Recruit

Note + Reference Document

1:1
Fully supported

Eddy benefits enrollment data (health plan selection, 401k participation, dependent information) has no equivalent object in Zoho Recruit's ATS data model. We extract benefits enrollment records as structured Notes attached to the Candidate record with plan name, enrollment date, and coverage level preserved. The customer configures benefits management in a dedicated HRIS (Rippling, Gusto, ADP, or Zoho People) and links it to the employee record via Zoho Recruit's custom field or integration post-migration.

Eddy

Employment History

maps to

Zoho Recruit

Custom Field Group on Candidate

lossy
Fully supported

Eddy stores employment history (previous titles, previous employers, promotion dates) as part of the Employee record timeline. Zoho Recruit Candidate does not natively track prior employment history for already-employed candidates. We create a custom multi-line field group (edd_prev_title__c, edd_prev_employer__c, edd_prev_start_date__c, edd_prev_end_date__c) on the Candidate object to carry employment history data. For candidates who were hired via Zoho Recruit and then onboarded in Eddy, the onboarding employment details are preserved as these custom fields.

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.

Eddy logo

Eddy gotchas

High

Contract data cannot be exported via API

Medium

Reporting limitations require workarounds

Medium

Payroll and HR integration is incomplete

Low

Per-employee pricing counts all employees including inactive

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

  • Eddy HRMS and Zoho Recruit ATS model a fundamentally different entity

    Eddy's primary record is the Employee—someone already working at the company with PTO, documents, onboarding history, and training. Zoho Recruit's primary record is the Candidate—someone being evaluated for a role with interview scores, sourcing notes, and pipeline stage. These are not the same entity. We map Employee to Candidate but we cannot replicate Eddy's employment lifecycle data model in Zoho Recruit. PTO balances, employment terms, benefits enrollment, and training history require custom fields or external reference; Zoho Recruit's native Candidate object does not store them natively. During scoping, we confirm whether the customer is migrating active employees (as candidates for re-onboarding or internal mobility) or is closing the Eddy HRMS entirely and only needs employee reference data in Zoho Recruit.

  • Zoho Recruit requires Last Name on every Candidate import record

    Zoho Recruit's data import validation enforces Last Name as a mandatory field on Candidate records. Any Employee record in Eddy that lacks a last name value (a rare but documented edge case in small business databases with informal naming conventions) will be rejected during import and the corresponding record will be skipped. We flag all Employee records missing last name during extraction, populate them with a 'not provided' placeholder per Zoho Recruit's documented workaround, and deliver a reconciliation report listing all affected records so the customer's admin can correct them post-migration if desired.

  • Custom fields and Lookup fields are gated by Zoho Recruit plan tier

    Zoho Recruit's Free Edition does not support custom fields. Standard ($25/user/month) allows 50 custom fields per module with no Lookup fields. Professional ($50/user/month) allows 300 custom fields per module with Lookup fields available. Our migration schema relies on custom fields to carry Eddy employment data (title, department, salary band, PTO balance, training history) into Zoho Recruit's Candidate and Contact objects. We verify the customer's Zoho Recruit plan tier during scoping and if the plan is Standard, we reduce the custom field scope to the highest-priority employment fields and store supplementary data as Notes. Lookup fields connecting Candidates to Job Openings or Contacts require Professional tier minimum.

  • Existing Zoho Recruit user accounts cannot be imported in a migration

    Zoho Recruit's migration tool explicitly rejects users who already have a separate Zoho Recruit account. Any recruiter in the migration source data (Eddy employee with a recruiter role) who already holds a Zoho Recruit login must close their existing individual account before their user record can be imported into the company's Zoho Recruit org. We extract all user email addresses from Eddy's employee records, cross-reference them against the destination Zoho Recruit org's user list during scoping, and deliver a user reconciliation report flagging any duplicates that require account closure before migration.

  • Onboarding workflows and benefits configurations do not migrate and require manual rebuild

    Eddy onboarding workflows (step sequences, conditional branching, task assignments) and benefits configurations (health plan rules, 401k eligibility, PTO policies) have no native equivalent in Zoho Recruit's ATS object model. Zoho Recruit's Workflow Rules handle task automation and assignment but operate on Candidate and Job Opening records, not employment lifecycle events. We extract workflow definitions and benefits configuration settings as written documentation during migration and deliver a rebuild guide mapping each Eddy workflow to Zoho Recruit equivalents. The customer's admin rebuilds these inside Zoho Recruit post-migration. We do not rebuild workflows, automations, or forms as part of the standard migration scope.

Migration approach

Six steps for a successful Eddy to Zoho Recruit data migration

  1. Discovery and plan-tier verification

    We audit the source Eddy instance across all supported objects: Employee records (headcount, inactive count, custom properties), PTO balances and active requests, document volume and file types, onboarding workflow definitions and active task states, training record completeness, department structure, and payroll data availability. We verify the destination Zoho Recruit plan tier (Free, Standard, Professional, or Enterprise) because custom field limits, Lookup field availability, and Workflow Rule counts depend on the plan. We confirm whether the migration is a full HRMS sunset (all employees to Candidates) or a partial migration (active recruiting pipeline only). The discovery output is a written migration scope with record counts, field inventory, and a plan-tier recommendation if the customer is on Free Edition.

  2. Data extraction and transformation

    We extract all source records from Eddy via API and CSV export where available. Employee records are exported with all standard and custom properties. PTO balance snapshots are extracted as a time-stamped CSV with accrual, used, and pending balances per employee. Documents are exported as binary blobs with original file names and metadata preserved. Onboarding workflow definitions are extracted as a structured JSON documenting each step, assignee, and conditional logic. Training records are extracted as a normalized table. We flag contract data limitations (Eddy does not export contract terms programmatically) and payroll data gaps (Eddy's HR and payroll modules are not fully integrated, requiring manual CSV export of pay run history). The transformation layer normalizes dates, phone number formats, and state/country codes to Zoho Recruit's import format.

  3. Custom field schema design in Zoho Recruit

    We design the destination custom field schema in Zoho Recruit based on the extracted employment data. Custom fields are created in the Candidate and Contact modules (and Department if org hierarchy is modeled) before any data import begins. Fields follow the naming convention edd_[object]_[fieldname]__c to identify migrated Eddy data in the destination system. Lookup fields (connecting Candidate to Department, or to a related Job Opening) are configured only if the Zoho Recruit plan supports them (Professional tier minimum). If the customer is on Standard Edition, we store supplementary employment data as structured Notes rather than custom fields and document the tradeoff. Custom field creation is performed in a Zoho Recruit sandbox or the production org based on the customer's preference.

  4. Sandbox migration and reconciliation

    We run a full migration into the customer's Zoho Recruit sandbox environment using production-like data volumes. The customer reconciles record counts (Candidates imported vs Employees extracted), spot-checks 25-50 random Candidate records against the source Eddy data, and verifies that custom field values populated correctly. We specifically verify that PTO balance snapshots, document attachments, and department assignments are present and legible in Zoho Recruit. Any field mapping corrections, custom field additions, or validation rule failures are resolved in this phase. The customer signs off the sandbox migration before production migration begins.

  5. Production migration in dependency order

    We run production migration in dependency order: Departments first (since they are referenced by Candidate records), then Candidate records with custom fields populated from the Employee data, then document attachments linked to Candidate records, then Tasks derived from onboarding workflow steps. Each phase emits a row-count reconciliation report. For any Zoho Recruit users with pre-existing individual Zoho Recruit accounts (identified during discovery), migration of their user record is held until the customer confirms account closure. We use Zoho Recruit's native import tool for bulk record creation and handle complex custom field populations via API.

  6. Cutover, validation, and configuration handoff

    We freeze Eddy write access during cutover, run a final delta migration of any records modified during the migration window, then enable Zoho Recruit as the active system of record for recruiting and candidate management. We deliver three handoff documents: a Workflow Rebuild Guide mapping Eddy onboarding workflows to Zoho Recruit Workflow Rules, an Onboarding Configuration Checklist for rebuilding benefits and PTO policies in a connected HRIS, and a Payroll Setup Reference for configuring Zoho Payroll or a third-party payroll integration to replace Eddy's incomplete payroll module. We offer a one-week hypercare window for reconciliation issues. We do not rebuild workflows, automations, or forms inside Zoho Recruit; these are separate engagements or internal admin tasks.

Platform deep dives

Context on both ends of the pair

Eddy logo

Eddy

Source

Strengths

  • Per-employee pricing with transparent base fees makes costs predictable for small teams.
  • Integrated onboarding, PTO, and document storage covers foundational HR needs in one tool.
  • Positive review themes consistently cite ease of use and intuitive navigation for HR tasks.
  • Strong customer support ratings distinguish Eddy from similarly-priced HRMS competitors.
  • Guided onboarding workflows reduce manual steps for new hire setup.

Weaknesses

  • Limited reporting and analytics requires third-party tools for basic workforce insights.
  • Payroll module integration is incomplete, forcing teams to run payroll outside the platform.
  • Custom field support is restricted, limiting adaptability for industry-specific HR needs.
  • Feature set does not scale well past 100 employees, based on reviewer feedback.
  • Contract and catalog metadata exports are not fully supported via API in music/entertainment use cases.
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 Eddy 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

    Eddy: Not publicly documented..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Eddy 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 organizations under 500 employees with a clean department structure and under 2,000 document attachments. Migrations exceeding 2,000 employee records, large document repositories, or complex multi-level department hierarchies extend to seven to ten weeks because of custom field schema design, document blob extraction, and department reconciliation. Migration timelines depend on Zoho Recruit's import tool processing time (which throttles large bulk imports), the volume of onboarding workflow tasks to map, and the customer's review and sign-off cadence during sandbox validation.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Eddy.
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