HRMS migration

Migrate from CIPHR to Recruit CRM & ATS

Field-level mapping, validation, and rollback between CIPHR and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.

CIPHR logo

CIPHR

Source

Recruit CRM & ATS

Destination

Recruit CRM & ATS logo

Compatibility

42%

5 of 12

objects map 1:1 between CIPHR and Recruit CRM & ATS.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from CIPHR to Recruit CRM is a domain shift from a mid-market HR and payroll platform to a specialist recruitment ATS and CRM. CIPHR stores employee records, absence balances, payroll histories, and recruitment data across tightly integrated modules; Recruit CRM is built around candidates, jobs, clients, and placements. We extract recruitment data from CIPHR iRecruit (vacancies, applications, candidate profiles), map employee records to Recruit CRM candidates where the employee is also a past applicant, and flag HR data that has no equivalent in Recruit CRM (absence balances, benefits, performance appraisals, payroll) for the customer's admin to archive or recreate. We do not migrate workflows, onboarding task lists, or learning management records as these require manual configuration in Recruit CRM.

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

CIPHR logo

CIPHR

What's pushing teams away

  • Pricing is cited as a significant pain point — customers note the platform is expensive and does not fully remove admin burden despite the cost, leading some to seek lower-cost alternatives.
  • Some customers report issues with the payroll and bureau service, including problems when specific support contacts leave the account, indicating inconsistency in payroll service delivery.
  • The reporting tool has received criticism from customers who want more flexible or powerful analytics, suggesting organisations with complex reporting needs may outgrow the built-in capabilities.
  • Smaller organisations within the 200-employee lower bound may find the platform over-specified for their needs, prompting migration to simpler HR tools as they scale.

Choosing

Recruit CRM & ATS logo

Recruit CRM & ATS

What's pulling them in

  • Agencies choose Recruit CRM for its full customizability — pipelines, stages, and fields can be tailored to any recruitment workflow without developer involvement.
  • Small teams value the built-in CRM and ATS combined in one subscription, eliminating the need to purchase and sync separate systems.
  • The Chrome extension for one-click LinkedIn profile collection streamlines candidate sourcing and reduces manual data entry for recruiters.
  • Responsive customer support with fast issue resolution is consistently cited as a reason teams stick with the platform long-term.
  • Automation options including email sequences and workflow triggers allow recruitment agencies to reduce repetitive manual outreach tasks.

Object mapping

How CIPHR objects map to Recruit CRM & ATS

Each row shows how a CIPHR object lands in Recruit CRM & ATS, including any object-level transformations, lookup resolution, or schema-design dependencies.

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

CIPHR

Employee / Candidate Record

maps to

Recruit CRM & ATS

Candidate

1:1
Fully supported

CIPHR iRecruit stores candidate records as part of its recruitment module. These map directly to Recruit CRM Candidates. We extract first name, last name, email, phone, current employer, CV/resume content, application date, and any custom candidate properties. CIPHR's candidate status stages (custom pipelines) map to Recruit CRM job-specific pipeline stages. Employee records that were never part of the CIPHR recruitment module do not automatically become Recruit CRM Candidates; the customer identifies the overlap during scoping.

CIPHR

Job Vacancy / Job Posting

maps to

Recruit CRM & ATS

Job

1:1
Fully supported

CIPHR iRecruit vacancies map to Recruit CRM Job records. We extract job title, department, location, employment type, salary range, job description, and board posting history. CIPHR's multi-board posting configuration (which job boards each vacancy was published to) is stored as a text list and mapped to the Recruit CRM job board field; the customer re-publishes from Recruit CRM's integrations post-migration.

CIPHR

Application / Candidate-to-Job

maps to

Recruit CRM & ATS

Candidate Job Association

1:1
Fully supported

The CIPHR application record (which links a candidate to a vacancy with a specific status and date) maps to Recruit CRM's candidate-job association. We preserve the application date, current stage, source channel, and any interviewer assignments. Recruit CRM's associated_fields endpoint (POST /v1/candidates/associated-field/{candidate}/{job}) handles custom fields on the candidate-job relationship.

CIPHR

Custom Properties (Recruitment)

maps to

Recruit CRM & ATS

Custom Fields

lossy
Mapping required

CIPHR custom candidate properties and custom vacancy properties map to Recruit CRM custom fields on Candidate and Job respectively. Recruit CRM exposes custom fields through its API as typed fields (text, number, date, dropdown). We pre-create the destination custom field schema before import and map CIPHR property values by name and data type. Any CIPHR custom property with no Recruit CRM equivalent is flagged for manual field creation.

CIPHR

Employee Records (from HR module)

maps to

Recruit CRM & ATS

Candidate (optional, customer-defined)

1:1
Fully supported

For customers who used CIPHR's recruitment module alongside its HR module, the employee record and the candidate record may be separate CIPHR objects. We identify the overlap during scoping and offer a merge-by-email strategy where an employee record and a candidate record with the same email address are combined into a single Recruit CRM Candidate. This requires the customer to define the merge rule and confirm which CIPHR source (iRecruit vs HR module) takes precedence for each field.

CIPHR

Users and System Access

maps to

Recruit CRM & ATS

Users

1:1
Mapping required

CIPHR user accounts with name, email, role, and permissions map to Recruit CRM Users. We extract the CIPHR role name and map it to Recruit CRM's permission structure (Admin, Recruiter, Hiring Manager, Read-only). Any CIPHR user who only had HR access (no recruitment access) is flagged as a candidate record rather than a user in Recruit CRM unless the customer specifies otherwise.

CIPHR

Absence and Leave

maps to

Recruit CRM & ATS

Not supported

lossy
Fully supported

CIPHR absence balances (holiday, sickness, other leave) and accrual histories have no equivalent object in Recruit CRM. Recruit CRM is a recruitment ATS and CRM; leave management is outside its scope. We extract absence records for the customer's HR team to review, and flag this data for manual archiving or for import into a separate HR system if one is deployed alongside Recruit CRM.

CIPHR

Payroll Records

maps to

Recruit CRM & ATS

Not supported

lossy
Mapping required

Historical payroll data, tax codes, pension contributions, and year-to-date earnings in CIPHR have no equivalent in Recruit CRM. If the customer is also switching payroll providers, payroll history must be migrated separately into the new payroll system. For CIPHR payroll bureau clients, RTI submission records and P60/P45 documents must be retrieved from HMRC independently of the Recruit CRM migration.

CIPHR

Documents (Employee)

maps to

Recruit CRM & ATS

Not supported

lossy
Fully supported

CIPHR stores employee contracts, policies, and ID documents as employee-linked files. Recruit CRM does not have a native document storage object equivalent for employee records. We extract document metadata (filename, type, associated employee, upload date) as a structured list. The customer decides whether to re-upload documents to a linked cloud storage system or recreate them in Recruit CRM's notes on the candidate record.

CIPHR

Learning / Training Records

maps to

Recruit CRM & ATS

Not supported

lossy
Mapping required

CIPHR LMS tracks course completions, quiz results, and training assignments. Recruit CRM does not include an LMS module. Training history migrates as a written record (employee name, course name, completion date, result) in CSV format for the customer's admin to review. We do not import training data as Recruit CRM records because there is no target object.

CIPHR

Performance Appraisals

maps to

Recruit CRM & ATS

Not supported

lossy
Mapping required

Appraisal records, ratings, and 360 feedback stored in CIPHR have no equivalent in Recruit CRM. We extract appraisal cycle names, employee ratings, and reviewer comments as a structured CSV for the customer's HR team to archive separately. Custom appraisal templates require manual rebuild in the destination HR system.

CIPHR

Benefits Enrolment

maps to

Recruit CRM & ATS

Not supported

lossy
Fully supported

CIPHR benefits module holds enrolment records, flexible benefit selections, and contribution amounts. Recruit CRM does not support benefits administration. We extract the benefit plan names, employee enrolments, and contribution amounts as a structured record set for the customer's HR team to handle outside the Recruit CRM migration scope.

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.

CIPHR logo

CIPHR gotchas

Medium

No public pricing means migration budget estimates are harder to pin down

High

Payroll bureau clients face higher migration complexity

Medium

Absence balance recalculation at the destination can cause accrual discrepancies

Low

Custom onboarding templates require manual pre-mapping

Recruit CRM & ATS logo

Recruit CRM & ATS gotchas

High

API rate limits are license-scaled and can throttle bulk migration

Medium

Custom field schemas vary per organization and require field-level mapping

Medium

Files and email attachments require separate extraction and re-upload

Low

Email sequences and automation logic do not transfer between platforms

Pair-specific challenges

  • Recruit CRM lacks HR objects; employee data must be selectively migrated

    CIPHR stores a full employee record (contact details, employment history, compensation, absence, benefits, documents, training) across multiple linked modules. Recruit CRM is a recruitment ATS and CRM with no equivalent objects for absence, benefits, payroll, performance, or document storage. The migration must be scoped to recruitment-relevant data only. We extract candidate records and job vacancies as the primary migration objects, and deliver HR data (absence, benefits, payroll, appraisals, documents) as structured CSV exports with metadata. The customer must confirm which data is migrated to Recruit CRM and which is archived or moved to a separate HR system.

  • CIPHR payroll bureau data requires independent HMRC retrieval

    Organisations using CIPHR's managed payroll bureau service have historical payroll data processed internally rather than stored in a fully exportable format. RTI submissions, pension contribution records, and year-to-date payroll histories may not be accessible through a standard CIPHR data export. We coordinate with the customer's payroll team to retrieve P60 and P45 documents from HMRC and map payroll data into the destination payroll system independently of the Recruit CRM migration. This step must be initiated before the Recruit CRM cutover to ensure PAYE history is preserved.

  • CIPHR custom candidate stages require manual Recruit CRM pipeline configuration

    CIPHR iRecruit allows organisations to define custom stages within their recruitment pipeline (for example, Telephone Screen, Technical Interview, Offer, Rejected). Recruit CRM's default pipeline stages differ from CIPHR's custom stages. We create a mapping table during scoping that pairs each CIPHR stage with the nearest Recruit CRM equivalent. Custom stages with no Recruit CRM match are flagged for manual pipeline configuration before candidate import begins.

  • Absence balance recalculation can cause discrepancies if leave data is re-entered

    CIPHR calculates leave accruals using its own rules engine. If the customer migrates absence balances into a new HR system alongside Recruit CRM, opening balances may diverge from what employees see in CIPHR depending on the destination system's accrual calculation method. We flag this risk during scoping, present source accrual values for customer review, and recommend a pre-migration leave audit to identify discrepancies before the go-live date.

  • Recruit CRM's custom field types must be created before bulk import

    Recruit CRM requires custom fields to be created in the UI or via API before records containing those field values can be imported. CIPHR organisations with many custom candidate or vacancy properties must define the equivalent fields in Recruit CRM before the migration data load begins. We create the destination schema (including custom fields) during the scoping phase and validate in a Recruit CRM sandbox environment before production import.

Migration approach

Six steps for a successful CIPHR to Recruit CRM & ATS data migration

  1. Discovery and data audit

    We audit the source CIPHR environment across modules (HR core, iRecruit, payroll, LMS, benefits) to identify which records are candidates versus employees versus both. We extract vacancy records, candidate profiles, application histories, and any custom CIPHR pipeline stages. We flag HR data (absence, benefits, payroll, performance) that has no Recruit CRM equivalent and present it as a structured CSV export. The discovery output is a written migration scope document that the customer signs off on before we begin schema design.

  2. Schema design and Recruit CRM configuration

    We configure the destination Recruit CRM account. This includes creating custom fields to match CIPHR custom properties on Candidate and Job objects, configuring pipeline stages to match CIPHR iRecruit stages (or nearest equivalents), setting up user accounts with roles mapped from CIPHR permissions, and enabling GDPR-compliant field settings. We configure the Recruit CRM sandbox or trial account first for validation before any production data moves.

  3. Data extraction and transformation

    We extract CIPHR iRecruit data (candidates, vacancies, applications) via the CIPHR API or structured export, depending on what the CIPHR environment exposes. We transform the data using the mapping table: CIPHR candidate fields map to Recruit CRM Candidate fields; CIPHR vacancy fields map to Recruit CRM Job fields; CIPHR application records map to candidate-job associations. Custom field values are transformed to match Recruit CRM's field types (text, number, date, dropdown). Any CIPHR field with no Recruit CRM target is flagged in the transformation report.

  4. Sandbox validation and customer sign-off

    We load transformed data into the customer's Recruit CRM sandbox or staging account. The customer's recruitment lead reconciles record counts (candidates in, jobs in, applications in), spot-checks 25-50 records against CIPHR source data, and verifies that custom fields populated correctly. We resolve any mapping errors identified during validation before production migration begins. This step typically takes two to three business days for review and sign-off.

  5. Production migration in dependency order

    We run the production migration in record-dependency order: Users (provisioned from CIPHR user list), Jobs (created first because candidates reference job associations), Candidates (with custom fields resolved), Candidate-Job associations (linking candidates to jobs with stage and date preserved), and custom fields on both Candidate and Job. Each phase emits a row-count reconciliation report. We use the Recruit CRM REST API with rate-limit handling and exponential backoff for all inserts.

  6. Cutover, validation, and handoff

    We freeze CIPHR writes during the cutover window, run a final delta migration of any records created or modified after the initial export, then mark Recruit CRM as the system of record. We deliver the full HR data CSV exports (absence, benefits, payroll, performance, documents) to the customer's HR team with a written index of what each file contains. We do not rebuild onboarding workflows, learning modules, or HR automations inside Recruit CRM; these are documented separately for the customer's admin to configure. We support a five-business-day post-cutover window to resolve any data quality issues raised by the recruitment team.

Platform deep dives

Context on both ends of the pair

CIPHR logo

CIPHR

Source

Strengths

  • Integrated HR, payroll, recruitment, and learning under one vendor contract.
  • Award-winning UK payroll module with strong compliance credentials.
  • Consistently praised customer support team with specialist product knowledge.
  • Suitable for UK mid-market organisations with 200–2,000 employees.
  • Robust API framework with SOC 2 certification and existing third-party integrations.

Weaknesses

  • No public pricing — quotes are custom and opaque, making cost comparison difficult before purchase.
  • Reporting and analytics are considered limited by some customers compared to dedicated BI tools.
  • Payroll bureau service quality has been inconsistent according to customer feedback.
  • May be over-specified for smaller organisations below the 200-employee target range.
  • Expenses module data is not currently supported for migration out of CIPHR.
Recruit CRM & ATS logo

Recruit CRM & ATS

Destination

Strengths

  • Fully customizable pipelines, stages, and fields without requiring developer involvement
  • Combines recruitment CRM and ATS in one subscription for staffing agencies and small teams
  • Built-in email sequences and automation reduce manual outreach work
  • Chrome extension enables one-click LinkedIn profile collection directly into the CRM
  • Responsive customer support cited across multiple reviews with fast resolution times

Weaknesses

  • Several features are gated as paid add-ons rather than included in the base subscription
  • Email functionality has been reported as unreliable by multiple users
  • Interface occasionally lags during high-activity periods in large pipelines
  • Pricing is considered higher than comparable recruitment CRMs by some customers
  • Limited native reporting — users request pre-made report exports rather than manual data pulls

Complexity grading

How hard is this migration?

Standard HRMS migration. 2 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 CIPHR and Recruit CRM & ATS.

  • Object compatibility

    B

    2 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

    CIPHR: Not publicly documented by CIPHR directly.

  • Data volume sensitivity

    B

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

Estimator

Estimate your CIPHR to Recruit CRM & ATS 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 CIPHR to Recruit CRM & ATS data migrations

Answers to the questions buyers ask most during CIPHR to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your CIPHR to Recruit CRM & ATS 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 accounts with under 2,000 candidate records, up to 50 active vacancies, and no complex custom field structures. Migrations with large employee-to-candidate cross-reference lists, multiple active job board integrations, or CIPHR payroll bureau data needing separate HMRC retrieval move to eight to twelve weeks. The timeline depends on how many CIPHR modules are in scope, how many custom properties need Recruit CRM field creation, and how quickly the customer's recruitment team can sign off on sandbox validation.

Adjacent paths

Related migrations to explore

Ready when you are

Move from CIPHR.
Land in Recruit CRM & ATS, 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