HRMS migration
Field-level mapping, validation, and rollback between CIPHR and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
CIPHR
Source
Crelate
Destination
Compatibility
16 of 18
objects map 1:1 between CIPHR and Crelate.
Complexity
BStandard
Timeline
3-5 weeks
Overview
CIPHR is a full HRMS with integrated payroll, recruitment, onboarding, learning, and benefits modules for UK mid-market organisations. Crelate is a recruiting-focused ATS and CRM built for executive search, staffing agencies, and in-house talent teams. The two platforms share a recruiting data surface area — candidates, job postings, and engagement history — that we map field by field during migration. However, CIPHR's payroll, absence and leave, benefits administration, learning management, and performance appraisal modules have no native equivalent in Crelate. We flag these objects during scoping, migrate any reusable custom fields as text or activity notes, and document the HRMS gaps clearly so your team can provision a complementary HR system (payroll, absence, performance) before or after go-live. We do not migrate automation logic; we deliver a written inventory of any CIPHR onboarding tasks or recruiting workflows for your admin to rebuild in Crelate.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a CIPHR 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.
CIPHR
Employee
Crelate
Contact
1:1CIPHR employee records map to Crelate Contacts. We extract first name, last name, email address, phone number, job title, department, employment type, start date, and manager relationship. Crelate's Contact requires the Name field; CIPHR's first name and last name are concatenated at import time. Custom CIPHR employee properties (for example, NI number stored as a custom field) are mapped to Crelate custom fields of the equivalent type — short answer, numeric, or picklist — with the customer's chosen field name in Crelate. Active employees migrate as Contacts; leavers are migrated with a Contact status value that Crelate supports.
CIPHR
Organisation / Department
Crelate
Company
1:1CIPHR organisations and department hierarchy map to Crelate Companies. The org structure (departments, cost centres, locations) migrates as Company records with the department name as Company Name and parent-child relationships preserved via Crelate's parent_company lookup if the customer's Crelate configuration supports it. CIPHR cost centre codes map to a Crelate custom text field on the Company record. Location and address data from CIPHR transfers to the Company address fields in Crelate.
CIPHR
Recruitment / Applicant
Crelate
Contact (Candidate profile)
1:1CIPHR candidate records from the recruitment module map to Crelate Contacts with candidate-specific fields. We extract candidate name, email, phone, source channel, vacancy applied to, application status, and any custom candidate properties. CIPHR custom stages or workflow statuses are preserved as a text value in a custom field since Crelate's pipeline stages are configured separately. The vacancy reference from CIPHR links to the corresponding Job record in Crelate.
CIPHR
Job Posting / Vacancy
Crelate
Job
1:1CIPHR vacancy records map to Crelate Job records. Job Name is a required field in the Crelate API and maps from the CIPHR vacancy title. Job description, location, employment type, salary range, and opening date transfer to corresponding Crelate Job fields or custom fields. If the CIPHR vacancy has multiple hiring managers assigned, the primary owner maps to Crelate's Assigned Recruiter field; additional managers are stored in a custom field or noted in the activity log for manual assignment post-migration.
CIPHR
Engagement: Call
Crelate
Task (TaskSubtype = Call)
1:1CIPHR call engagements map to Crelate Task records with TaskSubtype = Call. We resolve the parent Contact reference from the candidate or employee record mapped in step 3 or step 1, then set TaskWhoId to the Crelate Contact ID. Call duration, disposition, and any notes stored in CIPHR transfer to custom Crelate Task fields. Activity date is preserved by setting the Task due date to the original CIPHR engagement timestamp.
CIPHR
Engagement: Email
Crelate
Activity (Email type)
1:1CIPHR email engagements migrate to Crelate as Activity records of the email type. The email subject, body content, sender, and recipient transfer to the corresponding Crelate activity fields. We resolve the recipient and sender as Contact lookups in Crelate using email address as the dedupe key. If the recipient Contact does not yet exist in Crelate at migration time, the email activity is held in a staging queue and resolved when the Contact record is created during the employee or candidate import phase.
CIPHR
Engagement: Meeting
Crelate
Activity (Meeting type)
1:1CIPHR meeting engagements map to Crelate Activity records of meeting type. Meeting title, scheduled date, duration, location, and attendee list transfer to Crelate's activity fields. Each attendee in the CIPHR meeting record is resolved to a Crelate Contact by email lookup, and the attendee relationship is created as a linked record in Crelate's activity data structure. Notes or agenda content from the CIPHR meeting are stored in the activity description field.
CIPHR
Engagement: Note
Crelate
Note
1:1CIPHR note engagements map to Crelate Note records. Note body migrates as text content. The note is linked to the parent Contact (candidate or employee) via Crelate's entity relationship using the Contact ID resolved from the original CIPHR record. If the CIPHR note has any file attachments, the attachment filenames are stored as a text list in a Crelate custom field with a note that the attachments require retrieval from CIPHR's document storage separately.
CIPHR
Engagement: Task
Crelate
Task
1:1CIPHR task engagements map to Crelate Task records. Task body is a required field in the Crelate API; if the CIPHR task has no body text, we set a default value using the task type and date. Task status, priority, due date, and assigned owner transfer directly. The assigned owner resolves to a Crelate User by email lookup via the owner reconciliation step. Tasks with no resolvable owner are placed in a queue for the customer's admin to assign post-migration.
CIPHR
Onboarding
Crelate
Activity + Custom Fields
lossyCIPHR onboarding tasks, document checklist statuses, and completion records do not have a direct Crelate object equivalent because Crelate is an ATS not an onboarding platform. Completed onboarding tasks are migrated as Crelate Activity records of type Note attached to the employee Contact, with the task name as the activity subject and the completion date as the timestamp. Document acceptance records are stored as a structured text custom field on the Contact listing the document name and accepted date. Any custom onboarding templates from CIPHR are documented in a separate written inventory for the customer's admin to rebuild in Crelate's workflow builder or document management tools post-migration.
CIPHR
Custom Properties
Crelate
Custom Fields
lossyCIPHR custom employee and candidate properties map to Crelate custom fields of the closest matching type. Short text properties map to Crelate Short Answer fields, long text to Long Answer, dates to Date fields, numeric values to Numeric fields, and picklist-based properties to Crelate Picklist fields. We create each custom field in Crelate before migration begins, using the CIPHR property name as the display label and a sanitised version of the name as the API field name. The customer reviews and approves the custom field list during scoping before data import starts.
CIPHR
Payroll Records
Crelate
No equivalent object
1:1CIPHR payroll module data — pay histories, deductions, tax codes, pension contributions, RTI submission records — has no native object in Crelate's ATS schema. Historical payroll data is not migrated into Crelate. We recommend coordinating the payroll migration separately with a UK payroll provider (Sage, IRIS, BreatheHR, or Personio) that supports RTI/FPS import from HMRC-held records. Year-to-date pay figures can be stored as a structured text custom field on the employee Contact record in Crelate for reference only, but this is not a payroll solution and does not replace a dedicated payroll system for ongoing PAYE compliance.
CIPHR
Absence and Leave
Crelate
No equivalent object
1:1CIPHR absence and leave balances, accrual histories, and leave type configurations do not map to Crelate. Crelate has no absence management module. The opening balance of annual leave and any active sickness absence records can be recorded as text custom fields on the employee Contact in Crelate, but the leave accrual calculation logic does not transfer. We recommend using a dedicated absence management tool (BreatheHR, Personio, HRnest) to replace this CIPHR module, or retaining CIPHR solely for absence tracking if the team chooses to run CIPHR and Crelate in parallel for different functions.
CIPHR
Learning / Training Records
Crelate
No equivalent object
1:1CIPHR LMS course assignments, completion dates, quiz results, and learning history have no native Crelate equivalent. We can migrate the most recent training completions as Crelate Activity records of type Note attached to the employee Contact, with the course name, completion date, and pass status stored in the activity description. CIPHR's off-the-shelf content library references do not transfer to any Crelate object. If the organisation relies on CIPHR's LMS for mandatory compliance training tracking, a dedicated LMS replacement (Go1, Totara, TalentLMS) should be provisioned before the Crelate go-live date.
CIPHR
Documents
Crelate
External reference (custom field)
1:1CIPHR employee documents — contracts, policies, ID records, offer letters — store as document metadata and file content in CIPHR. Crelate has no native document management module equivalent to CIPHR's document store. We export document metadata (filename, document type, upload date, associated employee) and store it as structured text in Crelate custom fields on the Contact record. The actual document files require retrieval from CIPHR's export separately; we include the document filenames and retrieval instructions in the migration handoff documentation. For GDPR compliance, the customer's admin reviews document retention against the six-year HMRC requirement before export.
CIPHR
Benefits
Crelate
No equivalent object
1:1CIPHR flexible benefits enrolments, benefit plan names, and contribution amounts have no Crelate object equivalent. We document benefit plan names and active enrolments as structured text in Crelate custom fields on the employee Contact record for reference purposes only. A dedicated benefits administration platform (PeopleHum, Employee Benefits Hub, or the customer's chosen benefits broker system) should be configured to replace this CIPHR module. Crelate is not a benefits administration platform and does not offer open enrolment tracking or benefit plan management features.
CIPHR
Performance Appraisals
Crelate
No equivalent object
1:1CIPHR appraisal cycle records, ratings, and 360 feedback submissions do not migrate to any Crelate object. We document completed appraisal records as Crelate Activity records of type Note attached to the employee Contact, capturing the appraisal period, overall rating, and key comments as structured text. Custom appraisal templates from CIPHR are inventoried in the migration handoff documentation for the customer's admin to rebuild in Crelate's form builder or a dedicated performance management tool. No rating data is lost in the sense that it is documented, but it is not transferred as structured performance management records.
CIPHR
Expenses
Crelate
Not migrated
1:1CIPHR expenses module data is not supported for migration. This limitation is documented in CIPHR's own FlitStack AI platform page and applies to all migration destinations, not specifically to Crelate. Expense records, receipt attachments, and expense category data cannot be extracted from CIPHR in a format suitable for Crelate import, and Crelate has no native expenses module. If the organisation requires expense management post-migration, a standalone expense tool (Expensify, PFC, Concur) should be evaluated separately. Expense history in CIPHR should be archived for HMRC record retention purposes before the CIPHR contract ends.
| CIPHR | Crelate | Compatibility | |
|---|---|---|---|
| Employee | Contact1:1 | Fully supported | |
| Organisation / Department | Company1:1 | Fully supported | |
| Recruitment / Applicant | Contact (Candidate profile)1:1 | Fully supported | |
| Job Posting / Vacancy | Job1:1 | Fully supported | |
| Engagement: Call | Task (TaskSubtype = Call)1:1 | Fully supported | |
| Engagement: Email | Activity (Email type)1:1 | Fully supported | |
| Engagement: Meeting | Activity (Meeting type)1:1 | Fully supported | |
| Engagement: Note | Note1:1 | Fully supported | |
| Engagement: Task | Task1:1 | Fully supported | |
| Onboarding | Activity + Custom Fieldslossy | Mapping required | |
| Custom Properties | Custom Fieldslossy | Mapping required | |
| Payroll Records | No equivalent object1:1 | Mapping required | |
| Absence and Leave | No equivalent object1:1 | Fully supported | |
| Learning / Training Records | No equivalent object1:1 | Mapping required | |
| Documents | External reference (custom field)1:1 | Mapping required | |
| Benefits | No equivalent object1:1 | Mapping required | |
| Performance Appraisals | No equivalent object1:1 | Mapping required | |
| Expenses | Not migrated1:1 | Not supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
CIPHR gotchas
No public pricing means migration budget estimates are harder to pin down
Payroll bureau clients face higher migration complexity
Absence balance recalculation at the destination can cause accrual discrepancies
Custom onboarding templates require manual pre-mapping
Crelate gotchas
120 req/min API rate limit throttles bulk migrations
20 custom field per-entity cap forces data model decisions
15,000-record export ceiling on single operations
Sequences and automation workflows do not migrate
API key is a querystring parameter, not a header
Pair-specific challenges
Migration approach
Discovery and scope definition
We audit the CIPHR tenant across all active modules — HR core, recruitment, payroll, absence, learning, benefits, and onboarding — to identify which modules hold live data. We extract a record count per object type (employees, candidates, vacancies, engagements) and review any custom properties in use. This discovery output defines the migration scope: the recruiting surface area that maps to Crelate versus the HRMS modules that have no Crelate equivalent and are flagged for separate handling. We present a written scope document to the customer's HR and IT leads for sign-off before any data extraction begins.
Schema design and Crelate configuration
We design the destination Crelate schema based on the scoping output. This includes creating custom fields on Contact to receive CIPHR employee and candidate custom properties, setting up Crelate Jobs for each active CIPHR vacancy, and configuring any picklist values that map from CIPHR status fields. We deploy the schema to Crelate in a test environment first and provide a field-level mapping table for the customer's admin to review. The mapping table pairs each CIPHR field with its Crelate target, documents the field type, and flags any fields that require manual post-migration population.
Test migration and reconciliation
We run a full test migration using production data volume into a Crelate test environment. The customer's HR and recruiting leads reconcile record counts against the CIPHR source, spot-check 25-50 records across employees, candidates, and jobs for data accuracy, and confirm that custom field values are populating correctly in Crelate. Any mapping corrections identified during reconciliation are applied to the migration scripts before the production migration begins. This step prevents mapping errors from reaching the live Crelate environment.
Owner and user reconciliation
We extract every distinct CIPHR user and owner referenced on employee, candidate, and vacancy records and match by email against the Crelate destination's user table. Any CIPHR users without a matching Crelate account are placed in a reconciliation queue for the customer's admin to provision or map to an existing Crelate User before record import resumes. Activity assignments in Crelate require an OwnerId reference, so this step is a prerequisite for the engagement history migration.
Production migration in dependency order
We execute the production migration in record dependency order: Crelate schema and custom fields are deployed to production first, then Companies (from CIPHR Organisation), then Contacts (from CIPHR Employee and Candidate), then Jobs (from CIPHR Vacancy), then Activity history (calls, emails, meetings, notes, tasks) via Crelate's API. Each phase emits a row-count reconciliation report before the next phase begins. Any unmappable HRMS data (payroll, absence, benefits, performance) is documented in the handoff deliverable rather than imported.
Cutover, validation, and automation handoff
We freeze CIPHR write access during the cutover window, run a final delta migration of any records modified during the migration window, then set Crelate as the system of record for recruiting data. We deliver the complete migration handoff package: field mapping table, unmappable data inventory, GDPR data retrieval checklist, and the onboarding task inventory for rebuilding in Crelate's workflow tools. We support a one-week hypercare window to resolve any post-migration data issues raised by the recruiting team. We do not rebuild CIPHR workflows or onboarding sequences as Crelate automations inside the migration scope; that work is documented and handled by the customer's admin post-migration.
Platform deep dives
CIPHR
Source
Strengths
Weaknesses
Crelate
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 2 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across CIPHR and Crelate.
Object compatibility
2 of 7 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
CIPHR: Not publicly documented by CIPHR directly.
Data volume sensitivity
CIPHR doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during CIPHR to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your CIPHR to Crelate migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave CIPHR
Other ways to arrive at Crelate
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.