HRMS migration

Migrate from Candidate Management System to BambooHR

Field-level mapping, validation, and rollback between Candidate Management System and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.

Candidate Management System logo

Candidate Management System

Source

BambooHR

Destination

BambooHR logo

Compatibility

70%

7 of 10

objects map 1:1 between Candidate Management System and BambooHR.

Complexity

BStandard

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Candidate Management System to BambooHR is a category shift, not a direct ATS replacement. Candidate Management System is a recruiting-focused ATS that organizes Jobs, Candidates, Applications, and Assessments within configurable pipelines, but it has no publicly documented API and its G2 profile has been inactive for over a year, raising concerns about long-term vendor support. BambooHR is a full HRIS with an ATS module, built-in onboarding workflows, time-off tracking, and performance management under one per-employee subscription. The migration requires mapping recruiting-specific objects (pipeline stages, application status, ranking scores) to BambooHR's hire-to-retire employee lifecycle model, and handling custom fields that BambooHR's API cannot pass—specifically information fields, section headers, and multiple-selection lists. We do not migrate workflows, approval chains, or staffing agency portal configurations as code; we deliver a written inventory for the customer's admin to rebuild in BambooHR's workflow builder.

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

Candidate Management System logo

Candidate Management System

What's pushing teams away

  • The G2 profile has been inactive for over a year with no vendor response, raising concerns about product support and long-term viability for customers evaluating renewal.
  • Configuration complexity grows as teams add custom fields and workflow rules, making the system harder to onboard new recruiters without documented runbooks.
  • Reporting and analytics are limited compared to modern ATS platforms, with customers needing to export to spreadsheets for anything beyond basic pipeline counts.
  • No publicly documented API means integrations with background check vendors, HRIS systems, or onboarding platforms require manual data re-entry or third-party middleware workarounds.

Choosing

BambooHR logo

BambooHR

What's pulling them in

  • Lowest friction entry point for SMBs moving off spreadsheets — intuitive interface means most teams are functional within days, not weeks.
  • Consolidation value: BambooHR merges ATS, onboarding, HR records, time-off, and payroll into a single pane of glass that employees never need to leave.
  • Volume discounts applied automatically by headcount, so pricing scales predictably as the company grows without renewal negotiations.
  • BambooHR reports most customers go live in four to six weeks, making it a realistic commitment for under-resourced HR teams.
  • Award-winning Support Heroes cited frequently in reviews — responsive human support after implementation is a differentiator.

Object mapping

How Candidate Management System objects map to BambooHR

Each row shows how a Candidate Management System 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.

Candidate Management System

Job (Requisition)

maps to

BambooHR

Job

1:1
Fully supported

Candidate Manager Job records map 1:1 to BambooHR Job requisitions. We preserve the job title, description (as rich text), department, location, and internal job ID as a reference field. Job status (Open, Closed, Draft) maps to BambooHR's status field. If BambooHR's ATS add-on is not active, Jobs may be created as Employee records with a Hire Date in the future rather than as formal Job requisitions—customer confirms their BambooHR tier and ATS module status during scoping. Posting dates and expiration dates transfer as-is.

Candidate Management System

Application

maps to

BambooHR

Applicant

1:1
Fully supported

Each Candidate Manager Application record maps to a BambooHR Applicant record linked to the corresponding Job. We preserve application status (Applied, Under Review, Interview, Offer, Hired, Rejected), submission timestamp, and source attribution. If the candidate was already hired and is now an employee in BambooHR's HR module, the Applicant record is linked to the Employee record. Active applications in pipeline stages that have no BambooHR equivalent are flagged for explicit status mapping during scoping.

Candidate Management System

Candidate

maps to

BambooHR

Employee or Applicant

1:many
Fully supported

Candidate Manager Candidate records map to either BambooHR Applicant (if the candidate is still in the hiring pipeline) or BambooHR Employee (if the candidate was hired and is now an active or terminated employee). We separate active candidates from historical hire records during the transform phase. Name, email, phone, address, work history, education, and skills transfer to the corresponding BambooHR object. Any candidates with duplicate email addresses are flagged for customer review before import.

Candidate Management System

Custom Properties (Candidate)

maps to

BambooHR

Custom Employee Fields

1:1
Mapping required

Tenant-specific custom properties on Candidate Manager Candidate records map to BambooHR custom fields on the Employee object. We enumerate every custom field during discovery, match by name, and resolve type conflicts (e.g., a text field used as a numeric score is mapped to a BambooHR Number field). BambooHR API cannot pass information fields, section headers, or multiple-selection lists; these are flagged as manual-reentry candidates and stored in a written inventory for the customer's admin to handle post-migration. Any custom properties without a clear destination are held in a catch-all text area field for review.

Candidate Management System

Custom Properties (Application)

maps to

BambooHR

Custom Applicant Fields

1:1
Fully supported

Application-level custom properties from Candidate Manager map to BambooHR Applicant custom fields. These include screening questions, scored criteria, and intake form responses that vary by organization. BambooHR's applicant custom field API supports text, number, date, dropdown, and checkbox types. Fields that do not match these types (e.g., section headers used as visual separators) are excluded from the API pass and documented for manual rebuild in BambooHR's applicant form builder.

Candidate Management System

Pipeline Stages

maps to

BambooHR

Applicant Status Values

lossy
Mapping required

Candidate Manager's configurable per-job or global pipeline stage sequences do not have a direct BambooHR equivalent. BambooHR uses a fixed Applicant Status model (Applied, Phone Screen, Interview, Offer, Hired, Rejected) with limited customization. We map each Candidate Manager stage explicitly to the nearest BambooHR status value, flag any stages that cannot map cleanly (e.g., custom stages like Background Check or Skills Assessment), and deliver a written pipeline configuration guide for the customer's admin to implement the closest equivalent in BambooHR's ATS settings.

Candidate Management System

Assessments / Rankings

maps to

BambooHR

Custom Number Fields

1:1
Mapping required

Numeric ranking scores and pre-profiling ratings on Candidate Manager Application or Candidate records migrate to BambooHR custom number fields on the Applicant object. We preserve the original field name and value range. Textual scoring rubrics or matrix-based assessments that are not reducible to a single numeric value are flagged as candidates for manual re-entry in BambooHR's applicant notes or a separate assessment tool. The customer confirms during scoping whether rubric-based assessments need a dedicated workflow rebuild.

Candidate Management System

Notes (Recruiter)

maps to

BambooHR

Employee Notes or Applicant Notes

1:1
Fully supported

Recruiter notes attached to Candidate Manager Candidates or Applications export as free-text blobs. We preserve note content and authorship (recruiter name and timestamp) and map to BambooHR Employee Notes or Applicant Notes depending on whether the candidate is a current employee or still in the pipeline. Because BambooHR does not support structured note fields, all free-text content migrates into a single Notes text area per record. If notes reference other records (e.g., cross-candidate notes), those references are stored as plain text and flagged for the customer to resolve manually.

Candidate Management System

Attachments (Resumes, Cover Letters, Portfolio Files)

maps to

BambooHR

Employee Files or Applicant Files

1:1
Fully supported

Candidate Manager exports resume files, cover letters, and portfolio documents as binary blobs. We extract text content where parsable (PDF text extraction, DOCX body text) and re-upload the original file type to BambooHR's document storage under the corresponding Employee or Applicant record. Large attachments are chunked for upload to stay within BambooHR API size limits. Any attachments that cannot be parsed to text are re-uploaded as-is. If the original file type is not supported by BambooHR's file viewer, the file is attached as a downloadable link.

Candidate Management System

Hiring Manager Portal Assignments

maps to

BambooHR

Workflow and Permission Configuration

lossy
Fully supported

Candidate Manager's hiring manager self-service portal assignments (which managers can review which candidates, leave scorecards, move pipeline stages) have no direct BambooHR equivalent. We document the existing portal configuration during discovery—including role-based access assignments, manager-to-job mappings, and self-service permission scopes—and deliver a written configuration guide for the customer's admin to implement equivalent permissions in BambooHR's role-based access settings and ATS sharing rules.

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.

Candidate Management System logo

Candidate Management System gotchas

High

Inactive G2 profile signals vendor neglect

High

No documented public API complicates exports

Medium

Custom properties vary by tenant configuration

BambooHR logo

BambooHR gotchas

High

Undocumented API rate limits can trigger 503 errors

High

Per-employee pricing model requires active record count verification

Medium

API credentials must be sent on every request to avoid extra round trips

Medium

Custom field schema varies per account and requires manual inventory

Low

Document and attachment exports are not covered by standard report exports

Pair-specific challenges

  • BambooHR API cannot pass information fields, section headers, or multiple-selection lists

    BambooHR's API explicitly cannot pass information fields, section headers, and multiple-selection list field types. Any Candidate Manager custom property of these types—commonly used as visual separators, instructional text, or multi-select screening tags—will not transfer via the BambooHR API and must be manually re-created in BambooHR's field builder. We identify all fields of these types during discovery and exclude them from the API pass, storing them in a catch-all inventory for manual rebuild. Migrations that skip this step result in silent data loss for these field types and require a second import pass to correct.

  • ATS add-on tier limits job postings and applicant tracking depth

    BambooHR's ATS is a priced add-on module, not a feature of the base Core plan. Core ($10/employee/month) includes 5 job openings, Pro includes 25, and Elite includes 50. Teams that need unlimited job postings or full applicant tracking functionality must confirm the ATS add-on is active before migration design begins. Migrating candidate records into a BambooHR account without the ATS module active results in candidates landing as basic Employee records without the applicant pipeline tracking that the Candidate Manager provided. We confirm ATS tier during scoping and flag any mismatch between Candidate Manager's documented job count and BambooHR's tier limits.

  • Pipeline stage model mismatch requires explicit manual configuration

    Candidate Manager's configurable per-job pipeline stages (stage names, order, and count defined by each organization) do not map directly to BambooHR's fixed Applicant Status model. We map each source stage to the closest BambooHR status during migration, but stages with no equivalent (e.g., Background Check, Skills Assessment, Manager Review) must be handled as notes or custom fields on the Applicant record. The customer's admin must configure BambooHR's applicant pipeline settings post-migration to approximate the original Candidate Manager workflow. Skipping this configuration step leaves candidates in a default pipeline that does not reflect the original process.

  • Candidate Manager has no API; export depends on native interface availability

    Candidate Manager does not publish a public REST or bulk API, meaning data extraction depends entirely on the platform's native export interface or direct database access. If the native export is rate-limited, unavailable during peak usage, or produces incomplete CSV output for records with special characters or long text fields, we must fall back to manual extraction or a multi-pass CSV approach. We confirm export availability and volume limits during discovery. Any records that cannot be exported are flagged in the migration scope before design begins.

  • Staffing agency portal and external client access do not migrate

    Candidate Manager includes a staffing agency portal that lets client companies log in directly to review pipeline status and candidate submissions. BambooHR does not have a native staffing agency portal feature. External client access configured in Candidate Manager does not have a direct BambooHR equivalent and is not migrated. We document the existing portal configuration and access assignments during discovery and deliver a written guide for the customer's admin to evaluate BambooHR's partner-facing alternatives (BambooHR's candidate-facing career portal versus a separate client portal tool) post-migration.

Migration approach

Six steps for a successful Candidate Management System to BambooHR data migration

  1. Discovery and export capability audit

    We audit the Candidate Manager tenant for all Jobs, Candidates, Applications, custom properties (both Candidate-level and Application-level), pipeline stage configurations, attachment file inventory, and recruiter notes volume. We confirm the native export interface availability and any volume limits. We pair this with a BambooHR tenant audit covering ATS module status (Core, Pro, Elite with or without ATS add-on), existing custom field definitions, job requisition settings, and applicant status configuration. The discovery output is a written migration scope that includes the record count per object, any fields that BambooHR's API cannot pass, and a BambooHR ATS tier recommendation if the current tier does not support the migration's job posting volume.

  2. Schema design and custom field mapping

    We design the BambooHR destination schema based on the discovery audit. This includes creating custom fields on the Employee and Applicant objects to receive Candidate Manager custom properties, enforcing field types that match the source data (text, number, date, checkbox, dropdown). Fields that BambooHR's API cannot pass (information fields, section headers, multiple-selection lists) are explicitly excluded from the API mapping and listed in a manual-rebuild section of the migration deliverable. We also design the pipeline stage mapping table mapping each Candidate Manager stage name to the nearest BambooHR Applicant Status value, with unmappable stages flagged for the customer to handle in BambooHR's ATS settings.

  3. Sandbox migration and field reconciliation

    We run a full migration into a BambooHR test environment using production-like data volume. The customer's HR lead reconciles record counts across all objects (Jobs in, Applicants in, Employees in, Notes in), spot-checks 25-50 records against the Candidate Manager source for field accuracy, and validates that BambooHR's applicant pipeline reflects the original stage mapping. Any field mapping corrections, type mismatches, or stage reconciliation gaps are resolved in this phase. The customer signs off on the schema and mapping before production migration begins.

  4. Attachment extraction and re-upload

    We extract all binary attachments from Candidate Manager (resumes, cover letters, portfolio documents). Where file text is parsable, we extract the text content. We then re-upload each file to the corresponding BambooHR Employee or Applicant record via the BambooHR file API, chunking large files to stay within API size limits. Files that cannot be parsed to text are uploaded as-is and attached as downloadable links. Any file types not supported by BambooHR's previewer are documented for the customer.

  5. Production migration in dependency order

    We run production migration in object dependency order: Jobs (as the parentrequisition), Employees (for hired candidates), Applicants (for active candidates not yet hired), Application-level custom fields, Candidate-level custom fields, Notes, and Attachments. Each phase emits a row-count reconciliation report before the next phase begins. Any records rejected due to missing required fields or type mismatches are held in an error queue and retried after customer review. We use BambooHR's API with appropriate rate-limit handling and exponential backoff for all production inserts.

  6. Cutover, delta sync, and workflow rebuild handoff

    We freeze Candidate Manager writes during cutover, run a final delta migration of any records created or modified during the migration window, and enable BambooHR as the system of record. We deliver the pipeline configuration guide, staffing agency portal documentation, and workflow rebuild inventory to the customer's HR admin. We support a one-week post-cutover window to resolve reconciliation issues. We do not rebuild Candidate Manager approval chains or workflow rules in BambooHR's workflow builder inside the migration scope; that is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

Candidate Management System logo

Candidate Management System

Source

Strengths

  • Requisition-to-hire workflow covers the full talent acquisition cycle from job posting through onboarding initiation.
  • Configurable approval chains let organizations model multi-step hiring workflows without code changes.
  • Hiring manager self-service portal reduces recruiter bottlenecks for routine candidate communication and status updates.
  • Talent search with Boolean capability surfaces passive candidates from the existing database without additional job board spend.

Weaknesses

  • No publicly documented API limits integration options to manual exports, CSV imports, and third-party middleware connectors.
  • The product's G2 profile is inactive with no vendor-managed presence, raising concerns about support responsiveness and roadmap visibility.
  • Reporting capabilities are basic, requiring spreadsheet exports for anything beyond simple pipeline counts and time-to-fill metrics.
  • Custom field proliferation in highly configured environments creates migration complexity and makes schema documentation essential before any cutover.
BambooHR logo

BambooHR

Destination

Strengths

  • Single platform consolidating ATS, onboarding, HR records, payroll, and time-off reduces system sprawl for SMBs.
  • Fast implementation — BambooHR reports four to six weeks from kickoff to go-live for most customers.
  • Per-employee pricing with automatic volume discounts makes cost predictable as headcount grows.
  • Strong customer support reputation (Support Heroes) cited consistently across G2, Capterra, and direct testimonials.
  • Well-documented API with UTF-8 encoding, clear field types, and HTTPS-only access.

Weaknesses

  • Mobile application is significantly limited compared to the desktop experience, frustrating remote and field workers.
  • Companies above 150–200 employees frequently outgrow the platform's feature depth and customization surface.
  • Limited advanced reporting and analytics compared to enterprise HR platforms — custom report building is the ceiling.
  • PTO and profile customization are pain points — non-standard accrual policies and complex org structures require workarounds.
  • Document management and attachment handling lack the granularity of dedicated document-centric HR systems.

Complexity grading

How hard is this migration?

Standard HRMS migration. All 7 core objects map 1:1 between Candidate Management System and BambooHR.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Candidate Management System and BambooHR.

  • Object compatibility

    A

    All 7 core objects map 1:1 between Candidate Management System and BambooHR.

  • 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

    Candidate Management System: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Candidate Management System to BambooHR 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 Candidate Management System to BambooHR data migrations

Answers to the questions buyers ask most during Candidate Management System to BambooHR migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Candidate Management System to BambooHR migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between four and six weeks for accounts under 3,000 candidates with fewer than 50 custom properties and no complex attachment volumes. This aligns with BambooHR's own published standard implementation timeline of six weeks for Core deployments. Migrations with highly configured pipelines, large attachment portfolios (over 1,000 files), complex custom field types that require manual re-entry, or a required ATS add-on configuration move to ten to fourteen weeks. BambooHR tier selection (Core vs Pro vs Elite with ATS add-on) is confirmed during discovery and affects the migration timeline because ATS-tier job posting limits must be validated before record placement.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Candidate Management System.
Land in BambooHR, 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