HRMS migration
Field-level mapping, validation, and rollback between PeopleForce and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.
PeopleForce
Source
Recruit CRM & ATS
Destination
Compatibility
9 of 10
objects map 1:1 between PeopleForce and Recruit CRM & ATS.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from PeopleForce to Recruit CRM is a platform-category migration: PeopleForce is a full-lifecycle HRIS built for internal employee management, while Recruit CRM is a recruitment-agency ATS built for managing candidates, clients, and placements. The migration shifts the data model from an employee-centric HRIS structure to a candidate-and-client-centric ATS structure. We map PeopleForce Employees to Recruit CRM Candidates, PeopleForce Vacancies to Recruit CRM Jobs, and PeopleForce Application records to the candidate pipeline stages in Recruit CRM. Custom fields on the Employee object transfer as candidate custom fields. Workflows, approval chains, and PeopleForce's attribute-based triggers do not migrate; we deliver a written inventory of every active workflow for your admin to rebuild in Recruit CRM's workflow builder. Recruitment data from PeopleForce PeopleRecruit migrates; general HR data (leave balances, performance reviews, onboarding checklists) is migrated as supplemental candidate profile data or flagged as out-of-scope depending on the customer's use case.
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 PeopleForce 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.
PeopleForce
Employee
Recruit CRM & ATS
Candidate
1:1PeopleForce Employee records map to Recruit CRM Candidate records. The employee's name, contact information, employment dates, and department migrate as candidate profile fields. Active Employees migrate as active Candidates with a status flag set during migration; Inactive or Offboarded Employees migrate as archived Candidates with their final status preserved. The employee's original hire_date migrates as a candidate custom field for historical reference.
PeopleForce
Employee Profile
Recruit CRM & ATS
Candidate Profile
1:1PeopleForce profile photos, bio data, emergency contacts, and skills stored as sub-objects on Employee flatten into Recruit CRM's candidate profile structure. Skills migrate as tagged skills on the candidate record. Profile photo URLs migrate as a custom field since Recruit CRM stores candidate photos differently. Emergency contacts migrate as a JSON-structured custom field or note attachment.
PeopleForce
Position
Recruit CRM & ATS
Job
1:1PeopleForce Positions capture job title, department, employment type, and effective dates. These map to Recruit CRM Jobs where the position title becomes the job title and department maps to an internal job category. The employment_type (full-time, part-time, contract) maps to Recruit CRM's job type field. Where the destination uses a different job-title schema, we apply a mapping table during transformation.
PeopleForce
Vacancy (PeopleRecruit)
Recruit CRM & ATS
Job
1:1PeopleForce PeopleRecruit Vacancies (open positions with job descriptions, requirements, and posting configurations) map to Recruit CRM Jobs. The vacancy title, description, requirements, and status migrate as job fields. Active vacancies migrate as open jobs; closed vacancies migrate as archived jobs. Multiposting configurations and job board connections do not transfer and require reconfiguration in Recruit CRM's job distribution settings.
PeopleForce
Application (PeopleRecruit)
Recruit CRM & ATS
Candidate + Pipeline Stage
1:1PeopleForce PeopleRecruit Application records map to Recruit CRM candidate pipeline entries. Each application maps to a candidate record with the application status (applied, screening, interview, offer, hired, rejected) mapped to the corresponding Recruit CRM pipeline stage. Application timestamps, source (referral, job board, direct), and interview scorecards migrate as activity or custom fields on the candidate.
PeopleForce
Custom Fields (Employee)
Recruit CRM & ATS
Custom Fields (Candidate)
1:1PeopleForce custom fields on the Employee object migrate to Recruit CRM custom fields on the Candidate object. We inventory all active custom fields during discovery, map their data types (text, number, date, dropdown) to Recruit CRM equivalents, and migrate custom field values as structured candidate attributes. Custom fields that reference other Employee sub-objects require manual mapping during scoping.
PeopleForce
Documents
Recruit CRM & ATS
Candidate Documents
1:1Employee documents (contracts, ID copies, certifications) stored per PeopleForce Employee record migrate as candidate documents in Recruit CRM. Document metadata (filename, upload date, document type) transfers; actual file content migrates where accessible via PeopleForce API or export. We note that file attachments may require re-upload in Recruit CRM if the API returns URLs rather than binary content. Document categorization (contract vs. ID vs. certification) maps to Recruit CRM's document type taxonomy.
PeopleForce
Kudos / Recognition
Recruit CRM & ATS
Note (Supplemental)
1:1PeopleForce recognition records (Kudos given between employees with timestamps and messages) migrate as historical supplemental records. Recruit CRM does not have a native recognition module, so kudos migrate as internal notes on the candidate profile or as a custom activity type. We document the limitation so the customer can decide whether to include recognition history in the candidate profile or store it separately.
PeopleForce
Workflows
Recruit CRM & ATS
Workflows (rebuild required)
lossyPeopleForce custom triggers and automated sequences built on the workflow engine with employee profile attributes and key dates do not migrate as code. We document every active workflow during discovery: trigger conditions, attribute-based rules, automated actions, and resulting status changes. The inventory is delivered as a written specification for the customer to rebuild in Recruit CRM's workflow builder post-migration.
PeopleForce
Leave Policies
Recruit CRM & ATS
Out of scope / Note
1:1PeopleForce leave policies, accrual rules, and leave balances are HR-specific data that has no direct equivalent in Recruit CRM's recruitment-focused data model. Leave data is migrated as supplemental candidate profile data only if the agency's workflow requires leave-related context on the candidate. Otherwise, leave policies and balances are flagged as out-of-scope and the customer manages leave in a separate HR system post-migration.
| PeopleForce | Recruit CRM & ATS | Compatibility | |
|---|---|---|---|
| Employee | Candidate1:1 | Fully supported | |
| Employee Profile | Candidate Profile1:1 | Fully supported | |
| Position | Job1:1 | Fully supported | |
| Vacancy (PeopleRecruit) | Job1:1 | Fully supported | |
| Application (PeopleRecruit) | Candidate + Pipeline Stage1:1 | Fully supported | |
| Custom Fields (Employee) | Custom Fields (Candidate)1:1 | Fully supported | |
| Documents | Candidate Documents1:1 | Mapping required | |
| Kudos / Recognition | Note (Supplemental)1:1 | Mapping required | |
| Workflows | Workflows (rebuild required)lossy | Mapping required | |
| Leave Policies | Out of scope / Note1:1 | 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.
PeopleForce gotchas
Administrator-only data export gate
No native payroll module
300 req/min API rate limit on IP
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
Discovery and data audit
We audit the source PeopleForce account across modules in scope (general HR, PeopleRecruit, or both), active custom fields, workflow count and complexity, and record volume per object type. We confirm whether the migration covers employee data only, recruitment data only, or both modules. We review the PeopleForce API endpoints available for extraction, identify any admin-gated exports, and confirm the timeline with the customer's PeopleForce subscription end date to avoid export disruptions.
Schema mapping and candidate model design
We design the destination schema in Recruit CRM based on the migration scope. For recruitment-focused migrations, we provision the candidate, client, contact, job, and pipeline stage structure. For HR-to-ATS migrations, we map PeopleForce Employees to Recruit CRM Candidates, with position titles aligned to job categories and employee attributes mapped to candidate custom fields. We document any PeopleForce objects without a Recruit CRM equivalent (leave policies, performance reviews, workflows) as out-of-scope or supplemental notes.
API extraction with rate-limit handling
We extract data from PeopleForce using the REST API with the 300 request-per-minute IP-based rate limit enforced. We implement exponential backoff on 429 responses, batch requests to stay within the limit, and paginate through large record sets systematically. For records requiring admin-level access (export validation), we coordinate with the customer's PeopleForce admin to provide elevated API credentials. Data is staged in a secure intermediate environment before transformation begins.
Data transformation and field mapping
We transform PeopleForce records into Recruit CRM's data model. Employee records become Candidates with status flags; Position titles map to Job categories; Application records map to pipeline stages. Custom field values are type-checked and mapped to Recruit CRM's equivalent custom field types. Kudos and recognition records are formatted as supplemental candidate notes or custom activity entries. Workflow configurations are documented as a written specification, not transformed into code.
Staging import and reconciliation
We run a staging import into a Recruit CRM sandbox or trial account using the transformed dataset. The customer's recruitment leads reconcile record counts, spot-check 20-30 candidate and job records against the PeopleForce source, and validate that custom field data landed correctly. Any mapping corrections are applied to the transformation scripts before the production import begins.
Production migration, cutover, and handoff
We run the production migration in record-dependency order: Jobs (first, as candidates attach to jobs), then Candidates, then pipeline stage entries, then custom field data, then documents. We freeze PeopleForce writes during the cutover window, run a final delta migration of any records modified during the window, and enable Recruit CRM as the system of record. We deliver the workflow inventory document and support a five-day post-migration window for reconciliation issues. We do not rebuild PeopleForce workflows in Recruit CRM; that work is documented for the customer's admin to complete separately.
Platform deep dives
PeopleForce
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 PeopleForce 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
PeopleForce: 300 requests per minute per requesting IP address.
Data volume sensitivity
PeopleForce 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 PeopleForce to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.
Walk through your PeopleForce 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 PeopleForce
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.