HRMS migration

Migrate from Factorial to Recruit CRM & ATS

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

Factorial logo

Factorial

Source

Recruit CRM & ATS

Destination

Recruit CRM & ATS logo

Compatibility

70%

7 of 10

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

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Factorial to Recruit CRM is a cross-category migration from an HRMS to an ATS/CRM, not a like-for-like replacement. Factorial stores the employee lifecycle: profiles, contracts, compensation history, absence balances, and time entries tied to an employment relationship. Recruit CRM is purpose-built for candidate relationship management and placement tracking, with a data model centered on Candidates, Clients, Jobs, and Pipeline stages. We migrate what fits: employee profiles map to candidate records, department structures map as organizational lookups, and documents migrate as candidate attachments. We do not migrate Factorial absence records, payroll runs, compensation history, or time entries because Recruit CRM has no equivalent object. We do not migrate Factorial workflow automations, approval chains, or payroll configurations. We deliver a written inventory of these unmigratable records so the customer's admin can decide whether to archive, export to a separate HRIS, or rebuild post-cutover.

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

Factorial logo

Factorial

What's pushing teams away

  • Payroll module is widely reported as the weakest part of the platform, with limited advanced payroll features and recurring issues that force customers to rely on external payroll tools.
  • Limited customization options for reporting, workflows, and advanced HR processes leave larger or more complex organizations with unmet needs.
  • Aggressive pricing increases and deprecation of previously core modules have frustrated long-term customers, creating a sense of vendor lock-in.
  • Advanced features available only on higher tiers push customers toward competitors when their organization outgrows the entry-level functionality.

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

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

Factorial

Employee

maps to

Recruit CRM & ATS

Candidate

1:1
Fully supported

Factorial employee records map to Recruit CRM candidate records. We map name, email, phone, address, and employee status fields to their candidate equivalents. The employment status (active, on leave, terminated) does not map directly — we preserve it in a custom field original_employment_status__c on the candidate record. Department reference resolves to the Recruit CRM candidate's assigned team or department field via the department lookup. Start date and termination date map to candidate registration_date and status_change_date fields where supported, or to custom date fields.

Factorial

Department

maps to

Recruit CRM & ATS

Department (lookup)

1:1
Fully supported

Factorial departments and cost centers export as flat or nested organizational units. We preserve the parent-child hierarchy and map to Recruit CRM department records as lookup values. Any employee department assignment references the department lookup in Recruit CRM. We validate that no orphaned department references exist after import by running a referential integrity check against the employee-to-department mapping table.

Factorial

Document

maps to

Recruit CRM & ATS

Document (Candidate attachment)

1:many
Fully supported

Factorial documents attached to employees (contracts, policies, onboarding forms, payslips) migrate as files attached to the corresponding Recruit CRM candidate record. Factorial does not expose a bulk document download API, so we paginate the document list via the API and download each file individually before uploading to Recruit CRM. We flag document-heavy migrations during scoping (over 5,000 files) and set expectations for transfer time accordingly. File type and original filename are preserved in the Recruit CRM document record.

Factorial

Contract

maps to

Recruit CRM & ATS

Candidate (custom fields)

lossy
Fully supported

Factorial employment contracts include contract type, working hours, probation period, and legal entity reference. Recruit CRM has no native contract object, so we extract contract metadata (type, start date, end date, hours per week, probation status) and store it as custom fields on the candidate record. Country-specific legally required fields that cannot map directly are flagged for manual review during reconciliation.

Factorial

Custom Fields (Employees)

maps to

Recruit CRM & ATS

Custom Fields (Candidates)

lossy
Mapping required

Factorial allows arbitrary custom fields on employee profiles with no schema discovery API. We enumerate all active custom fields by querying the employee and contract endpoints during scoping discovery. Each custom field maps to a Recruit CRM candidate custom field of the matching type (text, number, date, picklist, or checkbox). Custom fields that have no Recruit CRM equivalent are flagged as unmapped and included in the handoff document for admin review.

Factorial

Absence Records

maps to

Recruit CRM & ATS

None (no equivalent)

1:1
Fully supported

Factorial absence records track balance, accrual rules, and approved leave per employee. Recruit CRM has no absence management module and no equivalent object for leave balances or accrual tracking. We do not migrate absence records. We export the absence data as a structured CSV inventory (employee, absence type, balance at migration date, accrual rule) and deliver it alongside the migration for the customer's HR admin to archive or import into a standalone HRIS if required.

Factorial

Time Entries

maps to

Recruit CRM & ATS

None (no equivalent)

1:1
Fully supported

Factorial time entries store clock-in/out timestamps, timesheets, and project or cost-center tags per employee. Recruit CRM has no time-tracking object and does not record employee work hours. We do not migrate time entries. We export a chronological CSV of historical time data (employee, date, hours, project tag, cost center) as a separate data artifact for payroll or billing reference if needed.

Factorial

Payroll Runs

maps to

Recruit CRM & ATS

None (no equivalent)

1:1
Mapping required

Factorial payroll runs are tied to country legal entity configurations and include gross salary, deductions, supplements, and net pay. Recruit CRM has no payroll module. We do not migrate payroll records. We export payroll data as structured CSV files (employee, pay period, gross, deductions, net, currency) for the customer's finance team or external payroll processor to recompute against local tax rules in the destination system.

Factorial

Compensation History

maps to

Recruit CRM & ATS

Candidate (custom fields)

1:1
Mapping required

Factorial compensation history tracks effective-dated salary changes, bonuses, and equity grants per employee. Recruit CRM has no native compensation history object, but we can store current compensation data (most recent salary, currency, bonus target) as custom fields on the candidate record if the agency uses this for internal placements or基准 salary tracking. Full historical compensation timelines export as CSV for reference.

Factorial

Workflows and Approvals

maps to

Recruit CRM & ATS

None (no equivalent)

1:1
Not supported

Factorial approval chains for time-off, expenses, and document workflows are stored as platform-specific automation objects. These have no export representation and no Recruit CRM equivalent because Recruit CRM's automation model (AI agents, workflow triggers, Kanban actions) is architecturally different. We document the existing workflow structure during discovery and deliver it as a written inventory so the customer's admin can rebuild equivalent automations in Recruit CRM's no-code workflow builder post-migration.

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.

Factorial logo

Factorial gotchas

High

No public bulk export API for documents

Medium

Custom fields are not discoverable via a schema endpoint

Medium

Payroll data is country-locked to the legal entity

Low

Workflow automation does not export

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

  • Cross-category schema gap: HRMS to ATS/CRM

    Factorial is an HRMS; Recruit CRM is an ATS/CRM. The primary record types do not align: employees (active employed persons) map to candidates (persons being recruited), but absence records, time entries, payroll runs, and compensation history have no Recruit CRM equivalent. We explicitly exclude these object types from migration scope and export them as structured CSV artifacts for the customer's admin to archive or route to a dedicated HRIS. Migrations that attempt to force these records into candidate fields result in data integrity issues and are not supported.

  • Factorial lacks a bulk document export API

    Factorial does not expose a bulk download endpoint for employee documents. We paginate the document list via the API and download each file individually, which scales linearly with document count. For archives exceeding 5,000 files, this step can take multiple days. We flag document-heavy migrations during scoping and provide a realistic timeline that includes per-file download time, not just import time. Customers with large document archives may choose to migrate only active employee documents and archive the rest separately.

  • Custom fields require manual discovery in Factorial

    Factorial allows per-customer custom field creation but provides no schema or metadata API endpoint. We must enumerate active custom fields by querying employee and contract endpoints during discovery, which adds a discovery phase before mapping can be finalized. Fields discovered late may require re-mapping after the migration design is approved. We include a custom field discovery step in every Factorial migration scope to avoid surprises during import.

  • Recruit CRM data export requires an active subscription

    Recruit CRM requires an active subscription for data export functionality. Customers planning to migrate away from Recruit CRM in the future should ensure data portability is negotiated before subscription termination. FlitStack AI can export data from Recruit CRM via its API during any active subscription period. This gotcha applies to any migration from Recruit CRM and is documented here for completeness in case the customer later considers a secondary migration target.

  • Recruit CRM reporting is constrained to preset options

    Recruit CRM's reporting module is limited to preset report templates with no fully customizable reporting builder. Customers migrating from Factorial's basic reporting may find the constraint familiar, but agencies expecting Salesforce-level pipeline analytics will need to export data to an external BI tool. We flag this limitation during scoping so expectations are set before the migration design is finalized. Migration of Factorial's custom report definitions is not supported because Recruit CRM has no equivalent report configuration model.

Migration approach

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

  1. Discovery and custom field enumeration

    We audit the Factorial account via API: employee records, department hierarchy, document count per employee, contract metadata, and any active custom fields discovered by querying employee and contract endpoints. We separate migratable objects (employees, departments, documents, contracts, custom fields) from non-migratable objects (absence records, time entries, payroll runs, compensation history, workflows) and produce a written migration scope with record counts and document volume estimates. We flag document-heavy migrations (over 5,000 files) and set expectations for the per-file download timeline.

  2. Recruit CRM sandbox setup and candidate schema design

    We provision a Recruit CRM trial or sandbox environment for migration testing. We design the candidate record schema: standard fields mapped from Factorial employee fields, custom fields created to match enumerated Factorial custom fields, and department lookups pre-populated from the Factorial department export. We validate that all required fields in Recruit CRM have values before import design begins. Contract metadata and current compensation data are designed as custom fields on the candidate record rather than native objects.

  3. Department hierarchy and lookup resolution

    We export the Factorial department structure as a flat or nested list, preserve parent-child relationships, and import into Recruit CRM as department records. We run a referential integrity check: every employee department reference in the source must resolve to a valid Recruit CRM department ID before the employee-to-candidate import begins. Orphaned department references (employees pointing to deleted Factorial departments) are held in a reconciliation queue for the customer's admin to resolve.

  4. Document download and attachment preparation

    We paginate the Factorial document list via the API and download each file individually, preserving original filenames, MIME types, and the employee record reference. Files are organized into folders keyed by candidate record (derived from the employee mapping). For large archives, we process in batches of 200 files and provide a progress report. Upload to Recruit CRM occurs after candidate records are created, using the Recruit CRM bulk import API with file attachment references resolved.

  5. Candidate record import and document attachment

    We import employee records as Recruit CRM candidates using the mapping design from step 2. Each candidate record receives its resolved department lookup, custom field values, and contract metadata fields. After candidate records are confirmed in Recruit CRM, we attach the prepared document files to each candidate record. We run row-count reconciliation against the source employee count and spot-check 25-50 records for field-level accuracy before production cutover.

  6. Cutover, handoff documentation, and non-migratable artifact delivery

    We freeze Factorial writes during the cutover window, run a delta migration of any records modified since the initial extract, then deliver the non-migratable data as structured CSV artifacts: absence records, time entries, payroll runs, compensation history, and workflow inventory. We deliver a written migration summary with record counts, unmapped field notes, and a candidate data quality report. We do not rebuild Factorial workflows in Recruit CRM; the workflow inventory document is the handoff for the customer's admin to rebuild in Recruit CRM's no-code automation builder.

Platform deep dives

Context on both ends of the pair

Factorial logo

Factorial

Source

Strengths

  • Clean, intuitive UI that reduces onboarding friction for both administrators and employees across all modules.
  • Strong time-tracking and absence management with flexible accrual rules and clear employee self-service flows.
  • Modular pricing structure allows incremental adoption without paying for unused functionality upfront.
  • Built-in compliance features tuned to Spanish, Brazilian, and Mexican labor regulations reduce payroll risk.
  • Active product development with regular module additions including IT inventory and AI-assisted workflows.

Weaknesses

  • Limited advanced payroll features force many customers to maintain a separate payroll tool or export to third-party payroll processors.
  • Reporting and analytics are constrained by available templates with limited customization for complex HR queries.
  • API documentation is sparse and bulk export capabilities are absent, making programmatic data extraction difficult without FlitStack AI.
  • Payroll module quality lags behind the rest of the platform, creating a gap in the all-in-one promise.
  • Limited customization for workflows, approval rules, and advanced HR processes beyond the core employee lifecycle.
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?

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

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Factorial 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

    C

    Factorial: 200 requests per minute for POST requests per Factorial's published API docs. GET-side limits are not separately enumerated; we tune extraction concurrency conservatively against the customer's tenant during scoping..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Factorial 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 with up to 500 employees, clean department structures, and under 5,000 documents. Factorial accounts exceeding 500 employees, heavy document archives, or complex custom field schemas move to six to ten weeks because of the per-file document download step from Factorial's API and the custom field discovery overhead. Absence records, time entries, payroll data, and compensation history are exported as CSV artifacts rather than migrated to Recruit CRM, which reduces scope compared to a like-for-like HRMS migration.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Factorial.
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