HRMS migration

Migrate from SmartRecruiters to Bullhorn ATS & CRM

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

SmartRecruiters logo

SmartRecruiters

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

75%

9 of 12

objects map 1:1 between SmartRecruiters and Bullhorn ATS & CRM.

Complexity

BStandard

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from SmartRecruiters to Bullhorn is a structural migration across two fundamentally different ATS philosophies. SmartRecruiters is an enterprise hiring platform built for high-volume corporate recruiting with deep SAP SuccessFactors integration; Bullhorn is an agency-focused ATS and CRM that combines candidate tracking with client relationship management in a single platform. The primary migration challenge is reconciling SmartRecruiters organization-scoped custom fields against Bullhorn's Custom Object structure, which requires Bullhorn Support ticket provisioning and is edition-gated. We run a mandatory pre-migration discovery pass against the SmartRecruiters /configuration endpoint to enumerate every custom field before any mapping begins. Application pipeline stages migrate with a two-step approach: candidates land in Bullhorn JobSubmission in New status, then we trigger a separate update call to advance them to the correct pipeline stage since the Bullhorn REST API does not support direct stage assignment on creation. We do not migrate SmartRecruiters Hiring Agent workflows, automated screening rules, or job board distribution configurations; we deliver a written inventory of these for the customer's team to rebuild in Bullhorn.

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

SmartRecruiters logo

SmartRecruiters

What's pushing teams away

  • The platform's starting price of $14,995–$15,000 annually is prohibitive for SMBs and mid-market teams with limited recruiting budgets.
  • The interface is described as clunky and difficult to navigate by users who switch to more modern ATS alternatives like BambooHR or Recruiterflow.
  • Automated reports cannot be highly customized, limiting HR teams that need ad-hoc or role-specific analytics beyond the built-in dashboards.
  • Mass-modifying job postings across multiple locations in similar roles is difficult, creating bottlenecks for high-volume, multi-branch operations.
  • Trustpilot reviews show a 1.5/5 TrustScore, with complaints citing responsiveness issues and platform reliability concerns that enterprise customers find unacceptable.

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 SmartRecruiters objects map to Bullhorn ATS & CRM

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

SmartRecruiters

Job Posting

maps to

Bullhorn ATS & CRM

Job (JobOrder)

1:1
Fully supported

SmartRecruiters Posting records map to Bullhorn JobOrder. We preserve the refNumber, job title, description, and typeOfEmployment. Location maps to Bullhorn's address fields and city/state/country. The SmartRecruiters experienceLevel maps to a Bullhorn custom field since JobOrder does not have a native experience level field. Department reference is preserved as a text label in a custom field since Bullhorn Jobs do not have a native department link. Any active posting status in SmartRecruiters becomes a Bullhorn Job with status = 'Open'.

SmartRecruiters

Candidate

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

SmartRecruiters Candidate records map directly to Bullhorn Candidate. Required fields (firstName, lastName, email) transfer directly. Phone, address, social profiles (LinkedIn URL), and tags migrate to corresponding Bullhorn Candidate fields. We deduplicate by email during import. Candidate history and source attribution migrate to Bullhorn Candidate custom fields.

SmartRecruiters

Application

maps to

Bullhorn ATS & CRM

JobSubmission

1:many
Fully supported

SmartRecruiters Application records (linking Candidate to Posting) map to Bullhorn JobSubmission. Bullhorn's REST API only creates JobSubmission in New status; we run a two-step import where records land as New then advance to the target pipeline stage via a separate API call using the JobSubmission ID. The SmartRecruiters application date becomes the Bullhorn dateAdded. Screening answers migrate as JobSubmission custom fields.

SmartRecruiters

Custom Field (organization-scoped)

maps to

Bullhorn ATS & CRM

Custom Object (1-10, edition-dependent)

lossy
Fully supported

SmartRecruiters organization-scoped custom fields (discovered via /configuration endpoint) map to Bullhorn Custom Objects. Bullhorn requires Custom Objects to be provisioned via Bullhorn Support ticket before any API import; we coordinate this during scoping. Edition limits apply: Front Office Growth/Enterprise gets 10 Custom Objects with 55 fields each; Bullhorn ATS gets 2; ATS Growth gets none. Field types (text, drop-down, checkbox) map from SmartRecruiters fieldId/valueId structure to Bullhorn edit types. This is the highest-risk mapping step and requires pre-migration field discovery.

SmartRecruiters

Department

maps to

Bullhorn ATS & CRM

Department (Bullhorn Entity)

1:1
Fully supported

SmartRecruiters Department records (with description and label) map to Bullhorn Department entities. Bullhorn Department is a standard entity in the ATS and CRM modules. We preserve the department label and ID so that job postings reference the correct Bullhorn Department. Note that Bullhorn Jobs do not natively reference Department; we use a custom field on JobOrder to maintain the link.

SmartRecruiters

User (Hiring Team member)

maps to

Bullhorn ATS & CRM

User

1:1
Fully supported

SmartRecruiters User records (recruiters, hiring managers, admins) map to Bullhorn User. We match by email as the dedupe key. Bullhorn requires User provisioning by a Bullhorn Admin or through Bullhorn Support for initial setup. We resolve all User references on Candidate, Job, and Application records before migration. Any SmartRecruiters User without a Bullhorn User counterpart goes to a reconciliation queue.

SmartRecruiters

Hiring Team (per-job assignment)

maps to

Bullhorn ATS & CRM

User Assignment on JobSubmission

1:1
Fully supported

SmartRecruiters hiring team assignments (userId with role per job) map to Bullhorn JobSubmission assignments and JobOrder owner relationships. The recruiter role migrates to the Bullhorn User assigned as the primary recruiter on the Job. Hiring manager visibility is preserved via Bullhorn User assignment on the JobSubmission. Role labels (interviewer, screener, approver) migrate as JobSubmission custom fields since Bullhorn does not have a native role per assignment.

SmartRecruiters

Scorecard

maps to

Bullhorn ATS & CRM

Note (attached to JobSubmission)

1:1
Fully supported

SmartRecruiters Scorecards (structured evaluation data embedded in candidate/evaluation records) map to Bullhorn Note records attached to the JobSubmission. We extract the evaluation score, recommendation, and interviewer name into a structured note format that preserves the evaluation history. If the destination Bullhorn edition supports Bullhorn Automation for scorecard workflows, we note this for the customer's admin to configure post-migration.

SmartRecruiters

Interview Record

maps to

Bullhorn ATS & CRM

Appointment (Event)

1:1
Fully supported

SmartRecruiters Interview records (scheduling, interviewer assignments, outcome notes) map to Bullhorn Event (Appointment) records linked to the Candidate and JobSubmission. Interview dates, times, locations, and dispositions migrate directly. Interviewer names resolve to Bullhorn User IDs where possible; unresolved interviewers are recorded as text in the event description. Outcome status (completed, cancelled, no-show) migrates as an Event custom field.

SmartRecruiters

Offer

maps to

Bullhorn ATS & CRM

Placement (partial) + Custom Fields

1:1
Fully supported

SmartRecruiters Offer records (compensation, status, candidate linkage) migrate to Bullhorn as Placement records with offer compensation fields in Bullhorn's standard Placement object plus custom fields for offer-specific data (offer date, offer letter reference, start date). Note that Bullhorn Placement is typically created after a candidate is placed; we create the Placement record during migration to preserve offer history even if the offer was not accepted or the placement was not completed. Status (extended, accepted, declined, withdrawn) maps directly.

SmartRecruiters

Attachment (Candidate)

maps to

Bullhorn ATS & CRM

Attachment (Bullhorn)

1:1
Fully supported

SmartRecruiters candidate attachments (resumes, cover letters, portfolio files) stored against the candidate profile migrate to Bullhorn Attachments linked to the Candidate record. We use Bullhorn's Attachment API with file type and description preserved. Large attachments may require chunked upload via Bullhorn's REST API. We verify each attachment link after migration by checking the file reference in Bullhorn.

SmartRecruiters

Assessment

maps to

Bullhorn ATS & CRM

Custom Fields on JobSubmission or Candidate

lossy
Fully supported

SmartRecruiters Assessment packages ordered via /packages are integration-specific and may not have a direct Bullhorn equivalent. We migrate assessment order records (assessment type, order date, status) as custom fields on the relevant JobSubmission. Active assessment status (pending, completed, failed) migrates as a custom picklist field. If the customer uses a specific assessment partner that also integrates with Bullhorn, we coordinate with that partner during migration scoping.

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.

SmartRecruiters logo

SmartRecruiters gotchas

High

Custom field schema discovery is required before any migration can begin

Medium

SAP acquisition integration may alter data residency and API access patterns

Medium

Candidate API only creates applications in New status via public endpoint

Low

Large report file exports require command-line tools, not browser download

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

  • SmartRecruiters custom fields require pre-migration discovery before any mapping

    SmartRecruiters custom fields are entirely organization-scoped with no standard set across tenants. Each organization defines its own fieldLabel and valueLabel pairs surfaced only at runtime in API responses. We run a mandatory pre-migration discovery pass against the /configuration endpoint to enumerate every custom field, its type, and permitted values before designing the Bullhorn Custom Object schema. Bullhorn Custom Objects must be provisioned via Bullhorn Support ticket before API import, and edition limits apply (10 on Front Office Growth/Enterprise, 2 on Bullhorn ATS, none on ATS Growth). Skipping discovery leads to silent value loss when unmapped custom fields are dropped at import time.

  • Bullhorn JobSubmission API only creates in New status, requiring two-step stage migration

    Bullhorn's POST /postings endpoint for JobSubmission only supports creating candidates in New status. Any candidate records that should land in a later pipeline stage require a two-step migration: first import the candidate in New status using the JobSubmission ID returned, then trigger a separate API call to update the application stage. SmartRecruiters application pipeline stages do not map one-to-one to Bullhorn JobSubmission stages; we design the stage mapping during scoping and apply it in the second migration step. Applications with complex stage histories require additional sequencing.

  • SAP acquisition of SmartRecruiters in August 2025 may alter API behavior

    SAP acquired SmartRecruiters in August 2025. For organizations migrating out of SmartRecruiters to a non-SAP destination like Bullhorn, we monitor whether API rate limits, OAuth token flows, or data residency configurations change post-acquisition. The SmartRecruiters Candidate and Job APIs currently use OAuth 1.0 token-based authentication; any migration to SAP-controlled endpoints may require re-authentication and rate limit renegotiation. We recommend migration scoping begin before any SAP integration changes take effect.

  • Bullhorn Custom Objects require Support ticket setup before migration can begin

    Bullhorn's REST API supports Custom Objects (customObject1s through customObject10s), but these must be initially provisioned by Bullhorn Support via a ticket. Bullhorn requires a completed Custom Object Setup Spreadsheet specifying field display names, types, and edit behaviors. We coordinate with the customer's Bullhorn Support contact during scoping to submit this request. Custom Object setup can take 5-10 business days depending on Bullhorn Support queue depth, which affects the overall migration timeline.

  • SmartRecruiters job board distribution settings and Hiring Agent workflows do not migrate

    SmartRecruiters job board distribution to 100+ sites and Hiring Agent (AI recruiting agent) automated outreach and scheduling configurations are platform-specific features with no Bullhorn equivalent. We do not migrate these as configurations. We deliver a written inventory of every active SmartRecruiters job board distribution configuration and Hiring Agent workflow for the customer's admin to rebuild in Bullhorn using Bullhorn Automation or a Bullhorn Marketplace partner. Job board redistribution requires re-configuring the Bullhorn job posting to each target board individually or through a Bullhorn-supported job distribution partner.

Migration approach

Six steps for a successful SmartRecruiters to Bullhorn ATS & CRM data migration

  1. Discovery and scope definition

    We audit the source SmartRecruiters tenant across active job postings, candidate records, application volumes, and custom field definitions using the /configuration endpoint. We enumerate every organization-scoped custom field and its permitted values during this phase. We assess the Bullhorn destination edition (Starter, Core, Pro, or Bullhorn Recruitment Cloud) and verify Custom Object limits against the discovered custom field count. If the SmartRecruiters tenant uses SAP SuccessFactors integration, we flag any SAP-side data residency implications. The discovery output is a written migration scope document covering record counts, custom field mapping design, and Bullhorn edition recommendation.

  2. Custom Object provisioning coordination

    Bullhorn Custom Objects must be provisioned by Bullhorn Support before API import. We work with the customer's Bullhorn Support contact to submit the Custom Object Setup Spreadsheet specifying display names, field types (up to 55 fields per Custom Object, edit-type limits apply), and department-level visibility rules. This step typically takes 5-10 business days and runs in parallel with other scoping activities. We confirm Custom Object availability in the destination Bullhorn org before proceeding to data mapping.

  3. Schema design and mapping document

    We design the Bullhorn destination schema including standard fields, custom fields (mapped from SmartRecruiters custom fields), department entities, and user role structure. Pipeline stage mapping is defined using a table that aligns each SmartRecruiters application stage to a Bullhorn JobSubmission status value. We document the two-step import approach for application stages (New status on create, then stage update call). The mapping document covers every object in scope with field-level transform rules and is reviewed by the customer's Bullhorn admin before migration begins.

  4. Sandbox migration and reconciliation

    We run a full migration into the Bullhorn Sandbox (Full Copy or Partial Copy) using production-like data volume. The customer's team reconciles record counts (Candidates in, Jobs in, Applications in, Attachments in), spot-checks 25-50 random records against the SmartRecruiters source, and validates the pipeline stage mapping. Bullhorn Custom Object field data is verified against SmartRecruiters custom field values. Any mapping corrections, field type mismatches, or stage mapping issues are resolved in the Sandbox before production migration begins.

  5. Owner reconciliation and user provisioning

    We extract every distinct SmartRecruiters User referenced on Candidate, Job, and Application records and match by email against the Bullhorn destination org's User table. Bullhorn requires User provisioning by a Bullhorn Admin; we identify any SmartRecruiters Users without Bullhorn counterparts and escalate to the customer's Bullhorn Admin for provisioning. Migration cannot proceed past this step because User references on Job and Application records require valid Bullhorn User IDs. Hiring team role assignments are resolved at this stage.

  6. Production migration in dependency order

    We run production migration in record-dependency order: Departments (prerequisite for Job references), Users (validated from reconciliation), Jobs (from SmartRecruiters Postings with location and description preserved), Candidates (deduped by email), Applications via two-step JobSubmission import (New status then stage update), Attachments (linked to Candidates), Interview Records as Events, Scorecards as Notes, Offers as Placement records with custom fields, and Custom Object data (last, after Bullhorn Support confirms Custom Object availability). Each phase emits a row-count reconciliation report before the next phase begins. We use Bullhorn REST API with rate-limit handling and exponential backoff for all inserts.

  7. Cutover, validation, and workflow handoff

    We freeze SmartRecruiters write access 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 the SmartRecruiters job board distribution and Hiring Agent workflow inventory document to the customer's admin team for rebuild using Bullhorn Automation or a Bullhorn Marketplace partner. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's recruiting team. We do not rebuild SmartRecruiters workflows, screening rules, or automations in Bullhorn as part of standard migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

SmartRecruiters logo

SmartRecruiters

Source

Strengths

  • Wide job board distribution to 100+ sites with automatic posting reduces manual sourcing overhead for high-volume teams.
  • AI Candidate Matching and screening engine reduces time spent on resume qualification across large applicant pools.
  • Deep SAP SuccessFactors integration makes it the default ATS choice for organizations standardizing on the SAP HCM ecosystem.
  • Collaborative hiring tools — shared scorecards, team ratings, hiring manager portals — distribute evaluation work beyond the recruiting team.
  • Offer Management and new hire onboarding features extend the platform beyond pure ATS into end-to-end hiring workflow.

Weaknesses

  • Starting price of $15,000/year plus per-feature pricing model excludes all but enterprise or upper mid-market buyers.
  • Interface is widely described as clunky and difficult to navigate, particularly for non-technical hiring managers.
  • Reporting is largely automated and not highly customizable, limiting HR analytics flexibility.
  • Bulk operations on job postings across multiple locations are difficult, creating friction for multi-branch, high-volume hiring operations.
  • Trustpilot rating of 1.5/5 signals platform reliability and customer satisfaction concerns at scale.
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. 1 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

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

  • 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

    B

    SmartRecruiters: Not publicly documented on the developer portal.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your SmartRecruiters to Bullhorn ATS & CRM 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 25,000 candidates and 5,000 job postings with standard fields and minimal custom fields. Migrations with multiple SmartRecruiters custom fields requiring Bullhorn Custom Object setup, large engagement histories (interviews, scorecards, offers), or Bullhorn Recruitment Cloud destinations move to ten to sixteen weeks because of Bullhorn Support coordination time, custom object provisioning, and the two-step application stage sequencing. The Custom Object provisioning step alone can take 5-10 business days depending on Bullhorn Support queue depth.

Adjacent paths

Related migrations to explore

Ready when you are

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