HRMS migration

Migrate from CatalystOne to Bullhorn ATS & CRM

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

CatalystOne logo

CatalystOne

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

50%

6 of 12

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

Complexity

BStandard

Timeline

4-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

CatalystOne is a Scandinavian full-lifecycle HCM platform centred on the Person object, with positions, competencies, succession plans, org hierarchy, and payroll integration all linked to the employee record. Bullhorn is a cloud ATS and CRM centred on the Candidate object, with JobOrder, ClientCorporation, Placement, and Custom Objects as the primary entities. These platforms have fundamentally different data models, which means migration is a schema redesign, not a field-to-field copy. We start with a schema-discovery pass against the customer's specific CatalystOne tenant to enumerate available fields, then design the Bullhorn target schema before any data moves. Bullhorn editions limit Custom Objects from zero (ATS Growth) to two (Bullhorn ATS) to ten (Front Office Growth/Enterprise), which we confirm during scoping before committing to a competency and succession plan mapping strategy. Workflows, automation rules, and payroll integration logic are not API-accessible in CatalystOne and are documented separately for the customer's admin to rebuild.

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

CatalystOne logo

CatalystOne

What's pushing teams away

  • Limited customisation options frustrate organisations with non-standard HR processes or complex organisational structures that cannot be modelled within the platform's constraints.
  • Reportedly expensive at scale, with costs rising significantly for larger headcounts compared to regional alternatives or global HCM platforms.
  • Reporting capabilities described as complex and inflexible, making it difficult for HR teams to extract actionable workforce insights without specialist help.
  • Long implementation timelines (3–6 months reported) create friction for organisations needing faster deployment or responding to rapid growth.
  • Steep learning curve during initial onboarding means HR teams require meaningful investment in training before reaching productivity.

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

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

CatalystOne

Person (Employee)

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

CatalystOne Person records map to Bullhorn Candidate records. Core fields (firstName, lastName, email, phone, employmentStatus, startDate, endDate, department, manager reference) migrate directly. The manager relationship resolves to a Bullhorn User lookup after User provisioning. Employment status maps to Candidate status (active to active/open, terminated to placed/archived). Work email and personal contact fields merge into Bullhorn's Candidate contact fields. Custom properties on the Person object (industry-specific or company-specific fields discovered during schema pass) map to Candidate custom fields or Candidate Custom Objects depending on field count. We preserve the original CatalystOne personId as a custom field cata_person_id__c for reconciliation.

CatalystOne

Position

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

CatalystOne's position-based data model maps to Bullhorn JobOrder. Position title becomes JobOrder title, department maps to JobOrder department, and position-specific competency requirements migrate to JobOrder requirements or to a Candidate Custom Object linking competency to the job. The position hierarchy (reportsTo, positionType) maps to JobOrder field values and a parent-child JobOrder relationship where applicable. Effective dates on position records (hiring date, end date, effectiveFrom, effectiveTo) are flattened into a single JobOrder with startDate and expectedEndDate since Bullhorn does not natively support effective-dated position history.

CatalystOne

Competencies

maps to

Bullhorn ATS & CRM

Custom Object or Candidate fields

1:many
Mapping required

CatalystOne competency records (many-to-many person-to-competency with rating, expiry, and acquisition date) require a Custom Object in Bullhorn since Bullhorn has no native competency or skills-object. We design a competency custom object with fields for competencyName, rating, expiryDate, and acquisitionDate, linked to the Candidate record. Edition constraint: ATS Growth has zero Custom Object capacity, Bullhorn ATS supports 2, and Front Office Growth and Enterprise support 10. We confirm the customer's Bullhorn edition during scoping and cap the competency custom object design accordingly. For up to 5 key competencies, we use Candidate custom fields directly; for fuller competency profiles we reserve a dedicated custom object.

CatalystOne

Succession Plans

maps to

Bullhorn ATS & CRM

Custom Object

lossy
Mapping required

CatalystOne succession plans store a structured relationship between a Position and one or more candidate Persons with readiness ratings. Bullhorn has no native succession planning object, so we create a SuccessionPlan custom object linked to the JobOrder (representing the position) and to Candidate records (representing the succession candidates). Readiness rating, readinessDate, and notes migrate as custom object fields. This requires the customer's Bullhorn edition to support at least one custom object. We flag this during scoping if the customer is on ATS Growth (zero custom objects) so the succession plan mapping strategy is defined before migration begins.

CatalystOne

Performance Reviews

maps to

Bullhorn ATS & CRM

Custom Object or Candidate fields

1:many
Mapping required

CatalystOne performance review records carry effective dates, reviewer assignments, ratings, and comments against a Person or Position. We map these to a PerformanceReview custom object linked to the Candidate record, with fields for reviewDate, reviewerUser (lookup to Bullhorn User), overallRating, and structured comment sections. Custom review templates mean the field set varies per customer, which is why a pre-migration schema discovery pass against the customer's specific CatalystOne tenant is required. We enumerate all active review fields and map them to Bullhorn custom object fields during the schema design phase, not at migration time.

CatalystOne

Org Structure (Departments/Cost Centres)

maps to

Bullhorn ATS & CRM

ClientCorporation hierarchy

1:many
Fully supported

CatalystOne department hierarchy (departments with parent-child relationships and cost-centre assignments) maps to Bullhorn ClientCorporation records in a matching parent-child hierarchy. We create one ClientCorporation per department or cost centre, preserving the parentId reference. Effective-date changes to org structure in CatalystOne (structural changes over time) are not natively supported in Bullhorn; we capture the current active structure and document the historical changes separately for the customer's HR team to store as reference. Cost-centre codes migrate as ClientCorporation fields for finance reconciliation.

CatalystOne

Documents

maps to

Bullhorn ATS & CRM

Candidate file attachments

1:many
Mapping required

CatalystOne employee documents (employment contracts, certifications, policies) are binary files with type and date metadata. We export each document with its type classification, upload date, and owner reference, then attach them to the corresponding Candidate record in Bullhorn using Bullhorn's file attachment API. Document type maps to a Bullhorn Candidate field (e.g., certificationType or documentCategory) for filtering. Contract documents may alternatively route through Bullhorn's E-Signature integrations (DocuSign or AdobeSign via Bullhorn Marketplace) post-migration if the customer adopts electronic signing.

CatalystOne

Identity and Access Records

maps to

Bullhorn ATS & CRM

User provisioning reference export

1:1
Fully supported

CatalystOne AD and SSO provisioning data linked from the HR master record is exported as a reference dataset (employee name, role, department, manager, AD group membership snapshot) rather than migrated into Bullhorn, because Bullhorn's User object represents system access users, not HR employee identity records. We deliver this as a structured CSV for the customer's IT team to use during Bullhorn User provisioning and Active Directory or SSO integration setup. The mapping does not create Bullhorn User records directly because User provisioning is an administrative act that requires the customer's Bullhorn admin to assign roles and validate access.

CatalystOne

Payroll Integration Mappings

maps to

Bullhorn ATS & CRM

Not applicable to Bullhorn ATS/CRM

lossy
Mapping required

CatalystOne's managed Azure-hosted payroll integrations (field-to-field mappings to Visma, SAP, and regional Nordic payroll providers) are CatalystOne's intellectual property and are not exposed via API. The integration configuration is not handed over on exit. We export the current payroll data snapshot (employee payroll identifiers, compensation fields, pay grades) as a structured reference export for the customer's IT or payroll team to use when reconfiguring integrations in their chosen payroll destination (Bullhorn Middle Office or an independent payroll system). Bullhorn Middle Office handles time, expense, and back-office payroll for staffing firms but is not a direct CatalystOne payroll equivalent for Nordic employers.

CatalystOne

Custom Workflow Configurations

maps to

Bullhorn ATS & CRM

Not migrated

1:1
Not supported

CatalystOne approval workflows, automated triggers, and HR process rules are configured within the application and are not exposed via API. We do not migrate workflow logic. We document all active workflow configurations during the discovery phase (approvals, triggers, escalation rules, task automation) as a written inventory with screenshots and rule descriptions so the customer's HR admin can plan the rebuild in Bullhorn's workflow builder or engage a Bullhorn implementation partner for automation reconfiguration.

CatalystOne

Time and Attendance Records

maps to

Bullhorn ATS & CRM

Not migrated

1:1
Fully supported

CatalystOne's time-tracking module (if used) exports timesheet records and accrual balances, but Bullhorn's ATS and CRM does not natively store time and attendance data. Bullhorn Time & Expense (part of Bullhorn Middle Office) handles time capture for placed contractors and back-office payroll for staffing firms but is a separate product and licensing tier. We scope time and attendance records out of the standard migration unless Bullhorn Middle Office is included in the destination scope. Employee records and org structure migrate regardless of whether time data exists in CatalystOne.

CatalystOne

Compensation History

maps to

Bullhorn ATS & CRM

Candidate custom fields or Custom Object

1:1
Fully supported

CatalystOne stores compensation records as effective-dated entries (salary, bonus, equity, allowances) against a Person record. Bullhorn has no native compensation object. For active employees being placed, we map the most recent compensation snapshot to Candidate custom fields (currentSalary, currentBonus). For organisations requiring full compensation history (for audit, reporting, or payroll reconciliation), we design a CompensationHistory custom object with effectiveDate, salaryAmount, currency, bonusAmount, and equityDetails fields linked to the Candidate. This requires at least one Custom Object slot on the destination Bullhorn edition.

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.

CatalystOne logo

CatalystOne gotchas

High

No public API documentation or schema reference

Medium

Workflow and automation rules are not API-accessible

Medium

No public pricing model requires sales engagement

Medium

Custom fields vary per customer and require schema discovery

Low

Managed integration services tie data flows to CatalystOne operations

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

  • CatalystOne has no public API documentation or schema reference

    CatalystOne does not publish API endpoints, field specifications, or a canonical data schema. We cannot perform automated discovery without a customer-provided technical contact who grants access to developer.catalystone.com. We request API key access and a technical walkthrough during scoping to enumerate all available objects, fields, custom properties, and relationships for the specific customer tenant before migration design begins. This is a mandatory pre-migration step with no workaround; without it, the field mapping is incomplete.

  • Bullhorn Custom Object capacity is edition-gated and limited

    Bullhorn editions impose hard limits on Custom Objects: ATS Growth has none, Bullhorn ATS supports 2, and Front Office Growth and Enterprise support 10. Each Custom Object has a maximum of 55 fields across defined edit-type combinations. Competency records, succession plans, performance reviews, and compensation history in CatalystOne all require Custom Objects in Bullhorn. If the customer's destination Bullhorn edition has fewer slots than the number of distinct CatalystOne record types requiring custom storage, we must negotiate a priority ranking during scoping before migration design proceeds.

  • CatalystOne's HCM model does not map directly to Bullhorn's ATS/CRM model

    CatalystOne centres on the Employee (Person) and the position they hold; Bullhorn centres on the Candidate as a job-seeker profile and the JobOrder as a placement. An employee record in CatalystOne maps to a Candidate in Bullhorn, but the manager relationship, employment contract type, and compensation data have no native Bullhorn equivalent and must be carried in custom fields or custom objects. Org structure in CatalystOne (departments and cost centres) maps to ClientCorporation, but ClientCorporation is designed for client companies in a recruiting context, not internal HR hierarchies, so department naming conventions and parent-child depth need to be reviewed by the customer's HR team during schema design.

  • Bullhorn GDPR and candidate consent data requires cleansing before migration

    Bullhorn Candidate records are subject to GDPR compliance requirements. Candidate records in CatalystOne may contain personal data (national ID numbers, salary history, health-related fields, disciplinary records) that requires cleansing or anonymisation before migration to Bullhorn. We perform a PII audit against the source fields identified during schema discovery and either redact sensitive fields or flag them for the customer's legal team to authorise before migration. Bullhorn's dateAdded field and talent-bin consent flags must be set correctly to comply with EU candidate consent requirements.

  • Workflow rules, approval chains, and automation logic are not API-accessible in CatalystOne

    Approval workflows, automated HR triggers, task-assignment rules, and process automations configured in CatalystOne live inside the application and are not exposed via the API. We export the data that feeds these workflows but not the workflow logic itself. We document the active workflow configurations during discovery with screenshots, rule descriptions, and trigger conditions so the customer's HR admin has a complete inventory for rebuild. Payroll integration logic, SSO provisioning rules, and CatalystOne's managed Azure service configurations are also not handed over and must be rebuilt independently.

Migration approach

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

  1. Schema discovery and Bullhorn edition confirmation

    We engage the customer's CatalystOne technical contact to obtain API key access and enumerate the full available field surface for this specific tenant. We run a discovery pass against Persons, Positions, Competencies, Succession Plans, Org Units, and Documents to list every standard and custom field active in the system. We confirm the destination Bullhorn edition (ATS Growth, Bullhorn ATS, Front Office Growth, or Enterprise) to determine the Custom Object slot budget. We deliver a written discovery report listing all source objects, field names, field types, and custom property flags, plus a Custom Object allocation plan given the edition constraint. This step gates all subsequent design work.

  2. Bullhorn target schema design

    We design the Bullhorn destination schema based on the discovery report. This includes creating the ClientCorporation hierarchy from CatalystOne departments, defining JobOrder fields for position data, designing the Competency custom object (or candidate fields) with rating and expiry fields, designing the SuccessionPlan and PerformanceReview custom objects, and allocating Custom Object slots by priority if the edition cap is lower than the number of record types. We configure Candidate custom fields for employment status, start date, department, manager, and current compensation. Schema is deployed into a Bullhorn Sandbox via the REST API for validation before any production migration begins.

  3. Sandbox migration and reconciliation

    We run a full migration into the Bullhorn Sandbox environment using production-equivalent record volume. The customer's HR lead and Bullhorn admin review the migrated records for data accuracy: department hierarchy depth and naming, competency ratings and expiry dates, candidate contact completeness, and document attachment integrity. We reconcile record counts against the CatalystOne source export and flag any schema mismatches. The customer signs off the Sandbox validation before production migration is scheduled. Any custom field additions or Custom Object redesigns happen in this phase.

  4. PII audit and data cleansing

    We run a structured PII audit against the identified CatalystOne source fields. National ID numbers, salary details, health fields, disciplinary records, and other sensitive personal data are flagged for review. We either remove, mask, or pseudonymise these fields in the migration dataset depending on the customer's data governance policy and GDPR legal basis. Candidate consent status is reviewed and applied to the Bullhorn Candidate record. The customer's legal or HR compliance team authorises the data cleansing decisions in writing before the production migration executes.

  5. Production migration in dependency order

    We execute the production migration in record-dependency sequence: ClientCorporations first (establishing the org hierarchy), then JobOrders (position data linked to ClientCorporations), then Candidates (employee records mapped from Persons, with manager User lookup resolved), then Custom Objects (Competencies, SuccessionPlans, PerformanceReviews, CompensationHistory), then file attachments. We use the Bullhorn REST API with rate-limit handling, exponential backoff, and batch chunking. Each phase emits a row-count reconciliation report. Workflow configurations, payroll mappings, and time records are excluded as documented and handed off separately.

  6. Cutover, validation, and workflow inventory handoff

    We freeze new CatalystOne writes during a defined cutover window, run a final delta migration of any records modified during the window, validate candidate counts and org hierarchy completeness in Bullhorn, and switch the system of record. We deliver the written workflow and automation inventory document to the customer's HR admin for rebuild planning. We provide a one-week hypercare window to resolve reconciliation issues raised by the HR or recruitment team. We do not rebuild CatalystOne workflows in Bullhorn, configure Bullhorn Onboarding, or integrate payroll providers as part of the standard migration scope.

Platform deep dives

Context on both ends of the pair

CatalystOne logo

CatalystOne

Source

Strengths

  • Full employee lifecycle management from hire to retire in a single platform.
  • Strong Scandinavian employment law and payroll integration coverage.
  • Managed integration services on Azure with proactive monitoring.
  • High customer satisfaction on support (reported 99% satisfaction).
  • Configurable task management and automation for HR workflows.

Weaknesses

  • Limited public API documentation makes third-party integration and data extraction work harder.
  • No publicly available pricing model — sales-driven quotation only.
  • Reporting tools are complex and require specialist knowledge to use effectively.
  • Customisation is constrained compared to enterprise HCM platforms.
  • Implementation typically takes 3–6 months, longer than many alternatives.
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 CatalystOne and Bullhorn ATS & CRM.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

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

    CatalystOne: Not publicly documented — typical SaaS limits assumed and confirmed during scoping.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Migrations under 5,000 employee records with a flat org structure and no active competency or succession framework land between four and eight weeks. Migrations with multi-level Nordic org hierarchies, competency and succession records requiring multiple Custom Objects, large document volumes, or a Bullhorn ATS edition with limited custom object capacity move into eight to sixteen weeks because of extended schema discovery, Custom Object redesign per edition, and PII cleansing time.

Adjacent paths

Related migrations to explore

Ready when you are

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