HRMS migration
Field-level mapping, validation, and rollback between PeopleForce and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
PeopleForce
Source
BambooHR
Destination
Compatibility
8 of 10
objects map 1:1 between PeopleForce and BambooHR.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from PeopleForce to BambooHR is a platform consolidation that flattens a layered source object model onto a simpler destination structure. PeopleForce stores employee data across the Employee object, linked Profile and Position sub-objects, and separate Compensation and Employment history records. BambooHR uses a single Employee record with tabbed sections for job info, time off, and benefits. We resolve Position and Compensation multi-record dependencies at migration time, normalize job titles against BambooHR's allowed values, and migrate Leave balances and request history as transactional records. Custom fields from PeopleForce map to BambooHR custom fields created before import. PeopleForce Workflow configurations, PeopleRecruit vacancy pipelines, Kudos records, and audit trail data do not migrate as platform-specific artifacts; we deliver a written inventory of each for your admin to rebuild or reconfigure in BambooHR.
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 BambooHR, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
PeopleForce
Employee
BambooHR
Employee
1:1PeopleForce Employee records map directly to BambooHR Employee. The core fields (first name, last name, email, hire date, termination date, employment status, work phone, mobile phone) transfer directly. We flag that BambooHR stores some job-related fields (department, job title, location) on the Employee record rather than in linked objects, so we flatten the Position fields into the appropriate BambooHR Employee tab during import. Active and inactive status maps to BambooHR's employment status field with hire date and termination date preserved for historical records.
PeopleForce
Employee Profile
BambooHR
Employee (Personal tab)
1:1PeopleForce Profile stores photo, bio data, emergency contacts, and skills as structured sub-objects. We flatten these into the BambooHR Employee personal information section. Emergency contact name, relationship, and phone number transfer to BambooHR's emergency contact fields. Profile photos migrate as file attachments linked to the Employee record. Skills migrate to BambooHR custom fields if the customer has defined them, or to a supplemental import file if BambooHR's standard fields do not accommodate the skill taxonomy.
PeopleForce
Position
BambooHR
Employee (Job Information tab)
1:manyPeopleForce Positions capture job title, department, employment type, and effective dates per employee with historical versions stored as separate linked records. BambooHR stores current job title and department directly on the Employee record with an optional Job History table for prior positions. We take the most recent Position record as the current job info, populate BambooHR's department and job title fields, and create a Job History entry for each prior position. Where multiple Position records exist for the same effective date range (a PeopleForce data anomaly), we use the most recently modified record and flag the conflict in the reconciliation report.
PeopleForce
Leave Policy and Requests
BambooHR
Time Off
1:1PeopleForce Leave Policies with accrual rules and Leave Requests with approval status transfer to BambooHR Time Off. We migrate the current leave balance for each employee as an opening balance in BambooHR and the historical leave request records as approved time-off entries with dates, type, and status. Policy definitions (accrual rates, carryover rules, policy names) are inventoried and documented for manual reconfiguration in BambooHR Time Off Settings because accrual calculation logic is platform-specific and cannot be migrated as executable rules.
PeopleForce
Performance Reviews
BambooHR
Performance
1:1Completed PeopleForce review cycles and submitted review feedback migrate as historical records. Review scores, competency ratings, and reviewer comments transfer to BambooHR's Performance module as completed review entries linked to the employee. PeopleForce's configurable review form builder questions, scales, and weighting configurations are documented in a written review-form inventory because the form builder itself does not export. The customer's BambooHR admin rebuilds review templates using BambooHR's custom review cycle builder post-migration.
PeopleForce
Documents
BambooHR
Files (Employee Attachments)
1:1PeopleForce employee documents (contracts, ID copies, certifications) stored per employee record migrate as file attachments to the corresponding BambooHR Employee record. We extract document metadata (filename, upload date, file type) and the binary content via the PeopleForce API or admin export. The document is reattached to the BambooHR Employee file section. File naming conventions from PeopleForce are preserved to aid retrieval after migration. Any documents stored outside the employee record (org-level templates) are inventoried separately.
PeopleForce
Compensation Records
BambooHR
Employee (Compensation tab) or custom fields
1:1PeopleForce stores compensation as linked records (salary, bonus, equity, effective dates) per employee. BambooHR's Pro plan includes Compensation Management with benchmarking and planning; Core lacks native compensation storage. For Core-tier destinations, we migrate compensation data to a custom fields structure (salary amount, salary effective date, bonus amount, bonus effective date, currency) that the customer's admin configures before import. For Pro-tier or higher destinations, we map compensation records to the native Compensation Management module.
PeopleForce
Employment History
BambooHR
Employee (Job History tab)
1:1PeopleForce employment history records (prior job titles, department changes, employment type changes) migrate to BambooHR Job History entries. Each history record includes the effective date, job title, department, and employment type. Employment type changes (full-time to part-time, contractor conversion) are captured as separate Job History entries with effective dates. We sort entries by effective date before import to maintain chronological order in BambooHR's Job History timeline.
PeopleForce
Kudos / Recognition
BambooHR
Supplemental table (Employee Experience)
1:1PeopleForce Kudos given between employees with timestamps and optional messages migrate to a supplemental import file that the customer can load into BambooHR's Employee Experience module if that module is active. BambooHR's Employee Experience (Pro+ tier) includes recognition features that can accommodate kudos-style entries. If the customer does not have Employee Experience enabled, we document the kudos data in a CSV deliverable with employee names, kudos sender, message, and timestamp for manual re-entry or future Employee Experience activation.
PeopleForce
Custom Fields
BambooHR
Custom Fields
lossyPeopleForce custom fields on the Employee object are inventoried during discovery with their data types (text, number, date, dropdown, checkbox). We pre-create matching custom fields in BambooHR using the Custom Field Builder (available from Core tier) before employee data import. Dropdown custom fields require a value-mapping table if the PeopleForce dropdown options do not match BambooHR's allowed values. Boolean and checkbox fields migrate directly. Any PeopleForce custom fields containing protected personal information (SSN, bank details) are flagged and excluded from migration per data protection policy.
| PeopleForce | BambooHR | Compatibility | |
|---|---|---|---|
| Employee | Employee1:1 | Fully supported | |
| Employee Profile | Employee (Personal tab)1:1 | Fully supported | |
| Position | Employee (Job Information tab)1:many | Fully supported | |
| Leave Policy and Requests | Time Off1:1 | Fully supported | |
| Performance Reviews | Performance1:1 | Mapping required | |
| Documents | Files (Employee Attachments)1:1 | Mapping required | |
| Compensation Records | Employee (Compensation tab) or custom fields1:1 | Fully supported | |
| Employment History | Employee (Job History tab)1:1 | Fully supported | |
| Kudos / Recognition | Supplemental table (Employee Experience)1:1 | Mapping required | |
| Custom Fields | Custom Fieldslossy | Mapping required |
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
BambooHR gotchas
Undocumented API rate limits can trigger 503 errors
Per-employee pricing model requires active record count verification
API credentials must be sent on every request to avoid extra round trips
Custom field schema varies per account and requires manual inventory
Document and attachment exports are not covered by standard report exports
Pair-specific challenges
Migration approach
Discovery and data audit
We audit the PeopleForce tenant across employees, positions, compensation records, leave policies, review cycles, and custom fields. We identify record volume per object, any duplicate position records per employee, and active PeopleForce workflows and PeopleRecruit vacancy pipelines. We confirm the BambooHR destination edition (Core, Pro, or Elite) because compensation storage, performance reviews, and Employee Experience availability differ by tier. The discovery output is a written data inventory and a BambooHR edition recommendation if the customer has not yet subscribed.
Custom field and job title pre-configuration
We create all required custom fields in BambooHR before employee data import. For Core-tier destinations, this includes compensation-related custom fields (salary amount, salary effective date, bonus, currency). We also create any job title and department values that do not already exist in BambooHR's allowed value lists. BambooHR requires that dropdown values exist in the field definition before records with those values can be saved, so this step must complete before any employee data is loaded.
Sandbox migration and reconciliation
We run a full migration into a BambooHR test account using production-like data volume. The customer's HR lead reconciles record counts (employees in, positions in, leave balances set, documents attached), spot-checks 25-50 random employee records against PeopleForce source data, and validates that job titles, departments, and employment dates match. Any mapping corrections and any PeopleForce records without a clear BambooHR destination field are resolved here before production migration begins.
Compensation and position resolution
We apply the Position resolution rule to identify the canonical current job title for each employee and generate the Job History entries for prior titles. For compensation data, we map PeopleForce compensation records to either BambooHR custom fields (Core) or the native Compensation Management module (Pro+). We set leave balance opening balances and generate historical time-off entries from PeopleForce leave request records. Each resolved employee record is staged in a migration buffer before the production import batch.
Production migration in dependency order
We run production migration in record-dependency order: Employees (with current job info from the resolved Position), Documents (as file attachments), Leave balances and history, Compensation (to custom fields or native module), Job History entries, Performance review records, Kudos (to supplemental file or Employee Experience). Each phase emits a row-count reconciliation report. We apply the PeopleForce API rate-limit pacing throughout extraction to avoid throttling. Any records rejected during import (due to missing required fields or invalid dropdown values) are logged and retried after the customer resolves the underlying data issue.
Cutover, validation, and inventory handoff
We freeze PeopleForce write access during cutover, run a final delta migration of records modified during the migration window, then mark BambooHR as the system of record. We deliver the Workflow inventory (PeopleForce workflows and their triggers), the Review Form inventory (PeopleForce review form configurations for BambooHR admin to rebuild), the PeopleRecruit vacancy inventory, and the Kudos supplemental file. We support a one-week post-cutover window for reconciliation issues. We do not rebuild PeopleForce workflows as BambooHR workflows, rebuild review forms in BambooHR's form builder, or migrate PeopleRecruit vacancy pipelines as ATS openings; those are separate configuration tasks for the customer's BambooHR admin.
Platform deep dives
PeopleForce
Source
Strengths
Weaknesses
BambooHR
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 BambooHR.
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 BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your PeopleForce to BambooHR 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 BambooHR
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.