HRMS migration
Field-level mapping, validation, and rollback between eRecruiter and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.
eRecruiter
Source
Recruit CRM & ATS
Destination
Compatibility
9 of 11
objects map 1:1 between eRecruiter and Recruit CRM & ATS.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from eRecruiter to Recruit CRM is a migration from a Poland-centric ATS with strong GDPR tooling to a global agency ATS+CRM with AI-powered candidate matching and sourcing. eRecruiter does not expose a bulk export endpoint, so we read candidates, applications, and jobs one record at a time via its REST API with concurrent reads and pagination handling. Documents attached to Candidates and Applications require their parent records to be migrated first, which establishes the ID lookup chain before binary transfer. CV Parsing output in eRecruiter is stored as structured profile fields without a universal schema, so we treat every parsed CV field as a custom field and validate the Recruit CRM schema before writing. Recruit CRM's data model treats Candidates as the primary person record, Applications as pipeline entries, and Companies as separate client or organization entities. We do not migrate eRecruiter's workflow rules, RODO consent automation, or Pracuj.pl portal publishing configuration; we deliver a written inventory of these for the customer's admin to rebuild in Recruit CRM or via its integrations.
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 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.
eRecruiter
Candidate
Recruit CRM & ATS
Candidate
1:1eRecruiter Candidates migrate directly to Recruit CRM Candidates. The eRecruiter CandidateId becomes an external_id field in Recruit CRM for deduplication on re-migration. Contact details (name, email, phone, address), work experience, education, and skills tags migrate as structured fields. GDPR consent flags from eRecruiter's RODO module migrate to Recruit CRM's consent tracking fields. If the eRecruiter candidate has a Company linkage, we preserve it via a custom field until the Client record is created in Recruit CRM.
eRecruiter
Application
Recruit CRM & ATS
Application
1:1eRecruiter Applications link a Candidate to a Job and carry pipeline stage, status, rating, and notes. We migrate Application records as first-class objects in Recruit CRM, resolving the CandidateId and JobId references before writing. Pipeline stage names from eRecruiter map to Recruit CRM pipeline stages, with any custom stage labels preserved in a custom field. Custom application questions migrate as structured text fields.
eRecruiter
Job
Recruit CRM & ATS
Job
1:1eRecruiter Job postings include title, HTML description, location, department, employment type, and publication status. We migrate Jobs as independent records and deactivate them in Recruit CRM pending the customer's decision to republish. Department and location data migrate as structured fields; if Recruit CRM uses a different department taxonomy, we preserve the eRecruiter values in a custom field for manual reassignment.
eRecruiter
Company
Recruit CRM & ATS
Client
1:1eRecruiter Company entities migrate to Recruit CRM Clients (organizations in Recruit CRM's data model). ExternalId matching identifies existing clients for updates versus new record creation. Company address, industry, and size data migrate as structured Client fields. Company records linked to Candidates in eRecruiter are resolved via the Candidate-Client relationship in Recruit CRM after both objects land.
eRecruiter
User
Recruit CRM & ATS
User
1:1eRecruiter Users (recruiters with name, email, role, and department) map to Recruit CRM Users. Role naming differs between platforms, so we capture the eRecruiter role in a custom field on the Recruit CRM User for audit and reporting during the transition period. Any eRecruiter User without a matching Recruit CRM account is held in a reconciliation queue for the customer's admin to provision before record import.
eRecruiter
Department
Recruit CRM & ATS
Department
1:1Department is a referenced entity on Jobs and Users in eRecruiter. We migrate Departments as independent records if Recruit CRM treats them as such, or as structured properties on Job if Recruit CRM's schema handles department as a picklist field. The customer's Recruit CRM admin confirms the target schema during scoping.
eRecruiter
Location
Recruit CRM & ATS
Location
1:1Location data on Jobs (city, region, country) migrates as structured address components in Recruit CRM. If the destination job posting supports multi-location assignment, we create each location as a separate entry linked to the same Job.
eRecruiter
Attachment (Candidate)
Recruit CRM & ATS
Document (Candidate)
1:1Documents attached to Candidates are transferred as binary files linked to the parent Candidate record. This migration requires the Candidate record to land in Recruit CRM first, establishing the target record ID. We use the eRecruiter DocumentTypeName and Filename as metadata against the uploaded file. Orphaned attachments (where the parent Candidate was excluded from migration) are flagged and reported but not transferred.
eRecruiter
Attachment (Application)
Recruit CRM & ATS
Document (Application)
1:1Application-level attachments migrate after both the Candidate and Job parent records are present in Recruit CRM. We sequence Application document migration after the Application record itself is written and its CandidateId and JobId references are resolved. This prevents attachments from landing on records that do not yet exist in the destination.
eRecruiter
Scorecard / Rating
Recruit CRM & ATS
Custom Field
lossyStructured evaluation ratings in eRecruiter are stored as part of the Application record or as linked feedback entries. We serialize scorecard data into custom fields on the Recruit CRM Application record. The field types (number, picklist, text) are determined during the schema discovery phase and created in Recruit CRM before application migration begins.
eRecruiter
Custom Fields (Candidate + Application)
Recruit CRM & ATS
Custom Fields (Candidate + Application)
lossyBoth Candidate and Application support custom fields in eRecruiter. We discover the custom field schema during scoping, including any CV Parsing output fields that vary by template and parsing version. Recruit CRM custom fields are pre-created with type-mapped equivalents (text, number, date, picklist) before any record migration. CV Parsing fields that lack a stable schema are mapped as text fields to avoid silent type mismatches.
| eRecruiter | Recruit CRM & ATS | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Application | Application1:1 | Fully supported | |
| Job | Job1:1 | Fully supported | |
| Company | Client1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Department | Department1:1 | Fully supported | |
| Location | Location1:1 | Fully supported | |
| Attachment (Candidate) | Document (Candidate)1:1 | Fully supported | |
| Attachment (Application) | Document (Application)1:1 | Fully supported | |
| Scorecard / Rating | Custom Fieldlossy | Fully supported | |
| Custom Fields (Candidate + Application) | Custom Fields (Candidate + 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
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
Scoping and API calibration
We audit the eRecruiter portal for record counts across Candidates, Applications, Jobs, Companies, and Users. We run API calibration reads against eRecruiter's REST endpoints to measure response time, pagination behavior, and rate-limit headers. This data calibrates our chunk sizing and timeline estimate. We also receive the eRecruiter export (if available via their support team) and cross-reference it against API reads to confirm coverage. The scoping output is a written migration scope document with record counts, schema diff, and a Recruit CRM trial account setup checklist.
Schema discovery and custom field provisioning
We enumerate the custom field schemas on eRecruiter Candidates and Applications, including CV Parsing output fields. We mirror these as custom fields in Recruit CRM using type-mapped equivalents. Any CV Parsing fields with ambiguous schemas are provisioned as text fields with a naming convention that flags them for post-migration review. We create the mapping configuration file that drives the transform layer, including picklist value mapping for pipeline stages, application status, and rating fields.
Parent-record migration first pass
We run the first migration pass in dependency order: Departments and Locations (independent entities), Users (referenced by Owner on all records), Companies (Clients in Recruit CRM), Jobs (deactivated in Recruit CRM), and Candidates (primary person records). Each phase emits a row-count reconciliation report before the next phase begins. We use external_id matching to handle deduplication for Companies and Candidates that appear in both systems.
Application migration with ID resolution
Application records migrate after Candidates and Jobs are present in Recruit CRM. We resolve CandidateId and JobId references using the external_id mapping established in the first pass. Pipeline stage names from eRecruiter map to Recruit CRM pipeline stages using the configuration file. Scorecard and rating data serialize into the custom Application fields provisioned in the schema discovery phase.
Attachment migration with parent verification
We extract binary attachments from eRecruiter using the DocumentTypeName, Filename, and parent record ID. Before uploading each file to Recruit CRM, we verify the parent record ID exists in the destination. Orphaned attachments (where the parent Candidate or Application was excluded from migration) are logged and excluded. Successfully transferred attachments are linked via Recruit CRM's document attachment API and reported in the final reconciliation output.
Cutover, validation, and automation inventory delivery
We freeze writes in eRecruiter during the cutover window, run a final delta migration of any records modified during the migration window, then hand the customer a full reconciliation report comparing source counts against destination counts per object. We deliver the written inventory of eRecruiter workflow rules, RODO consent automations, and Pracuj.pl publishing configurations for the customer's admin to rebuild in Recruit CRM. We offer a one-week hypercare window for reconciliation issues; workflow rebuild, sequence setup, and Pracuj.pl republishing are outside standard scope.
Platform deep dives
eRecruiter
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 eRecruiter 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
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 Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.
Walk through your eRecruiter 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 eRecruiter
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.