HRMS migration
Field-level mapping, validation, and rollback between Employment Hero and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.
Employment Hero
Source
Recruit CRM & ATS
Destination
Compatibility
6 of 10
objects map 1:1 between Employment Hero and Recruit CRM & ATS.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from Employment Hero to Recruit CRM is a platform-domain shift: Employment Hero is a broad human resources and payroll system that embeds a recruitment module, while Recruit CRM is a purpose-built applicant tracking system and candidate relationship management tool for recruitment agencies and executive search firms. The migration does not carry employment records — payroll history, leave balances, compensation components, cost centres, and award classifications are outside Recruit CRM's data model and are flagged for manual records retention or export as PDF before cutover. We migrate the candidate and recruitment layer: candidate profiles with status and tags, client companies, active job postings, and application history. Custom fields on candidate records are retrieved from the Employment Hero schema and pre-created in Recruit CRM before import so that no data references an undefined field. Recruit CRM uses a Kanban pipeline model; we configure the pipeline stages during scoping to match the customer's hiring process rather than the default stages. Workflows, onboarding templates, and SmartMatch automation configurations do not migrate as code — we deliver a written inventory of these for the customer's admin to rebuild in Recruit CRM's automation builder.
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 Employment Hero 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.
Employment Hero
Candidate / Job Application
Recruit CRM & ATS
Candidate
1:1Employment Hero's SmartMatch candidate records and job applications map to Recruit CRM's Candidate object. We extract candidate profile fields (name, email, phone, location, current employer, current title), application status, source, and tags. The candidate's application date maps to Recruit CRM's date_added field. Any Employment Hero custom fields on the candidate profile are retrieved via the source schema endpoint and pre-created in Recruit CRM before import so that no field reference is orphaned.
Employment Hero
Job Posting
Recruit CRM & ATS
Job
1:1Active job postings in Employment Hero's recruitment module map to Recruit CRM's Job object. We carry job title, job description (mapped to Recruit CRM's description field), location, employment type, salary range, and posting date. Status mapping translates Employment Hero's posting status to Recruit CRM's open/closed/draft pipeline stage. Historical job postings that are no longer active are migrated as closed jobs to preserve placement history.
Employment Hero
Client Company (recruitment context)
Recruit CRM & ATS
Client
1:1Employment Hero stores client relationships in the context of the SmartMatch recruitment module. We extract client company name, primary contact name, contact email, contact phone, and industry. If no explicit client company record exists in Employment Hero (a common configuration gap in the recruitment module), we flag this during scoping and recommend whether to create client records from candidate assignment context or leave as unlinked candidates pending the customer's client onboarding process.
Employment Hero
Candidate Tags / Custom Tags
Recruit CRM & ATS
Candidate Tags
lossyEmployment Hero's custom candidate tags and screening labels map to Recruit CRM's tag system. We retrieve the full tag taxonomy from the source and recreate tag definitions in Recruit CRM before candidate import. Tags used for skills, certifications, clearance levels, or source attribution are preserved as structured tags rather than free text so that filtering and reporting in Recruit CRM work against them.
Employment Hero
Candidate Notes / Communication History
Recruit CRM & ATS
Candidate Note
1:1Candidate notes and communication history in Employment Hero's recruitment module map to Recruit CRM's note entries on the Candidate record. We preserve the note body, author, and timestamp. Note-to-candidate linkage is resolved by matching candidate email across both systems before import. If Employment Hero stores communications as engagement records rather than notes, those map to Recruit CRM's activity log entries.
Employment Hero
Placement / Offer
Recruit CRM & ATS
Placement
1:1Successful placements and offer records from Employment Hero map to Recruit CRM's Placement object. We carry placement date, candidate reference, client reference, job title at placement, and fee or salary information if stored. Placement history is migrated to closed-pipeline records so that the customer's revenue attribution and historical placement metrics are preserved in Recruit CRM's reporting.
Employment Hero
Employee (for contractors/former candidates)
Recruit CRM & ATS
Candidate (talent pool)
1:manyIf the customer uses Employment Hero to manage contractors, past placement employees, or alumni candidates who may be re-engaged, these Employee records do not map to Recruit CRM's employee object (which does not exist). Instead, we migrate these as Candidate records in the talent pool with a status of 'Pool' and a tag indicating their prior employment context. Employment Hero's contractor rate, start date, and end date become custom fields on the Recruit CRM candidate record.
Employment Hero
Custom Fields (Candidate object)
Recruit CRM & ATS
Custom Fields (Candidate object)
lossyEmployment Hero custom fields on the candidate profile are organisation-scoped and must be explicitly recreated in Recruit CRM. We retrieve the full custom field schema (field label, field type, picklist values where applicable) via the source API before migration and apply the same field definitions to the Recruit CRM candidate schema before any candidate data referencing those fields is imported. Fields without a direct type equivalent in Recruit CRM (for example, multi-select picklists from award classification contexts) are downgraded to text fields with a flag for manual post-migration review.
Employment Hero
Team / Group (recruitment context)
Recruit CRM & ATS
Team
1:1Employment Hero team membership in the recruitment context maps to Recruit CRM's team structure. The API retains 'teams' in endpoint names for backward compatibility. We extract team members and recruiter assignments linked to job postings and candidate ownership, and map them to Recruit CRM's recruiter and team assignments on the candidate and job record. Team members without an email-linked user account in Recruit CRM are held in a reconciliation queue for the customer's admin to provision before candidate import.
Employment Hero
Hiring Process / Workflow Template
Recruit CRM & ATS
Pipeline Stage
lossyEmployment Hero's hiring process configurations and workflow templates do not migrate 1:1 to Recruit CRM's pipeline stages. We audit the existing hiring process stages, map them to Recruit CRM pipeline stages (with a configurable Kanban board), and flag any custom template steps (such as background check stages, skills assessment stages, or compliance approval stages) that require manual reconfiguration in Recruit CRM's workflow automation builder post-migration. The customer receives a written stage-mapping document and a list of steps that need rebuilding.
| Employment Hero | Recruit CRM & ATS | Compatibility | |
|---|---|---|---|
| Candidate / Job Application | Candidate1:1 | Fully supported | |
| Job Posting | Job1:1 | Fully supported | |
| Client Company (recruitment context) | Client1:1 | Fully supported | |
| Candidate Tags / Custom Tags | Candidate Tagslossy | Fully supported | |
| Candidate Notes / Communication History | Candidate Note1:1 | Fully supported | |
| Placement / Offer | Placement1:1 | Fully supported | |
| Employee (for contractors/former candidates) | Candidate (talent pool)1:many | Fully supported | |
| Custom Fields (Candidate object) | Custom Fields (Candidate object)lossy | Fully supported | |
| Team / Group (recruitment context) | Team1:1 | Fully supported | |
| Hiring Process / Workflow Template | Pipeline Stagelossy | Fully 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.
Employment Hero gotchas
API rate limit of 100 requests per minute caps bulk migrations
HR and Payroll platforms do not always synchronise automatically
Award classifications may not exist in the platform's out-of-box library
Custom fields are organisation-scoped with no inheritance between environments
Additional employing entities require explicit employee-to-entity mapping
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 recruitment scope audit
We audit the Employment Hero instance across the SmartMatch recruitment module: active and historical job postings, candidate records and application statuses, client companies and contacts, custom tags, custom fields on candidate profiles, team assignments, and hiring process configurations. We identify gaps in the source data — specifically whether client company records exist independently or only as embedded fields in candidate records, and whether any candidates have cross-module inconsistencies between the recruitment and HR modules. The discovery output is a written migration scope specifying which objects migrate, which are flagged as non-migratable, and which require manual preparation before import.
Recruit CRM destination setup and pipeline design
We create the Recruit CRM account, configure the pipeline with stages aligned to the customer's existing hiring process (not the default Recruit CRM stages), pre-create all custom fields that will receive data from Employment Hero, and set up team structures matching the recruiter assignments in the source. Custom fields are created in Recruit CRM before any candidate data is imported so that no import run references an undefined field. We configure candidate tags, client records, and job record types during this phase. If the customer has a trial or sandbox Recruit CRM environment, we validate the field schema there before deploying to production.
Employment Hero data extraction
We extract candidate records, job postings, client company data, candidate notes, and placement history from Employment Hero via the API with OAuth 2.0 authentication. Large candidate databases (over 2,000 records) are chunked across multiple API sessions to respect the 100 requests per minute rate limit. We use exponential backoff on 429 responses and log each page-offset request to ensure the export is resumable if interrupted. The extraction emits a record-count reconciliation against the source database's estimated record count so that the customer can verify completeness before transformation begins.
Data transformation and column mapping
We transform the extracted records to Recruit CRM's import column format: field names mapped, date formats normalised, email addresses validated, picklist values checked against Recruit CRM's allowed values. Candidate tags are serialised as comma-separated values in the tags column. Employing entity associations from multi-entity configurations are written to a custom field. Any fields without a direct Recruit CRM equivalent are flagged in a transformation log for manual review. We perform a dry-run import in Recruit CRM's test environment to catch column-mismatch errors and field-type rejections before the production import.
Production import and quality check
We run the production import in Recruit CRM following the order: clients first (so that job assignments have a client reference), jobs next, then candidates with client and job lookups resolved, then notes and activity history, then placements. Each phase emits a row-count and error-rate report. We resolve duplicate candidates (matched by email address) with a customer-defined deduplication rule applied during scoping — either keeping the most recently updated record or merging both with a manual review flag. We do not overwrite records in Recruit CRM that were created post-scoping; new records added during the migration window are flagged for a delta import during cutover.
Cutover, delta migration, and workflow rebuild handoff
We freeze writes to the Employment Hero recruitment module during cutover, run a final delta migration of any records modified during the migration window, then hand over the Recruit CRM instance as the system of record for recruitment activity. We deliver the hiring process and workflow inventory document listing each Employment Hero workflow template, its trigger conditions, and its recommended Recruit CRM automation builder equivalent. We do not rebuild workflow automations as code inside the migration scope. We support a three-day hypercare window where we resolve import errors and reconciliation issues raised by the customer's recruiting team.
Platform deep dives
Employment Hero
Source
Strengths
Weaknesses
Recruit CRM & ATS
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 1 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 Employment Hero and Recruit CRM & ATS.
Object compatibility
1 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
Employment Hero: 20 requests per second and 100 requests per minute per organisation.
Data volume sensitivity
Employment Hero 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 Employment Hero to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.
Walk through your Employment Hero 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 Employment Hero
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.