HRMS migration

Migrate from Candidate Management System to Bullhorn ATS & CRM

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

Candidate Management System logo

Candidate Management System

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

75%

9 of 12

objects map 1:1 between Candidate Management System and Bullhorn ATS & CRM.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Candidate Management System to Bullhorn is a structural upgrade from a lightweight ATS to a unified ATS-and-CRM platform. Candidate Manager organizes talent acquisition data as Jobs, Candidates, Applications, and tenant-specific custom properties within a single-pipeline structure. Bullhorn introduces a richer entity model—separate Lead, Candidate, Contact, Company, Opportunity, and Placement objects—that requires redesigning how your recruiting data is organized before any records move. We extract from Candidate Manager via its native export interface (no documented REST API is available), normalize tenant-specific custom fields during discovery, and load into Bullhorn through its REST API with batch chunking and parent-record lookup resolution. Bullhorn's 300-plus marketplace integrations, AI-powered candidate matching (Amplify), and unified front-office-to-back-office data model give staffing agencies a scalable foundation that Candidate Manager's dormant product profile no longer supports.

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

Bullhorn ATS & CRM logo

Bullhorn ATS & CRM

What's pulling them in

  • Agencies choose Bullhorn because it combines ATS and CRM in one platform, eliminating the need to switch between separate tools for candidate management and client relationship tracking.
  • The resume parser extracts contact details, work history, and skills into structured, searchable candidate profiles automatically without manual data entry, reportedly driving 24% more placements per recruiter.
  • Bullhorn's placement and split-billing model natively supports contract staffing workflows, handling start/end dates, overtime rules, and multi-party pay/charge rates in a single record.
  • The platform offers extensive third-party integrations through its Recruitment Cloud Marketplace, connecting with back-office, onboarding, and payroll systems used by staffing agencies.
  • 72% of Bullhorn customers are teams with fewer than 10 users, and Bullhorn's implementation team handles setup and data migration for small agencies going live within weeks.

Object mapping

How Candidate Management System objects map to Bullhorn ATS & CRM

Each row shows how a Candidate Management System object lands in Bullhorn ATS & CRM, 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

Bullhorn ATS & CRM

Job

1:1
Fully supported

Candidate Manager Jobs export with title, status, department, location, and posting dates. We map these directly to Bullhorn Job records via the Bullhorn REST API, preserving the original internal job ID as a custom reference field. Job Order status (open, filled, closed) maps to Bullhorn's jobStatus field. Any posting-date history is preserved in custom date fields since Bullhorn tracks a single publishedDate by default.

Candidate Management System

Candidate

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

Candidate Manager Candidate records (name, contact details, work history, education, skills) map 1:1 to Bullhorn Candidate records. We deduplicate by email address during scoping and flag duplicate candidates for customer review before insert. Bullhorn's Candidate ATS v2 component tracks candidate progress across all applied Jobs in a single workspace, which is a richer view than Candidate Manager's per-Application status.

Candidate Management System

Application

maps to

Bullhorn ATS & CRM

Job Submission (ATS v2)

1:1
Fully supported

Candidate Manager Applications link a Candidate to a Job and carry status, source, and submission timestamp. We preserve this as Bullhorn Job Submission records under the relevant Job. Bullhorn ATS v2 tracks submissions through ordered pipeline stages using color-coded chevrons, which replaces Candidate Manager's simple application status field. Active applications in stages with no Bullhorn equivalent are flagged for explicit stage mapping decisions during discovery.

Candidate Management System

Pipeline Stage

maps to

Bullhorn ATS & CRM

Job Stage

lossy
Fully supported

Candidate Manager's configurable pipeline stages per Job map to Bullhorn Job Stages, which are defined at the Job Order level or as a global pipeline template. We enumerate the source stage sequence explicitly, map each to the nearest Bullhorn stage equivalent, and flag any stages that carry candidate-specific data (e.g., scoring, interview feedback) that should migrate as separate custom fields rather than stage names.

Candidate Management System

Custom Properties

maps to

Bullhorn ATS & CRM

Custom Fields / Custom Objects

1:1
Mapping required

Tenant-specific custom fields on Candidate and Application records in Candidate Manager require explicit enumeration during discovery because each organization configures its own schema. We map named custom fields to Bullhorn Custom Fields via Admin > Field Mappings for standard types. Fields that exceed Bullhorn's custom field limits (55 fields per entity) or that represent structured sub-records map to Bullhorn Custom Objects, available up to 10 on Bullhorn Front Office Growth and Enterprise editions, limited to 2 on Bullhorn ATS.

Candidate Management System

Assessments / Rankings

maps to

Bullhorn ATS & CRM

Custom Fields (numeric)

1:1
Mapping required

Ranking scores and pre-profiling data stored as numeric properties on Application or Candidate records migrate directly as Bullhorn custom fields of the corresponding type. Textual scoring rubrics and free-text evaluation criteria flag as candidates for Bullhorn Custom Objects with dropdown or multi-select fields if the rubric is repeatable, or as Note attachments if the evaluation format varies too much to map structurally.

Candidate Management System

Notes

maps to

Bullhorn ATS & CRM

Note

1:1
Mapping required

Recruiter notes attached to Candidates or Applications in Candidate Manager export as free-text blobs with authorship and timestamp. We preserve note content and authorship in Bullhorn Note records linked via ContentDocumentLink to the parent Candidate or Job record. Bullhorn's Note object supports rich text, so formatting present in Candidate Manager exports is preserved where possible.

Candidate Management System

Attachments

maps to

Bullhorn ATS & CRM

ContentDocument / Resume Storage

1:1
Mapping required

Resume files, cover letters, and portfolio documents export from Candidate Manager as binary blobs. We extract text content where parsable, re-upload original file types to Bullhorn's document storage as ContentDocument records linked via ContentDocumentLink to the parent Candidate, and attach the parsed resume text as a Note for searchability. File size and type are preserved in the ContentVersion metadata. Large binary blobs are chunked for re-upload to handle Bullhorn's document size limits.

Candidate Management System

Hiring Manager Self-Service Portal

maps to

Bullhorn ATS & CRM

Bullhorn Client Portal / Candidate.ly Integration

lossy
Fully supported

Candidate Manager's hiring manager self-service portal (letting managers review candidates, leave scorecards, move pipeline stages) has no direct Bullhorn equivalent without configuration. We document the portal's functional scope as a written requirements list for Bullhorn Client Portal setup or the Candidately integration (a Bullhorn Marketplace partner) to preserve the self-service workflow post-migration.

Candidate Management System

Staffing Agency Client Portal

maps to

Bullhorn ATS & CRM

Bullhorn Client Corporation + Portal Access

lossy
Fully supported

Candidate Manager's staffing agency portal lets client companies log in to view pipeline status. In Bullhorn, this maps to Client Corporations (the company-level record) with Contact records for each client user, configured with portal access permissions. Bullhorn's native portal requires configuration through the Admin interface; we document the target portal access scope and permissions matrix as part of the migration deliverables.

Candidate Management System

Candidate Source Tracking

maps to

Bullhorn ATS & CRM

Candidate source field

1:1
Fully supported

Candidate Manager tracks application source (job board, referral, direct, agency portal) as a property on the Application record. We map this to Bullhorn's standard source field on the Candidate or Job Submission record. Boolean search queries run against the Candidate Manager talent database do not carry forward as saved searches; we document the query logic so the customer's Bullhorn admin can recreate searches using Bullhorn's Advanced Search with custom object filter support.

Candidate Management System

Owner / Recruiter Assignment

maps to

Bullhorn ATS & CRM

User

1:1
Fully supported

Recruiter assignment on Candidate Manager records maps to Bullhorn User records by email match. Owners without a matching Bullhorn User are held in a reconciliation queue. Bullhorn's user permissions model (Admin, Standard, Limited) and department-level field access require separate configuration outside the migration scope; we document the required permission matrix as a pre-migration configuration task.

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

Bullhorn ATS & CRM logo

Bullhorn ATS & CRM gotchas

High

ATS Growth edition has no API access

High

Attachments excluded from CSV bulk exports

Medium

Custom Object limits vary sharply by edition

Medium

Opportunity pipeline stages are recruitment-specific

Low

Resume parse quality varies by document format

Pair-specific challenges

  • No API on Candidate Manager forces export-via-native-interface only

    Candidate Manager does not publish a REST or bulk API in its current documentation footprint, confirmed across G2, Capterra, and direct platform review. We extract data via the platform's native export interface or direct database access where available. If native exports are rate-limited or produce incomplete record sets, we fall back to CSV extraction with field normalization before loading into Bullhorn. Customers should confirm export availability and volume limits explicitly during discovery, because export failures at this stage cascade into data loss at migration time. Bullhorn's API is fully documented and rate-limit-aware, but source-side extraction is the binding constraint on this migration.

  • Bullhorn edition limits constrain Custom Object availability

    Bullhorn editions impose hard limits on Custom Objects: Bullhorn Front Office Growth and Enterprise support up to 10 Custom Objects with 55 fields each; Bullhorn ATS supports 2 Custom Objects; ATS Growth has none. Candidate Manager's tenant-specific custom properties often exceed two to five fields per entity, particularly on Candidate and Application records. During discovery, we enumerate every custom property and map it to a Bullhorn standard field, Custom Field, or Custom Object based on the customer's confirmed Bullhorn edition. Custom Objects created by marketplace integrations or compliance functionality do not count toward these limits, which can provide additional mapping headroom.

  • Tenant-specific custom property schema is undocumented and requires explicit mapping

    Candidate Manager does not publish a unified schema catalog; each organization configures its own Candidate and Application properties. Any fields with ambiguous naming (e.g., a text field used to store a numeric score, or a dropdown approximated by free text) require explicit mapping decisions from the customer before migration. We cannot infer field intent from name alone. Fields without a clear Bullhorn destination are flagged as orphaned and stored in a catch-all custom properties table in Bullhorn for manual review post-migration. This step adds discovery time but prevents silent data loss.

  • Bullhorn resume parsing quality depends on file format fidelity

    Bullhorn's resume parsing (used to populate structured Candidate fields from uploaded resumes) occasionally produces formatting artifacts on imported documents, according to user reviews on Reddit and Capterra. We preserve original resume file types as ContentDocument attachments rather than relying solely on parsed field population. If Candidate Manager exports resumes as plain-text blobs with no spacing or formatting, we attach them as-is and recommend Bullhorn's manual review workflow for key candidate records. Resume parsing quality issues are a known Bullhorn user pain point and are documented here so customers can plan accordingly.

  • Bullhorn onboarding and implementation is separate from migration scope

    Bullhorn's own onboarding process (Bullhorn Launch, OnRamp portal, optional paid implementation services) is managed by Bullhorn directly and runs concurrently with—but independently of—our migration engagement. Bullhorn's standard included implementation covers up to 15,000 records with resume parsing and live expert support. Migrations exceeding 15,000 records or involving Bullhorn Recruitment Cloud require Bullhorn Professional Services as a separate engagement. We coordinate schema design with the customer's Bullhorn implementation team but do not manage Bullhorn's onboarding timeline.

Migration approach

Six steps for a successful Candidate Management System to Bullhorn ATS & CRM data migration

  1. Discovery and export feasibility assessment

    We audit the Candidate Manager instance for record counts (Jobs, Candidates, Applications, Attachments), enumerate all tenant-specific custom properties on Candidate and Application records, identify any custom scoring rubrics or assessment data, and confirm the export method available (native export interface, direct database access, or CSV fallback). We also confirm the target Bullhorn edition (Bullhorn ATS, Bullhorn Platform Growth, Bullhorn Platform Enterprise, or Bullhorn Recruitment Cloud) because edition determines Custom Object limits and API access scope. The discovery output is a written migration scope document with a record-count estimate, a custom field inventory, and a Bullhorn edition recommendation.

  2. Custom property mapping and Bullhorn schema pre-creation

    We enumerate every custom Candidate Manager property and map it to a Bullhorn destination: standard field, Custom Field via Admin > Field Mappings, or Custom Object. Bullhorn schema is pre-created in a Sandbox org first for validation. This includes Bullhorn Job Stages (matching the source stage sequence), Custom Fields (with type matching: text, number, date, dropdown), Custom Objects (for structured sub-records that exceed Custom Field limits), and User provisioning requirements. Bullhorn field limits are checked per entity: custom fields per entity, and custom object field limits by edit type (up to 20 of any combination of check box, drop-down, mini-picker, radio, section header, select, and picker types).

  3. Data extraction, normalization, and sandbox migration

    We extract Candidate Manager data via the confirmed export method, normalize custom field values to Bullhorn-compatible types, deduplicate Candidates by email, and flag orphaned custom properties without a Bullhorn destination. A sandbox migration runs first into the Bullhorn Sandbox environment to validate record counts, parent-child relationships (Candidate to Job, Application to Job), and attachment re-upload integrity. The customer's RevOps lead spot-checks 25 to 50 records against the source system and signs off before production migration begins.

  4. Owner and User reconciliation

    We extract every distinct recruiter and hiring manager assigned as Owner on Candidate Manager records and match by email against the Bullhorn destination org's User table. Any Candidate Manager Owner without a matching Bullhorn User goes to a reconciliation queue. Bullhorn's user provisioning (Admin > Users > Add User) is performed by the customer's Bullhorn admin before production migration; we cannot proceed past this step because OwnerId references are required on most Bullhorn standard objects.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Jobs (first, as the parent of submissions), Candidates (with email-based deduplication), Applications mapped to Bullhorn Job Submissions, Notes (linked via ContentDocumentLink), Attachments (via ContentVersion re-upload with chunking for large files), and Custom Object records (last, because they often have lookups to standard objects already migrated). Each phase emits a row-count reconciliation report before the next phase begins. Bullhorn's REST API is used with rate-limit handling and exponential backoff; large binary blobs are chunked for re-upload to stay within Bullhorn's document size constraints.

  6. Cutover, delta migration, and deliverable handoff

    We freeze writes on Candidate Manager during cutover, run a final delta migration of any records modified during the migration window, then enable Bullhorn as the system of record. We deliver a written inventory of every active pipeline configuration, custom field mapping, and orphaned custom property requiring manual entry. Bullhorn workflow rules, automation sequences, and hiring manager portal configurations are not migrated by FlitStack AI as code; we document them for the customer's Bullhorn admin or implementation partner to rebuild post-migration. A one-week hypercare window covers reconciliation issues raised during the first week of Bullhorn production use.

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.
Bullhorn ATS & CRM logo

Bullhorn ATS & CRM

Destination

Strengths

  • Unified ATS and CRM on one platform purpose-built for staffing agencies, eliminating separate tools for candidates and clients.
  • Automated resume parsing extracts structured candidate data—contact details, work history, skills—into searchable profiles instantly.
  • Native placement and split-billing model handles contract staffing workflows including start/end dates and overtime rules.
  • Bullhorn Recruitment Cloud Marketplace offers 100+ pre-validated third-party integrations spanning the full recruiting lifecycle.
  • 24/7 global support coverage from 350+ support staff with dedicated account management included at all tiers.

Weaknesses

  • Widely regarded as old and bloated with an unintuitive interface and steep learning curve for new recruiters.
  • Slow page loads and performance lag cited in over 200 verified G2 reviews during high-volume recruiting periods.
  • Pricing is opaque—custom-negotiated per organization with significant upfront implementation fees that vary by deal.
  • ATS Growth edition excludes API access entirely, preventing automated data export without upgrading first.

Complexity grading

How hard is this migration?

Standard HRMS migration. All 7 core objects map 1:1 between Candidate Management System and Bullhorn ATS & CRM.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Candidate Management System and Bullhorn ATS & CRM.

  • Object compatibility

    A

    All 7 core objects map 1:1 between Candidate Management System and Bullhorn ATS & CRM.

  • 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 Bullhorn ATS & CRM 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 Bullhorn ATS & CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Small agency migrations with fewer than 3,000 Candidates, 500 Jobs, and minimal custom fields typically complete in two to four weeks. Migrations with heavy custom property proliferation, multi-pipeline configuration, large attachment volumes, or Bullhorn Recruitment Cloud as the destination extend to five to eight weeks because of schema redesign scope, Custom Object setup within edition limits, and the file re-upload pipeline. Bullhorn's own onboarding timeline (Bullhorn Launch, OnRamp, optional paid implementation) runs concurrently with our migration and is managed separately by Bullhorn's implementation team.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Candidate Management System.
Land in Bullhorn ATS & CRM, 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