HRMS migration

Migrate from Paylocity to Bullhorn ATS & CRM

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

Paylocity logo

Paylocity

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

83%

10 of 12

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

Complexity

BStandard

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Paylocity to Bullhorn is a platform-category migration: Paylocity is a unified HCM suite covering payroll, benefits, time-off, and employee records for internal HR operations; Bullhorn is an ATS and CRM built for recruitment agencies, staffing firms, and staffing-heavy enterprises to manage candidates, job orders, and client relationships. The migration does not replicate payroll processing, tax withholding, or benefits administration capabilities in Bullhorn because Bullhorn does not have those native objects. Instead, we map employee identity to Candidate, employment context to custom Candidate fields, and HCM-specific data (compensation history, benefits enrollments, accrual snapshots) to Bullhorn Custom Objects that the customer's team configures before import. We preserve the composite Paylocity Employee ID plus Company ID as a permanent external ID on Bullhorn Candidate so that future payroll-system integrations can reference the source record by ID.

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

Paylocity logo

Paylocity

What's pushing teams away

  • Customers report persistently poor customer support — multi-hour hold times, delayed callbacks, and difficulty reaching a knowledgeable representative for critical payroll or system issues.
  • The reporting module covers basic payroll and headcount summaries but lacks flexibility for complex queries involving tax details, loan adjustments, benefits balances, or cross-module joined reports.
  • Time-off accrual discrepancies are a recurring complaint — accrual rates, carryover rules, and year-end balance resets sometimes calculate incorrectly, requiring manual corrections.
  • Module inconsistency frustrates users: some product areas like Core Payroll feel polished while others — particularly around integrations and advanced analytics — feel underdeveloped.
  • Pricing opacity and aggressive renewal tactics drive some customers to competitors with transparent per-seat or flat-rate models.

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

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

Paylocity

Employee (composite key: Employee ID + Company ID)

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

Paylocity Employee records map to Bullhorn Candidate. The composite Paylocity Employee ID plus Company ID is stored as a permanent external ID field (pcty_employee_id__c + pcty_company_id__c) on the Bullhorn Candidate record. This preserves the full source identity for any future payroll integration or audit trail. Candidate name, email, phone, address, and employment status map to Bullhorn standard Candidate fields. The migration resolves the Paylocity Company ID to a Bullhorn ClientCorporation or Corporate Department reference where applicable.

Paylocity

Employee

maps to

Bullhorn ATS & CRM

ClientCorporation

1:1
Fully supported

Paylocity Company ID entities map to Bullhorn ClientCorporation records when the migration scope includes mapping internal organizational structure. Each Paylocity Company ID (representing a legal entity, subsidiary, or benefit division) becomes a ClientCorporation with the company's legal name, address, and tax ID. The Company ID is stored as an external ID on the ClientCorporation for reconciliation.

Paylocity

Biographical and Employment Data

maps to

Bullhorn ATS & CRM

Candidate (custom fields)

1:1
Fully supported

Paylocity biographical fields (legal name, date of birth, address, contact info) and employment data (hire date, termination date, job title, department, employment status, FLSA classification) map to Bullhorn Candidate standard fields and custom fields. Hire date maps to dateAvailable; job title maps to occupation; department maps to a custom Candidate field. We apply Bullhorn's field-type rules (date fields, text fields, picklist fields) during mapping.

Paylocity

Paylocity Company ID Structure

maps to

Bullhorn ATS & CRM

ClientCorporation + Department

1:many
Fully supported

Organizations with multiple Paylocity Company IDs require explicit mapping to Bullhorn's entity structure. We detect all active Company IDs during discovery and create a corresponding ClientCorporation per entity. If the destination Bullhorn org supports departments within a ClientCorporation, we use that for additional granularity. We flag any duplicate Candidate records that would result from an employee ID appearing under multiple Company IDs and apply a de-duplication strategy (prefer active Company ID, archive secondary) before import.

Paylocity

Compensation History

maps to

Bullhorn ATS & CRM

Custom Object: Candidate Compensation

1:1
Mapping required

Paylocity compensation records (pay rates, salary changes, bonus amounts, pay frequency, effective dates) do not have a native Bullhorn equivalent. We create a Bullhorn Custom Object (CandidateCompensation) linked to Candidate via a lookup relationship, with fields for payType, baseRate, effectiveDate, payFrequency, bonusAmount, and currency. Historical compensation records migrate as read-only reference entries ordered by effective date. Pay-type-aware mapping handles hourly, salary, and commission structures distinctly.

Paylocity

Benefits Enrollments

maps to

Bullhorn ATS & CRM

Custom Object: Candidate Benefits Reference

1:1
Mapping required

Paylocity benefits enrollment data (carrier, plan name, coverage level, deduction amounts, election status) migrates to a Bullhorn Custom Object (CandidateBenefits) linked to Candidate. The migration preserves benefit plan names, enrollment dates, and deduction amounts as reference records. Plan-level rules, contribution tiers, and eligibility criteria are not migrated because Bullhorn does not have a benefits administration engine and these configurations would have no functional destination.

Paylocity

Payroll / Pay Run History

maps to

Bullhorn ATS & CRM

Custom Object: Pay Run Reference

1:1
Fully supported

Historical pay run records (gross pay, net pay, tax withholdings, deduction line items) from Paylocity migrate to a Bullhorn Custom Object (PayRunReference) linked to Candidate. These are read-only reference records; Bullhorn does not process payroll and cannot recalculate tax withholding. We preserve the most recent 12-24 months of pay run history as reference data based on customer scope. Retroactive pay adjustments migrate as adjustment entries with a flag noting they are historical reference only.

Paylocity

Federal and State Tax Withholding

maps to

Bullhorn ATS & CRM

Custom Object: Tax Withholding Reference

1:1
Mapping required

Paylocity W-4 federal allowances, state withholding allowances, and supplemental tax rate elections migrate to a Bullhorn Custom Object (TaxWithholdingRef) linked to Candidate. These records are migrated as a snapshot of the employee's last known tax election as of the migration date. Bullhorn does not have a tax withholding engine, so the migration does not establish any active withholding process; the records serve as a reference for the customer's payroll team to re-enter elections in their chosen payroll system post-migration.

Paylocity

Time-Off Accrual Balances

maps to

Bullhorn ATS & CRM

Custom Object: Accrual Balance Snapshot

1:1
Fully supported

Paylocity accrual balance snapshots (PTO available, PTO used, sick balance, personal balance, carryover amounts, policy year) migrate to a Bullhorn Custom Object (AccrualSnapshot) linked to Candidate. We capture the balance as of the migration date and flag it as a static snapshot, not a live balance. Bullhorn's accrual engine does not recalculate; if the customer wants live accrual tracking in Bullhorn, they must implement a third-party time-off management integration or custom accrual calculation logic post-migration. We note any Paylocity accrual calculation discrepancies discovered during export so the customer can correct balances before migration.

Paylocity

Custom Fields / Employee Properties

maps to

Bullhorn ATS & CRM

Custom Fields on Candidate + Custom Objects

lossy
Mapping required

Paylocity allows custom employee properties to be created independently in the HR module and the Payroll module, meaning a custom property may appear in one module's API response but not the other. We query both module-specific endpoints during discovery and reconcile the union of all custom fields. We map text, number, and date custom fields to Bullhorn Candidate custom fields of equivalent type. Picklist and multi-select custom fields map to Bullhorn picklist or multi-select-picklist fields where the allowed values are preserved. Where Paylocity field names overlap but data types differ, we apply explicit type casting and log a discrepancy note in the migration manifest.

Paylocity

Employee Documents

maps to

Bullhorn ATS & CRM

Candidate Documents (Bullhorn native)

1:1
Fully supported

Employee documents stored in Paylocity (offer letters, signed agreements, certifications, I-9 forms, performance reviews) migrate as Bullhorn Candidate documents. We map file type, employee association, and document category to Bullhorn's document model. Documents are uploaded via Bullhorn's file attachment API and linked to the Candidate record. File naming preserves the original document descriptor from Paylocity. Bullhorn's document size limits apply; documents exceeding Bullhorn's file size threshold are flagged for alternative storage and linked by URL reference.

Paylocity

Paylocity Owner / HR Administrator

maps to

Bullhorn ATS & CRM

Bullhorn User

1:1
Fully supported

Paylocity employees with HR administrator, payroll processor, or system configuration roles map to Bullhorn User records by email match. Any Paylocity user without a matching Bullhorn User goes to a reconciliation queue for the customer's Bullhorn admin to provision before record import resumes. Bullhorn User provisioning (active vs inactive status, role assignment) is the customer's responsibility; we map the role context from Paylocity to Bullhorn role descriptions for the admin's reference.

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.

Paylocity logo

Paylocity gotchas

Medium

Paylocity Weblink API rate limit is 1,500 calls per minute

High

No public bulk export endpoint requires paginated loop exports

Medium

Time-off accrual balances may carry calculation errors from Paylocity

High

Multiple Paylocity Company IDs require explicit entity mapping

Low

Custom field schemas vary between payroll and HR modules

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

  • Paylocity composite Employee ID requires full external ID preservation

    Paylocity uniquely scopes employees by the composite of Employee ID plus Company ID. A single Employee ID value may exist under multiple Company IDs with different employment contexts. We store the complete composite key as external ID fields (pcty_employee_id__c and pcty_company_id__c) on Bullhorn Candidate during migration. If only the numeric Employee ID is migrated without the Company ID context, duplicate Candidate records result when an employee has records under multiple Paylocity Company IDs. We detect all active Company IDs during discovery, build the full composite key, and deduplicate or split records per the customer's entity mapping strategy before any write.

  • Bullhorn has no payroll or tax withholding engine

    Bullhorn is an ATS and CRM, not an HCM or payroll platform. Paylocity payroll data (pay runs, tax withholdings, direct deposit configurations, garnishment orders, benefit deductions) has no functional destination in Bullhorn. We migrate pay run history and tax withholding snapshots as read-only reference Custom Objects. The customer's payroll team must re-establish tax withholding elections, direct deposit setup, and ongoing payroll processing in a separate payroll system post-migration. Failing to communicate this scope limitation upfront leads to expectations that historical payroll data will be live-processable in Bullhorn, which it will not be.

  • Benefits enrollment migrates as reference only, not as live elections

    Paylocity benefits enrollment records (carrier assignments, plan elections, deduction amounts) migrate to Bullhorn Custom Objects as static reference records. Bullhorn does not have a benefits administration engine, open enrollment automation, or carrier integration. Active benefits elections cannot be maintained or updated within Bullhorn. We clearly document this boundary during scoping and recommend that the customer's HR team maintains active benefits administration in a dedicated HCM platform (Paylocity, ADP, Rippling, or similar) while Bullhorn handles recruitment and staffing workflow. If the customer terminates Paylocity entirely, they must implement a separate benefits administration solution.

  • Time-off accrual snapshots do not maintain live balance in Bullhorn

    Bullhorn does not include a time-off accrual calculation engine. Paylocity accrual balance snapshots migrate as static custom field values on Bullhorn Candidate, not as a live-calculated balance. Employees will not be able to request time off or view updated accruals within Bullhorn. If the customer requires time-off management in Bullhorn, they must implement a third-party time-off integration (built on Bullhorn Custom Objects and Bullhorn API webhooks) or use a separate HR system for accrual tracking. We flag this gap and deliver the accrual snapshot as a starting balance the customer's admin can reference when configuring any post-migration accrual solution.

  • Paylocity Weblink API rate limit of 1,500 calls per minute constrains export speed

    Paylocity's Weblink API enforces a rate limit of 25 calls per second (1,500 calls per minute). Large organizations with 5,000+ employees can require 4-8 hours of sustained paginated API polling to complete a full export. We pace export loops in batches of 50 employee records with staggered timing to stay well within the limit. If the customer's Paylocity integration key is shared with other active integrations, we coordinate timing to avoid cumulative rate-limit collisions. Exports run outside of payroll processing windows to avoid interference with live payroll operations.

Migration approach

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

  1. Discovery and multi-Company-ID audit

    We audit the Paylocity tenant across employee count, active Company IDs, custom field schemas (HR module and payroll module separately), benefits enrollment records, compensation history volume, time-off accrual snapshots, and employee document count. We identify any multi-Company-ID structures that require entity split or consolidation mapping. We also verify the Bullhorn edition (Team, Corporate, Enterprise) and confirm that the required Custom Object types can be provisioned in the destination org. The discovery output is a written migration scope document with record counts per object type and a Bullhorn schema requirements list for the customer's Bullhorn admin.

  2. Bullhorn Custom Object schema provisioning

    Before any data migration, we work with the customer's Bullhorn admin to provision the required Custom Object types: CandidateCompensation, CandidateBenefits, PayRunReference, TaxWithholdingRef, and AccrualSnapshot. We define each Custom Object's field schema (field names, data types, picklist values, required/optional flags) to match the Paylocity source fields being mapped. Custom Objects are deployed in a Bullhorn Sandbox or staging org first for validation before production provisioning. Bullhorn Corporate or Enterprise tier is required for Custom Object support; Bullhorn Team does not include Custom Objects.

  3. Owner and user reconciliation

    We extract every distinct Paylocity user with an HR administrator, payroll processor, or employee record ownership role. We match these by email against the Bullhorn destination org's User table. Paylocity users without a matching Bullhorn User go to a reconciliation queue for the customer's Bullhorn admin to provision. Bullhorn User status (active or inactive) must reflect whether the person is currently employed and active in the recruitment workflow. Migration cannot proceed past employee record import until all Owner lookups are resolvable.

  4. ClientCorporation entity mapping and provisioning

    For each Paylocity Company ID, we create a Bullhorn ClientCorporation record with the company's legal name, address, and the Paylocity Company ID stored as an external ID. If the customer requires department-level separation within a ClientCorporation, we provision departments during this step. This step must complete before Candidate import so that the ClientCorporation lookup on Candidate is satisfied at insert time. Multi-Company-ID splits are logged with a de-duplication decision record so the customer has an auditable rationale for any record consolidation or splitting.

  5. Candidate and Custom Object import in dependency order

    We run production migration in record-dependency order: ClientCorporations (from Company IDs), then Candidates (with external ID fields set from Paylocity composite key, ClientCorporation lookup resolved, biographical and employment data mapped), then Custom Objects linked to Candidate (compensation history, benefits references, pay run snapshots, tax withholding snapshots, accrual balance snapshots). Each phase emits a row-count reconciliation report. Pay run and accrual snapshots migrate in reverse-chronological order with a maximum lookback window defined in the migration scope.

  6. Employee document migration

    Employee documents (offer letters, certifications, agreements) migrate as Bullhorn Candidate document attachments. We batch file uploads via Bullhorn's file attachment API, preserving original file names and setting document type based on Paylocity category metadata. Files exceeding Bullhorn's size limits are flagged, and we provide an alternative storage plan with URL-reference linking. Document migration runs after Candidate import completes so that Candidate ID lookups are available for attachment linking.

  7. Cutover, validation, and payroll-handoff documentation

    We freeze Paylocity write access during cutover and run a final delta migration of any records modified during the migration window. We validate record counts, spot-check 25-50 random Candidate records against Paylocity source data, and confirm all Custom Object relationships are intact. We deliver a payroll handoff document listing every employee's last payroll date, last pay run reference, and current tax withholding election snapshot so the customer's new payroll system administrator can re-establish payroll processing without gaps. Bullhorn workflows and automations do not migrate; we deliver a written inventory of Bullhorn automation opportunities for the customer's admin to rebuild using Bullhorn's workflow builder.

Platform deep dives

Context on both ends of the pair

Paylocity logo

Paylocity

Source

Strengths

  • Unified HCM suite covering HR, payroll, spend management, and IT asset management in a single platform.
  • Modern cloud-first interface with mobile app, contrasting with legacy competitors like ADP Workforce Now.
  • AI-powered features including touchless expense reporting, automated workflow routing, and fraud detection.
  • Workflow automation library with pre-built finance-compliant forms that stay current with regulations.
  • Scalable from mid-market (100-500 employees) through enterprise (5,000+) with modular attachment of additional product suites.

Weaknesses

  • Customer support quality is widely criticized in reviews — long hold times and inconsistent agent knowledge are common complaints.
  • Reporting is limited to standard payroll and headcount summaries; complex cross-module analytics require third-party tools or manual export.
  • No publicly documented bulk export or bulk import API — migrations must loop through paginated REST endpoints.
  • Pricing is opaque and contract value varies significantly based on negotiation, employee count, and module selection.
  • Time-off accrual calculation logic has known bugs that produce incorrect balances, requiring manual HR intervention to correct.
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 Paylocity and Bullhorn ATS & CRM.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 7 core objects map 1:1 between Paylocity 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

    Paylocity: 1,500 calls per minute (Weblink API, as of Nov 2024); per-endpoint rate limits documented on the Paylocity Developer Portal — not publicly aggregated.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Paylocity 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 organizations with under 2,000 employees, a single Paylocity Company ID, and limited custom field schemas. Migrations with multiple Paylocity Company IDs requiring entity split mapping, 5,000+ employee records, extensive HR and payroll module custom fields, or historical pay run data that must be preserved as reference records move to eight to twelve weeks. The Custom Object schema provisioning in Bullhorn (which requires Corporate or Enterprise tier) adds one to two weeks to the timeline if the customer does not have Bullhorn already configured.

Adjacent paths

Related migrations to explore

Ready when you are

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