HRMS migration
Field-level mapping, validation, and rollback between Revolut People and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.
Revolut People
Source
Recruit CRM & ATS
Destination
Compatibility
10 of 12
objects map 1:1 between Revolut People and Recruit CRM & ATS.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from Revolut People to Recruit CRM is a lateral-category migration from a skills-first HRMS to a specialist recruitment ATS. The platforms share a focus on candidate and employee data, but Revolut People's core value—performance cycles, competency frameworks, engagement surveys, and AI-assisted 1:1s—has no structural equivalent in Recruit CRM, which is designed for staffing agencies managing client relationships, job pipelines, and placements. We migrate what fits: employee records (reinterpreted as candidate profiles), active job postings, and any recruitment module applicants. We flag performance reviews, skills frameworks, engagement surveys, org structure, PTO balances, and goals as objects with no Recruit CRM target. Salary and compensation data from Revolut People's compensation insights dashboard transfers to custom fields on the candidate record. Revolut People has no public HRMS API, so migration relies on admin-level CSV exports and structured record extraction; we do not migrate document blobs and instead deliver a file manifest for manual handoff.
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 Revolut People 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.
Revolut People
Employee
Recruit CRM & ATS
Candidate
lossyRevolut People employee records (name, email, role, department, employment dates, employment status) migrate to Recruit CRM candidate profiles. The mapping is a schema reinterpretation rather than a 1:1 field copy because Recruit CRM's candidate object is optimised for recruitment workflows rather than HR records. We map employee email to candidate email, department to a custom candidate field, and employment status to a custom field. Start dates migrate to a custom field rather than a native Recruit CRM date field since candidate records do not have an employment-date schema.
Revolut People
Recruitment / Applicants
Recruit CRM & ATS
Application
1:1Revolut People recruitment module applicants map directly to Recruit CRM applications. Application status values (applied, screening, interview, offer, hired, rejected) migrate to Recruit CRM pipeline stages, which we configure to match the source stage names during migration. Job association migrates by resolving the Revolut People job posting reference to the Recruit CRM job record created in parallel.
Revolut People
Job Posting
Recruit CRM & ATS
Job
1:1Revolut People job postings (title, description, department, location, employment type) map to Recruit CRM job records. The job description HTML migrates as rich text. Any active job posting status (open, paused, closed) maps to Recruit CRM job status. We create Recruit CRM jobs before the application import so that the job reference is satisfied at the point of application insert.
Revolut People
Salary Structures
Recruit CRM & ATS
Candidate (custom fields)
1:1Revolut People compensation insights data including base salary, pay grade, and equity details reside in a separate data partition from standard employee records. We export this as a distinct dataset and join it to the employee record at migration time. Base salary maps to a custom numeric candidate field in Recruit CRM (current_salary__c). Equity and total compensation figures map to additional custom numeric fields. These are informational fields; Recruit CRM has no native payroll or equity tracking module.
Revolut People
Performance Cycles
Recruit CRM & ATS
N/A
1:1Revolut People performance cycles and their associated review records have no equivalent object in Recruit CRM. Recruit CRM is an ATS and CRM without performance management, appraisal, or review-cycle functionality. We do not migrate performance cycles or their associated review data. We flag the existence of active or historical performance cycles in the migration scope document so that the customer's HR admin can decide whether to retain this data in a spreadsheet or a dedicated performance management tool.
Revolut People
Skills and Competency Frameworks
Recruit CRM & ATS
Candidate (custom fields)
lossyRevolut People skills and competency matrices vary per tenant with fully custom skill names and proficiency scales. There is no standard skill taxonomy enforced. We audit the full custom skill library during discovery, normalise skill names to a flat list, and write them to Recruit CRM candidate custom fields. Proficiency levels migrate as custom picklist values. Because Recruit CRM has no native skills management or competency framework module, this mapping is an informational normalisation rather than a functional feature migration.
Revolut People
Performance Reviews
Recruit CRM & ATS
N/A
1:1Revolut People performance review records contain structured feedback, ratings, reviewer comments, and PIP or probation data. Recruit CRM has no review, appraisal, or feedback module. We do not migrate review records. We flag PIP and probation records separately in the scope document because they represent a compliance-relevant data category that requires explicit handling—either retention as a PDF export or transfer to a dedicated HR system.
Revolut People
Goals and Roadmaps
Recruit CRM & ATS
N/A
1:1Revolut People goal tracking with customisable roadmaps and date-based milestones has no equivalent in Recruit CRM. Goal ownership and progress percentages have no target object. We do not migrate goals or roadmaps. We note the existence of active goals in the migration scope and recommend the customer transfer them to their new HR or performance management platform.
Revolut People
Surveys (Engagement)
Recruit CRM & ATS
N/A
1:1Revolut People engagement survey questions and response data have no target in Recruit CRM. Recruit CRM does not include a survey, pulse-feedback, or engagement module. We do not migrate survey records or responses. We note the existence of engagement survey history in the scope document and flag it as requiring a separate survey platform for future use.
Revolut People
Org Structure
Recruit CRM & ATS
N/A
1:1Revolut People hierarchical org structure with reporting lines, department hierarchy, and role-based permissions has no equivalent in Recruit CRM. Recruit CRM manages candidate and client relationships, not internal organisational hierarchies. We do not migrate org structure data. We deliver the reporting hierarchy as a flat parent-child CSV for the customer's reference.
Revolut People
PTO / Leave Balances
Recruit CRM & ATS
N/A
1:1Revolut People time, attendance, PTO, and sick leave balances per employee have no target in Recruit CRM. Recruit CRM does not include a time-tracking or leave-management module. We do not migrate leave balances or accrual data. We note current PTO balances in the scope document for the customer's HR admin to transfer to their new HR system.
Revolut People
User Roles and Access
Recruit CRM & ATS
N/A
1:1Revolut People role-based access controls with per-user permission sets have no equivalent mapping to Recruit CRM. Recruit CRM has its own user role model optimised for recruitment workflows (recruiter, admin, hiring manager). We do not migrate access control configurations. We deliver a role mapping table as a written reference for the customer's admin to configure Recruit CRM roles post-migration.
| Revolut People | Recruit CRM & ATS | Compatibility | |
|---|---|---|---|
| Employee | Candidatelossy | Fully supported | |
| Recruitment / Applicants | Application1:1 | Mapping required | |
| Job Posting | Job1:1 | Fully supported | |
| Salary Structures | Candidate (custom fields)1:1 | Mapping required | |
| Performance Cycles | N/A1:1 | Fully supported | |
| Skills and Competency Frameworks | Candidate (custom fields)lossy | Mapping required | |
| Performance Reviews | N/A1:1 | Fully supported | |
| Goals and Roadmaps | N/A1:1 | Mapping required | |
| Surveys (Engagement) | N/A1:1 | Mapping required | |
| Org Structure | N/A1:1 | Mapping required | |
| PTO / Leave Balances | N/A1:1 | Fully supported | |
| User Roles and Access | N/A1:1 | Mapping required |
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.
Revolut People gotchas
No public HRMS API means no automated export pipeline
US customer suspension limits platform availability
Compensation equity data stored separately from payroll
Custom skills and scorecards vary per tenant
Recruit CRM & ATS gotchas
API rate limits are license-scaled and can throttle bulk migration
Custom field schemas vary per organization and require field-level mapping
Files and email attachments require separate extraction and re-upload
Email sequences and automation logic do not transfer between platforms
Pair-specific challenges
Migration approach
Discovery and data availability audit
We audit the Revolut People tenant to establish what data is available for export. Because there is no public API, we request admin-level CSV exports for employees, applicants, job postings, and compensation data. We run a structured extraction request for performance cycles, skills frameworks, and engagement survey responses. We identify any data that cannot be exported via CSV and flag it as requiring manual extraction. We confirm the customer's Recruit CRM tenant is provisioned and identify which modules (Recruitment, CRM) are active so that we know the available target schema.
Scope definition and gap identification
We produce a written migration scope that lists every Revolut People object and whether it has a Recruit CRM target. For objects with no target (performance reviews, skills frameworks, engagement surveys, org structure, PTO, goals), we document the record count, the reason for the gap, and a recommended alternative handling method. The customer reviews and approves the scope before any migration work begins. This step is critical for this pairing because the HRMS-to-ATS category gap is significant and must be explicitly acknowledged.
Schema design and custom field provisioning in Recruit CRM
We configure Recruit CRM to receive the migrating data. This includes provisioning custom fields on the candidate object for salary, department, employment dates, employment status, and any normalised skills data from the discovery audit. We configure job pipeline stages to match Revolut People's recruitment module status values. We ensure the candidate object has the required fields for the application-to-job join before any records are imported.
Data extraction, cleansing, and transform
We extract the CSV exports from Revolut People and apply a cleansing pass: duplicate removal, format standardisation (date formats, email validation, phone number normalisation), and a check for orphaned records (applicants whose associated job posting does not exist). For compensation data from the separate partition, we join it to the employee record using the employee ID as the join key. Any Revolut People custom skills are normalised to the flat list established during discovery.
Production migration in dependency order
We run production migration in record-dependency order: jobs first (because applications reference them), then candidate profiles with compensation and skills data in custom fields, then applications linked to candidates and jobs, and finally any engagement activity notes linked to candidates. Each phase emits a row-count reconciliation report. Owner resolution for candidate records uses email matching against Recruit CRM users.
Cutover, validation, and gap handoff
We freeze Revolut People writes during cutover, run a final delta check for any records modified during the migration window, and mark Recruit CRM as the system of record. We deliver the written gap inventory to the customer's HR admin, covering every object with no Recruit CRM target, recommended alternative handling, and a file manifest for document blobs that cannot be migrated. We support a five-business-day post-cutover window to resolve any data reconciliation issues.
Platform deep dives
Revolut People
Source
Strengths
Weaknesses
Recruit CRM & ATS
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 Revolut People and Recruit CRM & ATS.
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
Revolut People: Not publicly documented..
Data volume sensitivity
Revolut People 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 Revolut People to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.
Walk through your Revolut People to Recruit CRM & ATS migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Revolut People
Other ways to arrive at Recruit CRM & ATS
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.