HRMS migration

Migrate from ZenHR to Crelate

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

ZenHR logo

ZenHR

Source

Crelate

Destination

Crelate logo

Compatibility

58%

7 of 12

objects map 1:1 between ZenHR and Crelate.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from ZenHR to Crelate is a platform-type migration: ZenHR is a full HRMS covering the MENA-region employee lifecycle from hire to retirement, while Crelate is an ATS and recruiting CRM built for agency and in-house talent acquisition teams in the US market. The migration scope is narrower than a typical HRMS-to-HRMS move. We migrate ZenATS candidate records, vacancy pipeline stages, and interview data with full stage-history preservation, and we map employee profile fields that represent candidate records in the recruiting context. We do not migrate payroll runs, leave balances, attendance data, EOSB calculations, loans, overtime records, organizational hierarchy, or custom HR workflows because Crelate has no schema to receive them. We deliver a written inventory of ZenHR automations and HR letter templates requiring manual rebuild in Crelate or a parallel HR system post-migration.

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

ZenHR logo

ZenHR

What's pushing teams away

  • Banking information errors during onboarding prevent payroll setup from completing — some users report a month-long struggle to enter correct bank details due to validation bugs.
  • Integration depth with third-party ERP and accounting systems is shallower than advertised, requiring manual workarounds for data reconciliation between ZenHR and financial platforms.
  • The employee org-tree and vacation request modules have usability issues — reviewers describe the leave management UX as far from perfect and the hierarchy visualization as confusing.
  • Occasional technical stability issues and bugs in the platform create friction during critical payroll periods, with support response times varying widely.
  • Organizations expanding outside the MENA region find ZenHR's deep localization to specific GCC and Levant regulations becomes a limitation rather than a feature.

Choosing

Crelate logo

Crelate

What's pulling them in

  • Affordable per-seat pricing with transparent tiers makes Crelate accessible for small-to-mid staffing firms evaluating ATS platforms for the first time.
  • Fast implementation reported by customers—some describe getting live in a matter of minutes with support team assistance.
  • Unified ATS + CRM in a single product eliminates the need to buy and synchronize separate recruiting and sales tools.
  • Flexible custom fields across Contacts, Companies, and Opportunities allow recruiting teams to capture firm-specific data without developer involvement.
  • Positive reviews highlight the product's intuitive interface and functional breadth for teams that need recruiting workflows without enterprise overhead.

Object mapping

How ZenHR objects map to Crelate

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

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

ZenHR

ZenATS Candidate

maps to

Crelate

Candidate

1:1
Fully supported

ZenATS Candidate records map to Crelate Candidate as the primary migration object. We map first name, last name, email, phone, current company, current title, source, and tags directly. Candidate status in ZenATS (active, placed, rejected, withdrawn) maps to Crelate's Candidate Status field. We preserve the original ZenATS candidate_id as a custom field zenats_candidate_id__c for reconciliation. SMS and email communication bodies sent to candidates are not exposed via the ZenHR API; we transfer metadata (timestamps, template names) only and flag the gap during scoping.

ZenHR

ZenATS Vacancy / Job Opening

maps to

Crelate

Job

1:1
Fully supported

ZenATS Vacancy records map to Crelate Job. The ZenATS vacancy title becomes the Job title, job_description maps to the Job description field, and status (open, on hold, filled, cancelled) maps to Crelate Job status. Department, location, employment type, and salary range from ZenATS map to their Crelate equivalents. We preserve stage history with each stage transition timestamp from ZenATS as notes on the Crelate Job record.

ZenHR

ZenATS Stage / Pipeline Stage

maps to

Crelate

Job Stage

lossy
Fully supported

ZenATS pipeline stages (Applied, Screening, Interview, Offer, Hired, Rejected, etc.) map to Crelate Job Stages configured in the destination before migration. Stage probability percentages from ZenATS set the Crelate stage weighting for reporting. We sequence stage values in order matching the ZenATS pipeline so that Crelate reporting reflects the original funnel conversion rates.

ZenHR

ZenATS Interview Record

maps to

Crelate

Activity / Note

1:1
Fully supported

ZenATS interview records map to Crelate Activity records (type = Interview) linked to the Candidate and Job. Interviewer name, date, duration, interview type, and interviewer notes transfer as Activity details. If ZenATS stores scorecards or structured feedback, we map those to Crelate Activity custom fields or linked Notes attached to the Activity.

ZenHR

Employee (recruiting-relevant fields)

maps to

Crelate

Candidate or Contact

1:1
Fully supported

ZenHR Employee records that represent active or past candidates in the recruiting context map to Crelate Candidate or Contact depending on the recruiting workflow. We scope this mapping during discovery: employees hired through ZenATS pipelines migrate as Candidates with status changed to Hired; passive talent stored in ZenHR without a vacancy association migrates as Crelate Contacts. Name, email, phone, department, and job title map directly. Payroll compensation fields do not migrate because Crelate has no payroll schema.

ZenHR

Document (candidate attachments)

maps to

Crelate

Resume / Attachment

1:1
Fully supported

Candidate resumes, cover letters, and supporting documents stored in ZenATS attach to the corresponding Crelate Candidate record via Crelate's resume and document upload API. We map document type, upload date, and expiry information as metadata on the Crelate Attachment. Document binary transfer uses the Crelate bulk attachment API with rate-limit handling.

ZenHR

User and Role (recruiting team only)

maps to

Crelate

User

1:1
Fully supported

ZenHR Users who have access to ZenATS map to Crelate Users by email match. ZenHR role names (Recruiter, Hiring Manager, Admin) map to Crelate User Roles and Permissions. Users without ZenATS access are excluded from the Crelate migration scope. Active/inactive status and last login date from ZenHR transfer as User metadata fields in Crelate.

ZenHR

Custom Fields (candidate and vacancy)

maps to

Crelate

Custom Fields

lossy
Mapping required

ZenHR tenant-specific custom fields on Candidate and Vacancy objects are discovered during pre-migration field audit. Each custom field is typed (text, number, date, picklist, boolean) and mapped to a Crelate Custom Field of equivalent type. Custom picklist values in ZenATS are replicated as Crelate picklist options. Any custom field with no Crelate equivalent is flagged with a recommendation for a custom field or note-field workaround.

ZenHR

Branch / Department

maps to

Crelate

Location or Division

lossy
Fully supported

ZenHR Branches that represent physical office locations associated with vacancies map to Crelate Job Location. We map branch name, address, and city from ZenHR Branch to the Crelate Location field. ZenHR organizational levels and positions do not map to Crelate because Crelate has no HR org hierarchy; we document these as out-of-scope in the migration report.

ZenHR

HR Letters (recruiting-related)

maps to

Crelate

Note or Template

1:1
Fully supported

HR Letters generated in ZenATS for candidates (offer letters, onboarding checklists, onboarding schedules) map to Crelate Notes attached to the Candidate record with a type indicating the letter purpose. The e-signature audit trail migrates as note metadata. HR letter templates are documented in the migration report for manual rebuild in Crelate's template system.

ZenHR

Timeoffs (for candidate availability context)

maps to

Crelate

Not Migrated

lossy
Fully supported

ZenHR Timeoff records represent leave balances for employees, not recruiting availability. Crelate has no leave management schema. Timeoff data is excluded from the Crelate migration scope entirely. If the customer requires leave tracking post-migration, we recommend a separate HRIS platform (BambooHR, Rippling, or Workday) running in parallel. We document this as an out-of-scope data category in the migration report.

ZenHR

Payroll / Financial Transactions

maps to

Crelate

Not Migrated

lossy
Mapping required

ZenHR payroll runs, financial transactions, loans, overtimes, and EOSB calculations have no equivalent in Crelate. Crelate handles placement invoicing and client billing for recruiting fees, but not employee payroll. We exclude all financial and compensation data from the Crelate migration scope. If the customer needs historical payroll records for compliance or audit, we recommend exporting those as PDFs or reports from ZenHR before the migration window and storing them outside Crelate.

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.

ZenHR logo

ZenHR gotchas

High

ZenATS candidates and SMS/email communication logs are not fully exportable via API

Medium

Custom fields are tenant-specific and require a pre-migration field audit

Medium

Attendance raw data volume can overwhelm bulk exports without pagination controls

Medium

Terminations require effective-date sequencing to preserve EOSB and leave balance calculations

Crelate logo

Crelate gotchas

High

120 req/min API rate limit throttles bulk migrations

High

20 custom field per-entity cap forces data model decisions

Medium

15,000-record export ceiling on single operations

Medium

Sequences and automation workflows do not migrate

Low

API key is a querystring parameter, not a header

Pair-specific challenges

  • Platform type mismatch: HRMS to ATS limits migration scope significantly

    ZenHR is a full HRMS; Crelate is an ATS and recruiting CRM. Payroll data, leave balances, attendance records, organizational hierarchy, loans, overtimes, EOSB calculations, and employee self-service configurations cannot migrate because Crelate has no schema to receive them. We scope these out during discovery and document them as out-of-scope in the migration report. Customers who need ongoing leave management or payroll must run a parallel HRIS; we do not migrate to a replacement HRIS as part of this engagement. Organizations must understand this boundary before migration begins.

  • ZenATS SMS and email communication bodies are not exportable via API

    ZenATS does not expose the content body of SMS and email communications sent to candidates via the standard ZenHR API. Candidate communication metadata (timestamps, template names, delivery status) transfers, but the message content itself does not. We flag this gap during scoping and recommend a manual ZenATS export of communication logs if the candidate communication history is required for audit or compliance in Crelate. If the customer relies on historical email threads for candidate relationship context, those threads must be re-associated manually post-migration or stored separately.

  • ZenHR tenant-specific custom fields require pre-migration field audit

    ZenHR allows every organization to define custom fields on Candidate, Vacancy, Employee, and other objects. There is no fixed schema across ZenHR tenants. We run a field discovery phase against the source ZenHR tenant before mapping begins, enumerating every active standard and custom field, their data types, and mandatory/optional flags. Without this step, migrated records land with null values for fields Crelate expects to be populated, and custom ZenATS fields have no destination in Crelate without explicit mapping.

  • Crelate has no parallel HR automations or letter template rebuilds from ZenHR

    ZenHR automations (approval workflows for leave requests, onboarding sequences, EOSB triggers) and HR letter templates (offer letters, employment contracts, compliance letters) have no equivalent in Crelate's ATS schema. We do not migrate these as code. We deliver a written inventory of every active ZenHR automation and HR letter template with its trigger, conditions, and actions for the customer's admin to rebuild in Crelate or in a parallel HR system. Automations that depend on ZenHR-specific objects (leave balance thresholds, payroll triggers) cannot be rebuilt in Crelate and require a separate process design.

  • Candidate-to-employee linkage is not preserved across platforms

    ZenHR stores the full employee record including the link between the ZenATS candidate who was hired and the resulting employee profile. When candidate records migrate to Crelate and employee records do not, the historical link between the Crelate Candidate and the ZenHR Employee is severed. We document this severed link in the migration report. If the customer requires a view of candidate source to hire date across both platforms, they must maintain a cross-reference key (the original ZenATS candidate_id preserved as zenats_candidate_id__c on the Crelate Candidate) and join it against a ZenHR data export stored outside Crelate.

Migration approach

Six steps for a successful ZenHR to Crelate data migration

  1. Discovery and scope definition

    We audit the source ZenHR tenant with focus on ZenATS: candidate record volume, vacancy pipeline count and stage definitions, stage-history depth, active custom fields on Candidate and Vacancy, user count with ZenATS access, document attachment volume per candidate, and communication log metadata. We also map the ZenHR employee records in scope for Crelate migration. We identify out-of-scope data categories (payroll, leave, attendance, org hierarchy, loans, overtimes) and document the platform-type gap explicitly in the scope agreement before any migration work begins.

  2. Field audit and schema mapping

    We run the ZenHR API field discovery against the source tenant, enumerating every standard and custom field on Candidate, Vacancy, Employee, User, and Document objects. We match each field to a Crelate field by name and type, flagging custom fields with no Crelate equivalent and recommending a custom field or Notes workaround. We configure Crelate Job Stages to match ZenATS pipeline stages in sequence order and set stage probability percentages from ZenATS stage weights. This schema map is validated against a sample of 50 candidate records before bulk migration begins.

  3. Candidate and vacancy migration with stage history

    We migrate ZenATS Vacancies first, then Candidates. Vacancies are inserted into Crelate as Jobs with stage configuration applied. Candidates are inserted with the zenats_candidate_id__c custom field as a reconciliation key. Stage history from ZenATS (each stage transition with timestamp and optional notes) is written to Crelate as Job Activity records with a stage-change activity type, preserving the original pipeline funnel analysis. Candidate documents (resumes, cover letters, attachments) transfer via the Crelate bulk attachment API with type and date metadata.

  4. Employee-to-candidate and employee-to-contact mapping

    ZenHR Employee records that represent hired candidates (linked via ZenATS) migrate as Crelate Candidates with status changed to Hired. Employee records without a ZenATS candidate association migrate as Crelate Contacts in the recruiting CRM context. We map recruiting-relevant fields only (name, email, phone, department, job title, hire date). Payroll compensation, banking information, leave balances, and benefits data are excluded. The zenats_candidate_id__c on Crelate Candidates maintains the link to the original ZenATS record for reconciliation.

  5. User and role reconciliation

    We extract ZenHR Users with ZenATS access and match by email against the Crelate destination tenant's User table. Crelate User records are provisioned for each matched ZenHR user with the appropriate Crelate role (Admin, Recruiter, Hiring Manager) mapped from ZenHR role permissions. Users without ZenATS access are documented as out-of-scope. If any ZenHR user lacks a Crelate seat, the customer's admin provisions the Crelate license before User migration completes.

  6. Cutover, validation, and automation inventory handoff

    We freeze ZenATS writes during the cutover window and run a final delta migration of any records modified during migration. Crelate becomes the system of record for recruiting data. We validate record counts, spot-check 25-50 candidate records for field-level accuracy, and confirm stage-history sequencing. We deliver the written automation and HR letter template inventory document to the customer's admin team with recommended rebuild actions in Crelate. We support a one-week post-cutover window for reconciliation issues. We do not rebuild ZenHR automations or letter templates in Crelate; that work is separate from the migration scope.

Platform deep dives

Context on both ends of the pair

ZenHR logo

ZenHR

Source

Strengths

  • Purpose-built for MENA compliance with country-specific labor law, social insurance, and tax rule sets baked into payroll and employee management.
  • Bilingual platform with full English and Arabic interface, eliminating language barriers for regional HR teams and employees.
  • Cloud-native with iOS and Android mobile apps, allowing attendance clocking and leave requests from anywhere across the GCC and Levant operations.
  • Modular architecture — companies can start with Core HR and add Payroll, ATS, Performance, or Time & Attendance as they grow within the same platform.
  • Strong community and customer base in Jordan, KSA, UAE, Egypt, Lebanon, Iraq, and Kuwait with references across pharmaceuticals, logistics, government, and NGO sectors.

Weaknesses

  • Deep localization to MENA regulations makes the platform poorly suited for organizations with significant headcount outside the GCC and Levant — exporting data to global HR systems requires significant field remapping.
  • Publicly available API documentation lacks published rate limits and bulk endpoint specifications, requiring direct inquiry to ZenHR support to determine safe pagination and request pacing.
  • Pricing is opaque — no public tier breakdown; quotes are issued per-organization, making it difficult to compare migration costs without a sales conversation.
  • Limited third-party ecosystem compared to global HR platforms; integrations with NetSuite ERP and QuickBooks are available but reported as shallow by some users.
  • Banking and payroll validation errors reported in reviews suggest backend data integrity issues that can complicate automated migration of financial data.
Crelate logo

Crelate

Destination

Strengths

  • Unified ATS and CRM in a single platform reduces data synchronization overhead for recruiting teams.
  • Fast setup with guided implementation reported as a significant time saver for small teams.
  • Transparent per-seat pricing without surprise fees at the base tier.
  • Flexible custom field configuration across core objects without developer dependency.
  • Export capability supports up to 15,000 records per operation for Contacts, Companies, and Opportunities.

Weaknesses

  • API rate limit of 120 requests per minute restricts bulk migration throughput.
  • Custom field cap of 20 per entity requires field consolidation for complex recruiting schemas.
  • All advanced features (Activities, Activity Forms, Core Record Field customization) are tier-gated add-ons.
  • Customer service responsiveness receives consistent negative feedback in reviews.
  • Resume parsing quality trails competitors and generates support requests.

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 ZenHR and Crelate.

  • 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

    ZenHR: Not publicly documented — requires direct inquiry to ZenHR support to determine safe request-pacing thresholds.

  • Data volume sensitivity

    B

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

Estimator

Estimate your ZenHR to Crelate 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 ZenHR to Crelate data migrations

Answers to the questions buyers ask most during ZenHR to Crelate migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your ZenHR to Crelate migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most ZenATS migrations land between two and four weeks for under 5,000 candidates and 500 vacancies with clean stage histories. Migrations with large historical candidate databases (over 15,000 records), multiple vacancy pipelines, or cross-references between ZenHR Employee and ZenATS Candidate objects move to five to nine weeks because of stage-history sequencing and field-audit time. The ZenHR-to-Crelate migration is faster than a full HRMS-to-HRMS move because payroll, leave, attendance, and org hierarchy data are out of scope.

Adjacent paths

Related migrations to explore

Ready when you are

Move from ZenHR.
Land in Crelate, 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