HRMS migration

Migrate from eRecruiter to Recruit CRM & ATS

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 logo

eRecruiter

Source

Recruit CRM & ATS

Destination

Recruit CRM & ATS logo

Compatibility

82%

9 of 11

objects map 1:1 between eRecruiter and Recruit CRM & ATS.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

eRecruiter logo

eRecruiter

What's pushing teams away

  • Reporting granularity does not support job-level breakdowns — users cannot slice recruitment metrics by seniority or job level, only by department and location.
  • Pricing is not publicly published, requiring a sales contact for every budget estimate, which slows down procurement and comparison shopping.
  • Limited bulk export options — the platform lacks a native CSV export for all candidate records, making data portability dependent on API workarounds.
  • Some users report that the platform lacks certain ATS features expected at scale, prompting migration to more comprehensive solutions like Greenhouse or Lever.
  • The Polish-market focus means limited documentation and community resources in English, creating friction for international HR teams.

Choosing

Recruit CRM & ATS logo

Recruit CRM & ATS

What's pulling them in

  • Agencies choose Recruit CRM for its full customizability — pipelines, stages, and fields can be tailored to any recruitment workflow without developer involvement.
  • Small teams value the built-in CRM and ATS combined in one subscription, eliminating the need to purchase and sync separate systems.
  • The Chrome extension for one-click LinkedIn profile collection streamlines candidate sourcing and reduces manual data entry for recruiters.
  • Responsive customer support with fast issue resolution is consistently cited as a reason teams stick with the platform long-term.
  • Automation options including email sequences and workflow triggers allow recruitment agencies to reduce repetitive manual outreach tasks.

Object mapping

How eRecruiter objects map to Recruit CRM & ATS

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

maps to

Recruit CRM & ATS

Candidate

1:1
Fully supported

eRecruiter 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

maps to

Recruit CRM & ATS

Application

1:1
Fully supported

eRecruiter 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

maps to

Recruit CRM & ATS

Job

1:1
Fully supported

eRecruiter 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

maps to

Recruit CRM & ATS

Client

1:1
Fully supported

eRecruiter 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

maps to

Recruit CRM & ATS

User

1:1
Fully supported

eRecruiter 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

maps to

Recruit CRM & ATS

Department

1:1
Fully supported

Department 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

maps to

Recruit CRM & ATS

Location

1:1
Fully supported

Location 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)

maps to

Recruit CRM & ATS

Document (Candidate)

1:1
Fully supported

Documents 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)

maps to

Recruit CRM & ATS

Document (Application)

1:1
Fully supported

Application-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

maps to

Recruit CRM & ATS

Custom Field

lossy
Fully supported

Structured 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)

maps to

Recruit CRM & ATS

Custom Fields (Candidate + Application)

lossy
Fully supported

Both 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.

Gotchas + challenges

What specifically takes care here

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 logo

eRecruiter gotchas

High

No native bulk candidate export endpoint

Medium

Documents require linked parent records

Medium

CV Parsing output requires field mapping

Low

Pricing requires direct sales contact

Recruit CRM & ATS logo

Recruit CRM & ATS gotchas

High

API rate limits are license-scaled and can throttle bulk migration

Medium

Custom field schemas vary per organization and require field-level mapping

Medium

Files and email attachments require separate extraction and re-upload

Low

Email sequences and automation logic do not transfer between platforms

Pair-specific challenges

  • No bulk export endpoint extends read time

    eRecruiter does not expose a bulk CSV or JSON export for candidates, applications, or jobs. All reads must go through the REST API on a per-record or small-batch basis. For large datasets, this extends migration timeline estimates significantly because pagination and concurrent read limits constrain throughput. We mitigate this by implementing concurrent API reads with exponential backoff, pre-scoping record counts to calibrate chunk sizing, and scheduling large-volume migrations during off-peak hours to maximize available API headroom.

  • Attachment transfer requires parent-record sequencing

    Candidate and Application attachments in eRecruiter are resolved via DocumentTypeName, Filename, and the parent record's ID. Recruit CRM's document upload requires the parent record to exist in the destination first. We must migrate Candidates before their documents, and Applications before their documents, and we must verify that the target record IDs in Recruit CRM match the parent references before transferring binary files. Attachments whose parent records were excluded from migration (duplicate records, inactive candidates) are flagged and excluded.

  • CV Parsing fields lack stable schema

    eRecruiter's CV Parsing extracts structured data from resumes and stores it as candidate profile fields, but field names and structures vary by CV template and parsing version. We treat all parsed CV fields as custom fields and validate the Recruit CRM custom field schema before writing. Any fields that cannot be safely typed (ambiguous dates, unstructured text blobs) migrate as plain text fields. The customer's Recruit CRM admin reviews and re-categorizes these post-migration if needed.

  • Pracuj.pl integration does not migrate

    eRecruiter's deep Pracuj.pl portal integration for job publishing and candidate sourcing is platform-specific and has no equivalent in Recruit CRM. Job postings that were published to Pracuj.pl via eRecruiter must be manually re-created in Recruit CRM or published through Recruit CRM's own job board integrations. We include a written inventory of all active Pracuj.pl job postings as part of the migration deliverable for the customer to republish manually.

Migration approach

Six steps for a successful eRecruiter to Recruit CRM & ATS data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

eRecruiter logo

eRecruiter

Source

Strengths

  • Market-leading ATS in Poland with strong brand recognition among Polish employers and HR teams.
  • Native GDPR and RODO compliance features including consent tracking, data retention, and candidate rights management.
  • REST API with JSON/XML support and an official .NET client library maintained on GitHub.
  • Deep Pracuj.pl integration for job board publishing and candidate sourcing within the Polish market.
  • HR Marketplace ecosystem provides access to complementary HR tools without leaving the platform.

Weaknesses

  • No publicly documented bulk export endpoint — data portability relies on per-record API reads or custom scripting.
  • Reporting does not support job-level segmentation; metrics cannot be filtered by job level or seniority tier.
  • Pricing is opaque — no public tiers, no per-user rate, requiring direct sales contact for every quote.
  • English-language documentation and community resources are limited compared to international ATS platforms.
  • Platform is strongly oriented toward the Polish market, which may limit suitability for pan-European or global HR teams.
Recruit CRM & ATS logo

Recruit CRM & ATS

Destination

Strengths

  • Fully customizable pipelines, stages, and fields without requiring developer involvement
  • Combines recruitment CRM and ATS in one subscription for staffing agencies and small teams
  • Built-in email sequences and automation reduce manual outreach work
  • Chrome extension enables one-click LinkedIn profile collection directly into the CRM
  • Responsive customer support cited across multiple reviews with fast resolution times

Weaknesses

  • Several features are gated as paid add-ons rather than included in the base subscription
  • Email functionality has been reported as unreliable by multiple users
  • Interface occasionally lags during high-activity periods in large pipelines
  • Pricing is considered higher than comparable recruitment CRMs by some customers
  • Limited native reporting — users request pre-made report exports rather than manual data pulls

Complexity grading

How hard is this migration?

Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across eRecruiter and Recruit CRM & ATS.

  • Object compatibility

    B

    1 of 7 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    eRecruiter: Not publicly documented.

  • Data volume sensitivity

    B

    eRecruiter doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your eRecruiter to Recruit CRM & ATS migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about eRecruiter to Recruit CRM & ATS data migrations

Answers to the questions buyers ask most during eRecruiter to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most migrations land between three and five weeks for accounts under 5,000 candidates and 500 applications with no complex CV Parsing schemas. Migrations with large application histories (over 10,000 records), multiple active job pipelines, or CV Parsing fields requiring extensive normalization extend to six to ten weeks because eRecruiter's per-record API reads reduce throughput and we must sequence attachment migration after parent records are confirmed in the destination.

Adjacent paths

Related migrations to explore

Ready when you are

Move from eRecruiter.
Land in Recruit CRM & ATS, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day