HRMS migration

Migrate from HR-ON to Recruit CRM & ATS

Field-level mapping, validation, and rollback between HR-ON and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.

HR-ON logo

HR-ON

Source

Recruit CRM & ATS

Destination

Recruit CRM & ATS logo

Compatibility

55%

6 of 11

objects map 1:1 between HR-ON and Recruit CRM & ATS.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

HR-ON and Recruit CRM serve different primary functions: HR-ON manages employee records, document workflows, and onboarding for small to mid-sized organizations in German-speaking markets, while Recruit CRM is an ATS and recruitment CRM built for staffing and recruitment agencies managing candidates, job orders, and client relationships across 100+ countries. Migrating from HR-ON to Recruit CRM is not a simple record transfer—it requires transforming a general HR employee data model (with org metadata in systemFields) into a recruitment-specific model centered on Candidates, Clients, Jobs, and Placements. We extract employee records individually via HR-ON's per-record API, normalize all date formats to ISO 8601, map custom employee properties to candidate custom fields, and reconstruct organizational relationships within Recruit CRM's client and candidate structures. Document templates migrate as metadata associations with manual relinking flagged for the customer's admin post-migration. Workflows, automations, and document generation templates do not migrate as code.

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

HR-ON logo

HR-ON

What's pushing teams away

  • Conflicting public reporting on API availability — some sources say HR-ON has an open API while others state HR-ON Recruit specifically does not. Buyers needing certainty on programmatic access must confirm with HR-ON directly before contracting.
  • Suite plan at €317/month is materially more expensive than Recruit at €167/month — companies that only need ATS functionality may find the upsell to the full Suite expensive.
  • European focus means thinner partner network in North America and APAC compared with global HRIS providers.
  • Reporting and analytics depth lag mid-market HRIS leaders like BambooHR and HiBob.
  • Recruiting-focused entry point means HR-ON requires the Suite tier to cover onboarding and ongoing HR processes.

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 HR-ON objects map to Recruit CRM & ATS

Each row shows how a HR-ON 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.

HR-ON

Employee

maps to

Recruit CRM & ATS

Candidate

1:1
Fully supported

HR-ON Employee records map to Recruit CRM Candidate records. Standard employee properties (firstName, lastName, email, phone, hireDate, department) map to Candidate's corresponding fields. HR-ON's systemFields containing organizational metadata (department, manager, location) are parsed and stored in Candidate custom fields for reference. We use HR-ON's POST /v1/staff/employees endpoint with JWT auth to retrieve records individually and resolve any existing candidate records in Recruit CRM by email deduplication before insert.

HR-ON

Custom Fields (Employee)

maps to

Recruit CRM & ATS

Candidate Custom Fields

1:1
Fully supported

HR-ON custom properties on Employee records that lack a standard Candidate field equivalent map to Recruit CRM's custom fields on the Candidate object. We extract all non-systemFields from HR-ON, validate data types (text, number, date, single-select map cleanly; multi-select requires configuration in Recruit CRM), and flag any with incompatible formats. The customer's admin reviews the custom field schema in Recruit CRM before migration to confirm field creation and data type assignment.

HR-ON

Organizational Structure (systemFields)

maps to

Recruit CRM & ATS

Company / Client

lossy
Fully supported

HR-ON stores department and organizational hierarchy metadata within systemFields on Employee records rather than as separate objects. We extract these values, deduplicate departments into Company or Client records in Recruit CRM, and link each Candidate to their employing Client. If HR-ON tracks multiple employers or organizational units, we create separate Client records and resolve the Candidate-to-Client relationship at migration time using the department field as the linking key.

HR-ON

Document Templates

maps to

Recruit CRM & ATS

Candidate Document (attachment metadata)

1:1
Mapping required

HR-ON document templates with name, description, documentType, dateFormat, and language (da_DK, en_US) are exported as metadata associations rather than migrated as functional templates. Recruit CRM stores candidate documents as file attachments linked to the Candidate record. We export each document's template name, language, and dateFormat as metadata fields on the attachment record and flag the customer for manual relinking of any document types that require template recreation in Recruit CRM's document generation tool.

HR-ON

User

maps to

Recruit CRM & ATS

User

1:1
Fully supported

HR-ON user accounts map to Recruit CRM User records for team members who will access the recruitment platform. Role and permission structures differ between HR-ON and Recruit CRM; HR-ON role definitions do not map directly to Recruit CRM's permission model. We extract user email, name, and status, and flag the customer to configure Recruit CRM User roles and access levels post-migration based on their recruitment team structure.

HR-ON

Language Preferences (Employee)

maps to

Recruit CRM & ATS

Candidate Language Preference

1:1
Fully supported

HR-ON stores language preference at da_DK (Danish) and en_US (English) per template and employee. We carry these through to a Candidate custom field (preferred_language__c) in Recruit CRM to preserve locale context for candidate communications, job board postings, and localized email templates. This is especially relevant for organizations migrating from Danish-market HR-ON to Recruit CRM for English-language or multi-language recruitment.

HR-ON

Date Metadata

maps to

Recruit CRM & ATS

Candidate Date Fields

lossy
Mapping required

HR-ON stores dates in four distinct formats depending on locale and template settings: DD-MM-YYYY, DD/MM/YYYY, YYYY-MM-DD, or written form (July 20, 2021). We parse and normalize all date values to ISO 8601 during extraction and validate against Recruit CRM's expected date field formats before loading. This includes hireDate, startDate, documentDate, and any custom date fields on Employee records.

HR-ON

Job Posting Data (if applicable)

maps to

Recruit CRM & ATS

Job

lossy
Fully supported

HR-ON does not have a native Job or Position object; however, if HR-ON tracks open roles or requisitions within employee systemFields or related records, we extract these as Candidate-to-Job associations in Recruit CRM. For organizations using HR-ON for internal hiring alongside employee management, we reconstruct the hiring pipeline as Recruit CRM Job records linked to Candidates in relevant pipeline stages.

HR-ON

Engagement / Activity History

maps to

Recruit CRM & ATS

Candidate Activity / Notes

1:1
Fully supported

If HR-ON stores engagement history (onboarding tasks, document completion events, status updates) on Employee records, we extract these as Activity records or Notes attached to the corresponding Candidate in Recruit CRM. HR-ON's engagement scope is narrower than a full CRM activity timeline; we map onboarding milestones and document events to Candidate Notes for audit continuity.

HR-ON

None (new object)

maps to

Recruit CRM & ATS

Client

lossy
Fully supported

Recruit CRM distinguishes between Clients (organizations the agency places candidates with or serves) and Candidates (job seekers). HR-ON has no equivalent to the Client object. We create Client records during migration based on HR-ON department and organizational unit data, or leave Client creation for the customer's admin to configure post-migration if their use case involves external clients rather than internal organizational units.

HR-ON

None (new object)

maps to

Recruit CRM & ATS

Pipeline / Stage

lossy
Fully supported

Recruit CRM's recruitment pipeline (Applied, Screening, Interview, Offer, Hired, Rejected) has no direct HR-ON equivalent because HR-ON does not manage candidate hiring pipelines. We configure a default pipeline structure in Recruit CRM during migration setup, with the customer's admin defining custom stages that reflect their recruitment process. The pipeline configuration is delivered as a written specification for admin setup.

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.

HR-ON logo

HR-ON gotchas

High

No bulk export endpoint forces sequential reads

Medium

Date format normalization required before import

Low

Language-specific document types may not map directly

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

  • HR-ON lacks a bulk export endpoint—sequential API reads required

    HR-ON's REST API v1 does not expose a bulk export or batch read endpoint. We must retrieve employee records individually via GET/POST calls to /v1/staff/employees using JWT authentication. For large employee bases (500+ records), this extends migration timelines and requires chunked request handling with retry logic for rate-limited responses. We mitigate by batching in groups of 50 records and implementing exponential backoff, but organizations with thousands of records should plan for extended extraction phases within the overall migration timeline.

  • Date format normalization across four distinct patterns

    HR-ON stores dates in four distinct formats depending on locale and template settings: DD-MM-YYYY, DD/MM/YYYY, YYYY-MM-DD, and written form (July 20, 2021). Recruit CRM expects consistent date formats in standard fields. We parse and normalize all date values to ISO 8601 during extraction, but records with ambiguous date values (e.g., 06-07-2021 could be June 7 or July 6 depending on locale) require customer validation during the scoping phase to confirm the correct interpretation before migration.

  • Document template associations require manual relinking

    HR-ON document templates include language variants (da_DK, en_US) and dateFormat metadata. Recruit CRM does not replicate HR-ON's document generation template model. We export document metadata (template name, language, dateFormat, associated employee) as attachment metadata on the Candidate record and flag each document for the customer's admin to manually recreate template associations in Recruit CRM's document tools post-migration. Documents stored as binary blobs or PDF links are preserved as file attachments linked to the relevant Candidate.

  • Organizational structure embedded in systemFields requires reconstruction

    HR-ON stores organizational metadata (department, reporting line, business unit) within systemFields on Employee records rather than as separate objects. Recruit CRM separates organizational context into Client and Company objects with Contact roles. We extract HR-ON systemFields, deduplicate departments into Recruit CRM Client records, and link Candidates to the appropriate Client. However, complex multi-level hierarchies in HR-ON may not map cleanly to Recruit CRM's flatter organizational model without manual restructuring during scoping.

Migration approach

Six steps for a successful HR-ON to Recruit CRM & ATS data migration

  1. Scoping and data audit

    We extract a representative sample (50-100 records) from HR-ON via the POST /v1/staff/employees endpoint using JWT authentication to map the actual field inventory, identify custom properties, and assess systemFields usage for organizational metadata. We audit date format distributions, language variant prevalence, and document template types across the sample. We pair this with a Recruit CRM sandbox setup to confirm the target schema and identify any required custom field creation. The scoping output is a written migration scope with field mapping, date normalization strategy, and document relinking requirements.

  2. Date normalization and data cleansing

    We process all employee records from HR-ON in batches of 50 using the sequential API read pattern. During extraction, we parse date fields using locale-aware logic based on the employee record's language setting and the template dateFormat value, normalizing all dates to ISO 8601. We deduplicate organizational units extracted from systemFields into a candidate Client list and flag any ambiguous date values for customer validation. Custom properties with incompatible data types (e.g., multi-select vs. text) are flagged and resolved according to the customer's preference during the staging review.

  3. Schema design and Recruit CRM preparation

    We configure the Recruit CRM target schema based on the scoping findings. This includes creating custom fields on the Candidate object to receive HR-ON custom properties and systemField-derived data, creating Client records from extracted organizational units, and configuring a default recruitment pipeline with stages (Applied, Screening, Interview, Offer, Hired). We deploy schema changes to a Recruit CRM sandbox environment for validation before production migration begins. User role configuration is documented separately for the customer's admin to complete post-migration.

  4. Sandbox migration and staging validation

    We run a full migration into the Recruit CRM sandbox using production-equivalent record volume. The customer reviews 25-50 randomly sampled Candidate records, validates the accuracy of mapped fields, confirms date normalization, and checks that document metadata associations are preserved. Any mapping corrections are made in the staging environment before the production migration begins. The customer signs off on the staging validation report before we proceed to production.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Client records (from HR-ON organizational units) are created first, followed by Candidate records with resolved Client associations, document attachment metadata, and activity history from HR-ON engagement records. Each phase emits a row-count reconciliation report showing records extracted, records loaded, and any records flagged for manual review. We freeze write access to HR-ON during the production migration window to prevent new record creation that would be missed in the final delta.

  6. Cutover, validation, and handoff

    We run a final delta migration for any records created or modified during the production migration window, then enable Recruit CRM as the system of record. We deliver a written document specifying the document template relinking steps for the customer's admin to complete, a user role configuration guide, and a pipeline stage customization recommendation. We support a one-week hypercare window to resolve any data reconciliation issues. We do not rebuild HR-ON workflows or automations in Recruit CRM as these require rebuilding in Recruit CRM's automation builder by the customer's admin.

Platform deep dives

Context on both ends of the pair

HR-ON logo

HR-ON

Source

Strengths

  • REST API at api.hr-on.com with documented endpoints for employees and document templates.
  • Supports multi-language document generation with Danish and English locale handling.
  • Structured systemFields on Employee records provide consistent metadata for extraction.
  • JWT authentication enables programmatic access without complex OAuth flows.
  • 4.6 rating on G2 with user praise for ease of use and helpful HR features.

Weaknesses

  • No publicly documented bulk export endpoint; data retrieval depends on per-record API calls.
  • Limited object types beyond Employees and Document Templates, reducing migration scope options.
  • Small market presence (34 G2 reviews) means less community knowledge and fewer migration guides.
  • No Wikipedia article indicates limited public documentation depth compared to major HRMS platforms.
  • Danish-market focus means English documentation and support resources are less comprehensive.
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 HR-ON 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

    HR-ON: Not publicly documented..

  • Data volume sensitivity

    B

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

Estimator

Estimate your HR-ON 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 HR-ON to Recruit CRM & ATS data migrations

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

Can't find your answer?

Walk through your HR-ON 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 organizations with under 500 employee records and straightforward custom field schemas. Migrations with extensive custom properties on employee records, multi-format date cleanup across large datasets, or organizational structure reconstruction requiring Client and Company object setup move to seven to ten weeks. The sequential per-record API reads required by HR-ON's lack of a bulk export endpoint add time for large employee bases that would not apply to platforms with bulk endpoints.

Adjacent paths

Related migrations to explore

Ready when you are

Move from HR-ON.
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