HRMS migration

Migrate from ADP Workforce Now to Bullhorn ATS & CRM

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

ADP Workforce Now logo

ADP Workforce Now

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

83%

10 of 12

objects map 1:1 between ADP Workforce Now and Bullhorn ATS & CRM.

Complexity

BStandard

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

ADP Workforce Now and Bullhorn serve different primary functions: ADP is a full HCM suite centred on employment records, payroll compliance, and benefits administration, while Bullhorn is an ATS and CRM built for staffing and recruiting agencies managing candidates, job orders, placements, and client relationships. The migration from ADP to Bullhorn is not a like-for-like HCM replacement — it is a scope reduction to recruiting and talent operations. We extract Workers, org structure, and payroll history from ADP and map them into Bullhorn's Candidate and Client objects, but Bullhorn has no native payroll, benefits administration, or garnishment processing. We flag these gaps explicitly and provide manual reconciliation checklists for HR administrators to close them in Bullhorn or retain them in a separate payroll system. Workflows, approval chains, and the ADP Talent Management module do not migrate; we deliver a written inventory of every active workflow and automation for the customer's admin to rebuild in Bullhorn's workflow builder or via Bullhorn Automation Engine.

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

ADP Workforce Now logo

ADP Workforce Now

What's pushing teams away

  • Long wait times on ADP customer service support lines drive frustration — multiple G2 and Software Advice reviewers report spending hours on hold with no resolution, cited as the top reason for switching.
  • The ADP Workforce Now UI is frequently described as outdated, unintuitive, and difficult to navigate for reporting tasks, creating friction for HR administrators and employees alike.
  • Custom labor distribution and project-based reporting capabilities are limited — construction, staffing, and project-based companies report ADP cannot produce job-level cost breakdowns without expensive custom development.
  • Integration ecosystem limitations cause problems — some third-party tools like Ethena experience periodic sync errors and delays when using the reports-based ADP integration method.
  • ADP pricing is opaque and contracts are multi-year — companies report hidden fees for state filings, check printing, year-end processing, and per-feature add-ons that inflate costs beyond the initial quote.

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 ADP Workforce Now objects map to Bullhorn ATS & CRM

Each row shows how a ADP Workforce Now 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.

ADP Workforce Now

Worker

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

ADP Worker records map to Bullhorn Candidate records as the primary migration object. We map WorkerID as Bullhorn candidateID for audit, legalName fields to name fields, preferred communication preferences to Bullhorn email/phone fields, and Worker status (active, terminated, on leave) to Bullhorn employment status. Address data migrates to Candidate address fields. Note that Bullhorn Candidates do not carry employment contract terms natively — pay rate, employment type, and start date from ADP require mapping to Bullhorn's custom fields or to the Candidate Work History object if the staffing agency tracks assignment history. Historical job assignments within ADP may require mapping to Bullhorn Placements if the agency tracks prior placements.

ADP Workforce Now

Worker Custom Fields

maps to

Bullhorn ATS & CRM

Candidate Custom Fields

lossy
Mapping required

ADP supports 8 types of Worker Custom Fields (amount, code, date, indicator, number, percentage, string, telephone) at both the Worker and Worker Person levels. However, the ADP Workforce Now API does not expose a read endpoint for custom field values — they are write-only. We document which custom fields are in use during scoping, request a reference file of current values from the customer, and recreate them as Bullhorn Candidate custom fields before migration. Bullhorn's custom field creation requires admin access and is scoped to the Candidate record type.

ADP Workforce Now

Payroll Deduction Instructions (voluntary)

maps to

Bullhorn ATS & CRM

Candidate Billing / Custom Fields

1:1
Fully supported

ADP voluntary deduction instructions (health benefits, retirement contributions, voluntary benefits) map partially to Bullhorn. Bullhorn has no native deduction object — we map deduction types, amounts, and frequency to Candidate custom fields or to a billing setup record. Garnishment orders and involuntary withholding orders are explicitly excluded from the ADP Deduction Instruction API and will not transfer via API. We flag all active garnishment orders during scoping and provide a manual reconciliation checklist for the customer's HR admin to recreate in their chosen payroll system post-migration.

ADP Workforce Now

Benefit Plans and Enrolments

maps to

Bullhorn ATS & CRM

Candidate Custom Fields or External System

1:1
Mapping required

ADP benefit enrolments and coverage elections are accessible via ADP's Benefits API (Beneficiaries, Benefit Dependents, External Benefit Plans). Bullhorn has no standard benefits object. We map benefit plan names, coverage levels, and enrolment dates to Candidate custom fields. Plan configurations are employer-specific in ADP and do not map as structured Bullhorn data — we document the benefit plan inventory during scoping for the customer to recreate manually in Bullhorn or retain in a benefits administration system separate from Bullhorn.

ADP Workforce Now

Time Off and Leave Records

maps to

Bullhorn ATS & CRM

Not Supported Natively / Bullhorn Add-on

1:1
Mapping required

ADP Time Off history, current balances, and leave event records are accessible via the ADP Time Off Requests API. Bullhorn has no native time-off or leave management object. We map current accrued balances to Candidate custom fields as a snapshot record, but Bullhorn's standard ATS and CRM does not track leave balances or run leave approval workflows. If the customer needs time-off management in Bullhorn, this requires a Bullhorn Marketplace add-on or a separate time-off system. Leave plan configurations and accrual rules do not migrate and must be rebuilt.

ADP Workforce Now

Payroll History and Pay Data

maps to

Bullhorn ATS & CRM

Candidate Custom Fields (reference only)

1:1
Mapping required

ADP payroll run history, pay stubs, and tax withholding records are accessible via the ADP Payroll API. Bullhorn has no payroll module. We map the most recent pay rate, pay frequency, and standard hours to Candidate custom fields for reference during recruiting and placement activity. Full payroll history (pay stubs, YTD earnings, tax withholding) does not migrate structurally — it is flagged for manual reconciliation or for import into the customer's chosen payroll system if Bullhorn is not the payroll system of record.

ADP Workforce Now

Locations and Departments

maps to

Bullhorn ATS & CRM

Corporate Department and Branch

1:1
Fully supported

ADP Locations and Departments map to Bullhorn Corporate Departments and Branches respectively. Bullhorn's Corporate Department object stores department-level information for client corporations; the Branch object represents staffing office or location-level entities. ADP validation table values for Locations and Departments migrate as Bullhorn reference records. We resolve the ADP Location-to-Bullhorn Branch mapping during scoping, as staffing agencies often have multiple branch offices that need distinct Bullhorn Branch records.

ADP Workforce Now

Job Titles (Validation Tables)

maps to

Bullhorn ATS & CRM

Job Order Title / Candidate Skills

1:1
Fully supported

ADP Job Titles from validation tables map to Bullhorn Job Order titles and Candidate skill descriptors. Bullhorn Job Orders store the position title, description, and requirements for open roles; Candidates store skills and work history including prior job titles. We map ADP job title values to Bullhorn Job Order titles and to Candidate skills where the staffing workflow references candidate qualifications against job requirements.

ADP Workforce Now

Cost Numbers

maps to

Bullhorn ATS & CRM

Custom Fields on Candidate or Job Order

lossy
Fully supported

ADP Cost Numbers are used by project-based and construction companies to track labour distribution against projects or cost centres. Bullhorn has no native cost number or labour distribution object. If the customer relies on ADP cost numbers for billing or project tracking, we map them to Bullhorn custom fields on Candidate or Job Order. This mapping is scoped during discovery — Bullhorn does not support the multi-level cost breakdown model that ADP provides without custom field configuration.

ADP Workforce Now

Worker Termination Records

maps to

Bullhorn ATS & CRM

Candidate Employment History / Placement History

1:1
Fully supported

ADP termination records (termination date, termination reason, rehire eligibility) map to Bullhorn Candidate employment history entries. Bullhorn's Placement record tracks assignments and their end dates; termination reason and rehire eligibility are stored as custom fields on the Candidate. We map ADP terminationReason and terminationDate to Bullhorn Candidate termination fields and set the rehireEligible flag accordingly.

ADP Workforce Now

Talent Management (Performance Reviews, Goals, Learning)

maps to

Bullhorn ATS & CRM

Not Supported

1:1
Fully supported

ADP Workforce Now's Talent Management module — covering performance reviews, goal setting, compensation planning, and learning — is not accessible via the ADP Workforce Now public API. It uses a separate proprietary interface. Bullhorn has no native performance management or learning object. Neither platform supports this data via API for migration. We document the Talent Management module configuration and record types during scoping as a reference for the customer's HR admin to evaluate whether Bullhorn Marketplace add-ons or a separate performance management system is appropriate post-migration.

ADP Workforce Now

Event Notifications and Webhooks

maps to

Bullhorn ATS & CRM

Bullhorn Webhooks / Automation Engine

1:1
Mapping required

ADP exposes event notification webhooks for worker lifecycle events (hire, termination, pay rate change, location change). Bullhorn has its own webhook system for recruitment events. During migration, we configure ADP webhooks to capture any changes during the delta sync window. Bullhorn Automation Engine is the destination equivalent for triggering actions on candidate and job events. The migration does not transfer ADP webhook configurations — we document the ADP event types in use and recommend Bullhorn equivalents for the customer's admin to configure post-migration.

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.

ADP Workforce Now logo

ADP Workforce Now gotchas

High

ADP API access requires a signed developer agreement

Medium

API rate limits are per-client and not publicly documented

High

Worker Custom Fields are write-only via the ADP API

Medium

Reports-based ADP integrations have known sync reliability issues

Medium

Involuntary Withholding Orders and Company Loans are not supported in the API

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

  • Bullhorn has no payroll or benefits administration objects

    Bullhorn ATS & CRM is a recruiting and staffing platform — it does not have native objects for payroll processing, tax withholding, benefit enrolments, or garnishment orders. ADP payroll run history, current pay rates, voluntary deductions, and benefit coverage elections migrate as Candidate custom fields or reference records, not as structured payroll data. Garnishment orders and involuntary withholding orders are explicitly unsupported in the ADP Deduction Instruction API and will not transfer at all. We flag all active garnishment orders during scoping and provide a manual reconciliation checklist for the customer's HR admin. Any organisation that needs ongoing payroll processing must retain ADP, use a separate payroll platform, or configure Bullhorn's billing module as a standalone replacement.

  • ADP API access requires a signed developer agreement before migration begins

    ADP does not expose its APIs publicly. Before we can authenticate against ADP Workforce Now, your organisation must establish a developer agreement directly with ADP and agree to their terms. This is a prerequisite for any API-based migration and can take days to weeks depending on procurement cycles. Additionally, ADP's API rate limits are per-client and not publicly documented — the production limits are available only after signing the developer agreement. We account for conservative pacing in our export design and monitor 429 responses to back off dynamically. We flag this as a migration blocker during scoping and work with your ADP representative to accelerate the process.

  • ADP Worker Custom Fields are write-only and cannot be exported via API

    ADP exposes 8 types of Worker Custom Fields for write operations (amount, code, date, indicator, number, percentage, string, telephone) at both the Worker and Worker Person levels. However, the ADP Workforce Now API does not expose a read endpoint for custom field values — they are write-only. We cannot export current custom field values directly from ADP. We document which fields are in use during scoping, request that the customer provide field values as a reference file, and map them from the last known export. Bullhorn custom fields must be pre-created in the Bullhorn admin before migration begins. This adds a manual preparation step that must complete before any data loads into Bullhorn.

  • Bullhorn's staffing data model does not natively support ADP org structures

    ADP Locations, Departments, Cost Numbers, and Job Titles form a validated org hierarchy used for multi-state payroll compliance and labour distribution. Bullhorn's org model uses Corporate Departments and Branches, which are client-relationship entities, not HR compliance structures. Companies migrating from ADP to Bullhorn for staffing operations may find that Bullhorn does not support the multi-level cost centre breakdown, jurisdiction-level tax configuration, or union local mapping that ADP manages natively. We map ADP locations to Bullhorn Branches and departments to Bullhorn Corporate Departments, but the compliance depth of ADP's validation tables does not transfer. The customer's Bullhorn admin must evaluate whether Bullhorn's org structure meets the needs of their staffing operations.

  • Workflows, approval chains, and Talent Management do not migrate

    ADP event-triggered workflows with approval chains (direct deposit updates, time-off approvals, onboarding workflows) and the ADP Talent Management module (performance reviews, goal setting, compensation planning, learning) are not accessible via the ADP Workforce Now API. Bullhorn Automation Engine handles recruiting-specific task and email automation, but it is a different model from ADP's event-workflow system. We do not migrate ADP workflows as code. We deliver a written inventory of every active ADP workflow, its trigger events, conditions, actions, and assigned approvers, for the customer's Bullhorn admin to rebuild in Bullhorn Automation Engine. Talent Management configurations require a separate evaluation of Bullhorn Marketplace add-ons or a third-party performance management platform.

Migration approach

Six steps for a successful ADP Workforce Now to Bullhorn ATS & CRM data migration

  1. ADP developer agreement and API scoping

    We begin by confirming that the customer has established a developer agreement with ADP and obtained Client ID and Client Secret credentials. Without this, no API-based export is possible. We then run a scoping read against ADP's Worker Management API to enumerate all active Workers, custom fields in use, Locations, Departments, Job Titles, and deduction instructions. We request a manual export of ADP Worker Custom Field values from the customer's HR admin as a reference file, since these cannot be read via API. We also request a list of active garnishment orders and benefit enrolments for the manual reconciliation scope. The scoping output is a written migration specification covering record counts, field inventory, and any known ADP API constraints.

  2. Bullhorn schema design and custom field creation

    We design the Bullhorn destination schema before any data loads. This includes provisioning Bullhorn Candidate custom fields to receive ADP compensation data (current pay rate, pay frequency, employment type), deduction reference fields, benefit plan snapshot fields, termination fields, and any ADP Cost Number or custom labour distribution values. We also create Bullhorn Corporate Department records and Branch records mapped from ADP Locations and Departments. Bullhorn custom field creation requires admin access and must complete before the migration window opens. We coordinate with the customer's Bullhorn admin to create all required fields and validate the schema in Bullhorn's settings before data entry begins.

  3. Sandbox migration and reconciliation

    We run a full migration into Bullhorn's sandbox or a parallel test environment using production-like data volume. The customer's Bullhorn admin and HR lead reconcile record counts (Workers in, Candidates created, custom fields populated), spot-check 25-50 candidate records against the ADP source, and validate that Locations and Departments resolved correctly to Bullhorn Branches and Corporate Departments. Any mapping corrections — incorrect field type assignments, missing custom fields, incorrect org unit mapping — are identified and corrected before production migration begins. This step is the last opportunity to adjust the mapping without touching production data.

  4. Bullhorn User provisioning and Owner mapping

    We extract every distinct ADP Worker with a user account or manager role and match by email address against Bullhorn User accounts. Bullhorn Users represent recruiters, sales staff, and system administrators who will own Candidates, Jobs, and Placements. Any ADP Worker without a matching Bullhorn User goes to a reconciliation queue for the customer's Bullhorn admin to provision. Bullhorn requires active User accounts for assignment ownership on Candidate and Job records — migration cannot proceed past User provisioning without this step resolved.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Bullhorn Users (validated from step 4), Branches and Corporate Departments (from ADP Locations and Departments), Candidates (from ADP Workers with ADP custom field values injected from the reference file), termination records and rehire eligibility flags, compensation reference data in custom fields, benefit plan snapshots, and time-off balance snapshots. Each phase emits a row-count reconciliation report before the next phase begins. Garnishment orders are not in scope for API migration — they appear on the manual reconciliation checklist delivered to the HR admin.

  6. Cutover, delta sync, and workflow rebuild handoff

    We freeze ADP writes during cutover, run a final delta migration of any Worker records modified during the migration window, then enable Bullhorn as the recruiting system of record. We deliver the ADP workflow inventory document — listing every active ADP workflow with its trigger events, conditions, actions, and approvers — to the customer's Bullhorn admin for rebuild in Bullhorn Automation Engine. We support a one-week hypercare window to resolve any data quality issues raised by the Bullhorn team. We do not rebuild ADP workflows as Bullhorn Automation Engine workflows inside the migration scope; that is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

ADP Workforce Now logo

ADP Workforce Now

Source

Strengths

  • All-in-one HCM platform consolidating payroll, HR, benefits, time tracking, and talent into a single database
  • ADP's compliance expertise and tax-filing penalty guarantee reduces employer liability on payroll errors
  • Supports multi-state and multi-jurisdiction payroll with built-in tax rule management for US employers
  • AI-powered payroll error detection identifies anomalies before payroll processing completes
  • ADP Marketplace offers 150+ pre-built integrations including Workato, Deputy, and Greenhouse OnRamp

Weaknesses

  • Customer service wait times are a consistent pain point across G2, Capterra, and Reddit reviews
  • UI is widely described as outdated and unintuitive, particularly for reporting and navigation tasks
  • Pricing is opaque — no published list prices, contracts are multi-year, and hidden fees are common
  • Talent Management module uses a proprietary interface not accessible via the public API
  • Custom labor distribution and project-level cost reporting requires expensive custom development
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 ADP Workforce Now and Bullhorn ATS & CRM.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 7 core objects map 1:1 between ADP Workforce Now 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

    C

    ADP Workforce Now: Per-client rate limits and concurrency limits — specific thresholds not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Migrations land between four and six weeks for straightforward cases of up to 500 Workers with current compensation data, org structure, and no active garnishment orders requiring manual reconciliation. Migrations of 500+ Workers that include historical payroll data, multiple ADP custom fields, multiple Locations, active benefit enrolments, and a complex org structure move to ten to fourteen weeks because of ADP API authentication overhead, Bullhorn custom field schema creation, and the manual reconciliation scope for garnishment orders and benefit plan records.

Adjacent paths

Related migrations to explore

Ready when you are

Move from ADP Workforce Now.
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