HRMS migration
Field-level mapping, validation, and rollback between eRecruiter and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
eRecruiter
Source
Crelate
Destination
Compatibility
9 of 12
objects map 1:1 between eRecruiter and Crelate.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from eRecruiter to Crelate is a cross-regional migration from Poland's leading ATS to a US-built recruiting platform that unifies applicant tracking with CRM capabilities. eRecruiter exposes no bulk export endpoint, so we read records individually via its REST API with pagination and concurrent reads calibrated by pre-scoping dataset size. Documents attached to Candidates and Applications require their parent records migrated first; we sequence this as a hard dependency to avoid orphaned binaries. CV Parsing output stored as structured candidate fields requires schema discovery during scoping because eRecruiter does not publish a universal CV field schema. We do not migrate workflows, automations, or job board publishing configurations; we deliver a written inventory of these 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 eRecruiter 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.
eRecruiter
Candidate
Crelate
Person (Candidate)
1:1eRecruiter Candidates map to Crelate Person records. We resolve the Person by email address during import, creating new records when no match exists. Contact details, skills, work history, and application answers migrate as structured fields. CV Parsing output stored as custom candidate fields in eRecruiter requires schema discovery during scoping because field names vary by CV template and parsing version; we treat all parsed CV fields as custom fields and validate Crelate's target schema before writing to avoid silent mapping failures.
eRecruiter
Application
Crelate
Application
1:1eRecruiter Applications link a Candidate to a Job and carry status, stage, rating, and notes. We migrate Application records as first-class objects, preserving the pipeline stage name and any custom application fields. The Crelate Application requires a resolved Person (candidate) and Job reference before insert; we ensure parent record lookups are satisfied by sequencing Jobs before Applications in the migration load order.
eRecruiter
Job
Crelate
Job
1:1Job postings in eRecruiter include title, description (HTML), location, department, employment type, and publication status. We migrate Jobs as independent records and deactivate them in Crelate pending re-publication so that the customer's recruiting team can review and activate postings on their schedule. Location data (city, region, country) migrates as structured address components compatible with Crelate's location field model.
eRecruiter
Company
Crelate
Client
1:1eRecruiter Company entities migrate to Crelate Client records. The Company Import API endpoint in eRecruiter uses ExternalId matching for updates, which we replicate using Crelate's lookup pattern. Client Name is a required attribute in Crelate's API, so we validate that the company name field is populated before attempting insert. If the eRecruiter Company record has no name, we flag it for customer review during scoping.
eRecruiter
User
Crelate
User
1:1eRecruiter User records (name, email, role, department assignment) map to Crelate Users. We match by email address and resolve the Crelate User ID as the Owner reference on migrated records. Role naming differs between platforms, so we capture the eRecruiter role name in a custom field on the Crelate User for audit during the migration window. Users not yet provisioned in Crelate go to a reconciliation queue for the customer's admin to resolve before record import resumes.
eRecruiter
Department
Crelate
Department
lossyDepartment in eRecruiter is a referenced entity on Jobs and Users. Crelate handles Department as a property on the Job record or as a separate organizational unit depending on the customer's configuration. We detect the target's schema during scoping and migrate Department records accordingly, mapping department names and any parent-department hierarchy present in eRecruiter.
eRecruiter
Location
Crelate
Location
1:1Location data on Jobs (city, region, country) migrates as structured address components. If eRecruiter stores multi-location job postings, we handle location mapping to Crelate's location model during Job migration. We preserve all location fields as independent address components rather than collapsing them into a single address string to maintain searchability in Crelate.
eRecruiter
Attachment (Candidate)
Crelate
Document (linked to Person)
1:1Candidate attachments in eRecruiter are identified by DocumentTypeName, Filename, and the parent Candidate's ID. Crelate uses a ContentDocument model for linked files. We transfer binary attachments provided the linked Person record has been created in Crelate first; this creates a hard migration dependency where Candidates must reach Crelate before their attachments can be processed. Orphaned documents without a valid parent Person reference are flagged in the migration report for customer review.
eRecruiter
Attachment (Application)
Crelate
Document (linked to Application)
1:1Application attachments follow the same dependency chain as Candidate attachments: Applications must reach Crelate before their documents. The eRecruiter DocumentTypeName becomes a tag or category value on the Crelate document record. We validate that the parent Application ID resolves in Crelate before attempting document transfer to avoid orphaned binary records.
eRecruiter
Scorecard / Rating
Crelate
Assessment / Rating
1:1Structured evaluation ratings on Applications in eRecruiter are stored as part of the Application record or as linked feedback entries. We serialize scorecard data into structured custom fields on the Crelate Application record, preserving rating values, evaluator name, and timestamp. The Crelate Job settings determine whether ratings are required or optional on applications.
eRecruiter
Custom Field (Candidate)
Crelate
Custom Field (Person)
lossyBoth Candidate and Application records support custom fields in eRecruiter. We discover the full custom field schema during scoping, including CV Parsing-derived fields, and map them to equivalent custom properties in Crelate. Field type mapping requires type detection (text, number, date, picklist, boolean) to select the correct Crelate field type. CV Parsing fields are the highest risk here because they lack a universal schema; we validate each field against Crelate's target schema before writing.
eRecruiter
Custom Field (Application)
Crelate
Custom Field (Application)
lossyApplication custom fields migrate to Crelate Application custom fields following the same type-detection and schema-validation approach as Candidate custom fields. Application-level custom fields often include answers to screening questions, intake form data, and interviewer feedback fields. We map these to Crelate's Application custom field model, preserving the original field labels in a migration metadata field for reference during post-migration validation.
| eRecruiter | Crelate | Compatibility | |
|---|---|---|---|
| Candidate | Person (Candidate)1:1 | Fully supported | |
| Application | Application1:1 | Fully supported | |
| Job | Job1:1 | Fully supported | |
| Company | Client1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Department | Departmentlossy | Fully supported | |
| Location | Location1:1 | Fully supported | |
| Attachment (Candidate) | Document (linked to Person)1:1 | Fully supported | |
| Attachment (Application) | Document (linked to Application)1:1 | Fully supported | |
| Scorecard / Rating | Assessment / Rating1:1 | Fully supported | |
| Custom Field (Candidate) | Custom Field (Person)lossy | Fully supported | |
| Custom Field (Application) | Custom Field (Application)lossy | 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.
eRecruiter gotchas
No native bulk candidate export endpoint
Documents require linked parent records
CV Parsing output requires field mapping
Pricing requires direct sales contact
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 scoping
We audit the source eRecruiter instance across record counts (Candidates, Applications, Jobs, Companies, Users), active custom field schemas, CV Parsing field inventory, document attachment counts per parent type, and GDPR consent flag usage. We also identify any non-standard entities such as custom objects or non-standard Application statuses. This output is a written migration scope document with record counts per object type, a preliminary custom field mapping sheet, and a document dependency tree that drives the migration sequencing plan.
Schema discovery and Crelate target validation
We review Crelate's target environment to confirm which custom fields, tags, and pipeline stages are available in the customer's Crelate plan tier. We validate that all eRecruiter custom field types have a corresponding Crelate field type (text, number, date, picklist, boolean, multi-select). For CV Parsing fields, we run a schema discovery pass that captures every distinct field name and type present in the eRecruiter candidate records. We create any missing custom fields in Crelate's Settings before migration begins and validate the full field list in a staging environment.
Parent record migration sequence
We run migration in strict dependency order to satisfy Crelate's required field and lookup constraints. The sequence is: Users (validated against Crelate User provisioning), Clients (from eRecruiter Companies), Departments, Locations, Jobs, Persons (from eRecruiter Candidates), Applications, Activity history (Tasks, Notes, Events), then Documents. Documents are held in a pending queue until their parent Candidates and Applications have reached Crelate with resolved IDs. Any eRecruiter records with missing required fields (Name on Company, Name on Job, Body on Note or Task) are flagged before the relevant phase and held for customer review.
Staging migration and reconciliation
We run a full migration into Crelate's staging or sandbox environment using production-like data volumes. The customer's recruiting operations lead reconciles record counts (Candidates in Crelate Persons vs eRecruiter exports, Applications, Jobs, Companies), spot-checks 25-50 records per object type against the eRecruiter source, and validates that custom fields populated correctly. Any mapping corrections, missing required fields, or CV Parsing schema issues are resolved in this phase. Sign-off from the customer's lead is required before production migration begins.
Production migration with delta capture
We run production migration following the same dependency sequence validated in staging. For each phase, we emit a row-count reconciliation report before the next phase begins. Any eRecruiter records modified during the migration window are captured as a delta pass at cutover. We freeze HubSpot writes during the final 24-hour delta window, apply the delta, then enable Crelate as the system of record. Document attachments are the final phase because they depend on parent record resolution across all preceding phases.
Cutover, validation, and workflow inventory handoff
After cutover, we deliver a written inventory of all eRecruiter workflows, automations, and job board publishing configurations. We do not rebuild these in Crelate; that work requires the customer's admin or a Crelate implementation partner. We provide a GDPR compliance field inventory mapping eRecruiter consent flags and data retention metadata to Crelate custom fields so the admin can configure the appropriate compliance settings post-migration. We support a five-business-day hypercare window to resolve any record-level reconciliation issues raised by the recruiting team after Crelate goes live.
Platform deep dives
eRecruiter
Source
Strengths
Weaknesses
Crelate
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 eRecruiter and Crelate.
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
eRecruiter: Not publicly documented.
Data volume sensitivity
eRecruiter 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 eRecruiter to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your eRecruiter 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 eRecruiter
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.