HRMS migration

Migrate from Nextal to Bullhorn ATS & CRM

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

Nextal logo

Nextal

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

58%

7 of 12

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

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Nextal to Bullhorn is a migration from a collaborative, Kanban-focused ATS to a unified ATS and CRM platform built for staffing agencies at scale. Nextal stores Candidates and Applications in a flat relational model; Bullhorn separates Candidate (contact), JobOrder (job), JobSubmission (application), and Placement (hired) as distinct objects with a richer CRM layer for Companies (Corporation) and the recruiting pipeline. We extract the Nextal stage-to-stage mapping from the customer's pipeline configuration, split Applications into JobSubmission records in Bullhorn, and carry the original stage assignment as a custom field on JobSubmission so the pipeline history survives cutover. Resume attachments migrate as downloadable files linked to the Candidate record. We do not migrate Kanban board configurations, email templates, or any automation logic; these are documented in a written handoff for the customer's Bullhorn admin to rebuild inside Bullhorn Automations.

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

Nextal logo

Nextal

What's pushing teams away

  • Nextal does not publish an API per third-party listings — teams that need programmatic candidate sync to HRIS, payroll, or background-check vendors must rely on the small set of packaged integrations.
  • Public pricing is inconsistent ($49 and $79/user/month appear across reviewers) and the vendor does not publish a clear plan-feature matrix, slowing evaluation.
  • Custom workflow depth trails enterprise ATS platforms — teams running structured-interview frameworks (Greenhouse, Ashby) or full GDPR-driven candidate-data flows often outgrow Nextal.
  • Reporting and analytics are functional but not the platform's strongest surface; teams that need hiring-funnel attribution or DEI dashboards typically need supplemental BI work.
  • Vendor is small; community support and partner ecosystem are limited compared to Greenhouse, Workday Recruiting, or SuccessFactors Recruiting.

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

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

Nextal

Candidate

maps to

Bullhorn ATS & CRM

Candidate (Bullhorn ATS)

1:1
Fully supported

Nextal Candidate records map to Bullhorn Candidate. We extract name fields, contact details (email, phone, address), source attribution (LinkedIn URL, Indeed attribution, direct application tag), and current status. Resume attachments migrate as CandidateDocument records linked to the Candidate. Any Nextal custom fields on Candidate are mapped to Bullhorn custom Candidate fields created before migration. We preserve the original Nextal candidate ID in a custom field nextal_candidate_id__c for audit and reconciliation.

Nextal

Job

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

Nextal Job postings map to Bullhorn JobOrder. We extract title, description, department, location, employment type, status (open/closed/draft), and job board distribution flags. Bullhorn JobOrder also carries a status workflow (New, Open, Pending, etc.) that we configure to match the Nextal job stage semantics. If the Nextal job has multilingual content, we extract the primary-language version as the Bullhorn description and flag the secondary-language content for the customer's admin to populate inside Bullhorn.

Nextal

Application

maps to

Bullhorn ATS & CRM

JobSubmission

1:many
Fully supported

Nextal Application records link a Candidate to a Job and carry stage history. We split each Application into a Bullhorn JobSubmission record (linking Candidate and JobOrder) plus a custom field candidate_stage__c holding the final Nextal stage name. Bullhorn does not have a native stage-history object for applications; we create a Note or custom object record per Application capturing the stage transition log if Nextal exposes it in the export. Any Application with status = hired maps to a Bullhorn Placement in a separate phase after JobSubmission migration.

Nextal

Pipeline Stage

maps to

Bullhorn ATS & CRM

JobSubmission Status + Custom Field

lossy
Fully supported

Nextal Kanban pipeline stages are configurable per organization. We extract the customer's stage configuration (stage name, order, color if exposed) from the Nextal export and map each to a Bullhorn JobSubmission status value plus a custom picklist field nextal_stage__c. The mapping table is customer-reviewed before migration to ensure stage semantics are preserved. Bullhorn's default JobSubmission statuses (New, Interviewing, Offer, etc.) are aligned to the Nextal stage names during configuration.

Nextal

User

maps to

Bullhorn ATS & CRM

Bullhorn User

1:1
Fully supported

Nextal User accounts (recruiters, hiring managers, admins) map to Bullhorn User records by email address match. We extract name, email, role (recruiter, hiring manager, admin), and ownership of Jobs and Applications. Bullhorn User provisioning happens in parallel with schema setup; we validate that every Nextal User has a corresponding Bullhorn User before record migration begins. Any Nextal User without a Bullhorn User is placed in a reconciliation queue for the customer's Bullhorn admin to provision.

Nextal

Custom Field (Job)

maps to

Bullhorn ATS & CRM

JobOrder Custom Field

lossy
Fully supported

Nextal custom fields on Jobs require field-level mapping to Bullhorn JobOrder custom fields. We extract the field schema (label, data type, required flag, picklist values), create the corresponding Bullhorn custom fields before migration, and map values during the JobOrder import. Picklist-type custom fields are created as Bullhorn picklist fields with the same value set; text, number, and date fields use their Bullhorn equivalents.

Nextal

Custom Field (Candidate)

maps to

Bullhorn ATS & CRM

Candidate Custom Field

lossy
Fully supported

Nextal custom fields on Candidates map to Bullhorn Candidate custom fields using the same field-type equivalence logic. We create Bullhorn custom fields in the destination org sandbox before production migration, extract the field schema during discovery, and map values during the Candidate import. Any Nextal custom field without a Bullhorn equivalent is flagged in the discovery report for the customer to decide whether to create it or drop it.

Nextal

Attachment (Resume)

maps to

Bullhorn ATS & CRM

CandidateDocument

1:1
Fully supported

Resume and document attachments on Nextal Candidate records migrate to Bullhorn CandidateDocument records linked to the Candidate. We preserve file format (PDF, DOCX, RTF) and filename. Bullhorn's REST API accepts CandidateDocument creation via multipart upload; we batch attachments in groups of 20 and retry on transient errors with exponential backoff. Attachments larger than 25 MB are flagged for the customer's admin to upload manually post-migration.

Nextal

Email Template

maps to

Bullhorn ATS & CRM

Bullhorn Email Template (documentation only)

1:1
Fully supported

Nextal stores multilingual email templates tied to job stages. We extract templates as HTML blobs with language-variant metadata during discovery. Bullhorn Email Templates use a different schema and editor; we do not import templates as code. Instead, we deliver a written inventory of each extracted template with its trigger, body content, and language variants so the customer's Bullhorn admin can recreate them in Bullhorn's template builder. This is documented in the automation handoff, not migrated directly.

Nextal

Company (Nextal, if present)

maps to

Bullhorn ATS & CRM

Corporation (Bullhorn CRM)

1:1
Fully supported

If Nextal exposes any company or client organization data (distinct from Candidate employer records), we map it to Bullhorn Corporation. Bullhorn's CRM layer uses Corporation as the parent of Contacts, mirroring how Salesforce uses Account for Contact. We extract company name, website, industry, and address fields. If no company data exists in Nextal, we skip this object; Bullhorn Corporation records can be created manually or via Bullhorn CRM imports post-migration.

Nextal

Lead (if Nextal exposes)

maps to

Bullhorn ATS & CRM

Lead (Bullhorn ATS)

1:1
Fully supported

Some Nextal configurations expose an inbound Lead object separate from Candidate. We map these to Bullhorn Lead records if present. Bullhorn Lead is separate from Candidate and supports a different workflow (unsourced vs sourced candidates). We flag the existence of this object during discovery and map it with the same email-dedupe strategy used for Candidate migration.

Nextal

Job Board Distribution

maps to

Bullhorn ATS & CRM

JobOrder Distribution Settings

lossy
Fully supported

Nextal's built-in job board distribution to LinkedIn and Indeed is a configuration setting, not a record. We extract the distribution flags per Job and document which boards were active at migration time. Bullhorn's job board distribution is configured inside Bullhorn; we provide a written record of the original distribution settings so the customer's Bullhorn admin can re-enable them in Bullhorn's job board integration module.

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.

Nextal logo

Nextal gotchas

High

No public API blocks programmatic data flows

Medium

Integrations limited to HubSpot CRM, Outlook, and Gmail

Medium

Pricing tier features are not publicly documented

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

  • Nextal's Kanban stage history has no direct Bullhorn equivalent

    Nextal tracks application stage transitions on a Kanban board, but Bullhorn's JobSubmission object records only the current status, not a full stage-history log. We preserve the last-stage assignment as a custom field nextal_stage__c on each JobSubmission, but the full transition timeline (who moved the card, when, from which stage to which) is not exportable from Nextal in a structured format. Teams that rely on stage-history for compliance or audit reporting should identify this gap during scoping and decide whether to retain a read-only Nextal account for the audit window or document the limitation in the migration acceptance criteria.

  • Nextal has no publicly documented API; migrations use CSV exports from the UI

    Nextal does not publish API documentation or a partner integration layer, which means we cannot query the platform programmatically. All data export happens through the Nextal admin UI, exporting module by module (Candidates, Jobs, Applications, Users) as CSV files. We batch the exports per module, validate row counts against in-app record counts, and handle any character-encoding issues (particularly for multilingual content) before transforming to Bullhorn's import format. This manual export step adds one to two days to discovery and must be repeated for any mid-migration delta.

  • Bullhorn's CRM-ATS split requires Corporation records for full data integrity

    Bullhorn separates the CRM layer (Corporation, Contact) from the ATS layer (Candidate, JobOrder, JobSubmission). If Nextal's Candidate records include employer company data, migrating only Candidates without Corporation records leaves Bullhorn Contacts without a parent company link. We map any company data in Nextal to Bullhorn Corporation records and create them before Candidate migration so that Contact-Corporation lookups are satisfied on insert. If no company data exists in Nextal, we note the gap and advise creating Corporations manually post-migration or through a Bullhorn CRM import.

  • Bullhorn Bulk API has concurrent rate limits that affect large attachment migrations

    Bullhorn's REST API enforces concurrent request limits documented in the platform headers. For migrations with more than 5,000 CandidateDocument records (resumes), we use Bullhorn's Bulk API with batch sizing and exponential backoff. Resume attachments above 25 MB per file require a different upload path; we flag these and provide an alternative upload plan. Teams migrating from Nextal with large historical resume archives (over 50 GB of attachments) should expect attachment migration to run as a separate parallel phase after the primary record migration.

  • Email templates and Kanban configurations do not migrate as functional artifacts

    Nextal's multilingual email templates and Kanban board visual configurations (colors, column widths, card layouts) are not exportable in a form that Bullhorn can import. We extract email templates as HTML blobs and deliver them as a written template inventory. Kanban configurations are not exportable; we document the stage names and pipeline structure for the customer's Bullhorn admin to configure Bullhorn's Pipeline View settings manually. Bullhorn Automations do not migrate from Nextal automations; we deliver a written workflow inventory as part of the automation handoff.

Migration approach

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

  1. Discovery and data audit

    We work with the customer's Nextal admin to export all modules via the Nextal UI: Candidates (with all custom fields and attachment filenames), Jobs (with multilingual content and distribution flags), Applications (with stage assignments), Pipeline Stages (stage names and order), Users (names, emails, roles), and any custom fields or company data. We validate row counts in the exported CSVs against in-app counts, flag any character-encoding issues in multilingual fields, and document the pipeline stage configuration. We simultaneously review the Bullhorn destination environment: existing Record Types, custom fields, JobSubmission statuses, and Corporation/Contact setup to identify schema conflicts before migration begins.

  2. Schema design and Bullhorn configuration

    We design the Bullhorn destination schema in a sandbox environment. This includes creating custom fields on JobOrder and Candidate (mapped from Nextal custom field schema), configuring JobSubmission status values to match the Nextal pipeline stages using a customer-reviewed stage mapping table, provisioning any required Bullhorn Record Types, and defining the Corporation mapping if Nextal exposes company data. We also create the nextal_candidate_id__c and nextal_stage__c custom fields as reconciliation fields during this phase. Schema is validated in the sandbox before any production data moves.

  3. Sandbox migration and reconciliation

    We run a full migration into the Bullhorn sandbox using production-like data volume extracted from Nextal. The customer's Bullhorn admin reviews record counts, spot-checks 25-50 random Candidate records and JobOrder records against the Nextal source, and confirms that stage assignments, custom field values, and attachment filenames are correct. Any mapping corrections, missed custom fields, or stage-mapping errors are resolved in sandbox before production migration begins. No production Bullhorn data is modified during this phase.

  4. User provisioning and ownership mapping

    We extract every distinct Nextal User referenced on Job and Application records and match by email against the Bullhorn destination's User table. Any Nextal User without a corresponding Bullhorn User goes to a reconciliation queue for the customer's Bullhorn admin to provision. Bullhorn's OwnerId references on JobOrder, JobSubmission, and Candidate must be satisfied at migration time; we cannot insert records with missing OwnerId values. This step runs in parallel with final data export from Nextal.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Bullhorn Users (validated), Corporations (if migrating company data), Candidates (with CandidateDocument attachments in parallel batches), JobOrders, JobSubmissions (with nextal_stage__c and nextal_candidate_id__c populated), and then any delta records modified during the migration window. Each phase emits a row-count reconciliation report before the next phase begins. Bulk API with chunking and exponential backoff handles high-volume phases (Candidates with attachments). Email templates are documented and delivered as part of the automation handoff, not imported directly.

  6. Cutover, validation, and automation handoff

    We freeze Nextal as the system of record during cutover, run a final delta migration of any records created or modified in Nextal during the migration window, then enable Bullhorn as the active ATS. We deliver the written automation handoff document listing every Nextal email template (with HTML body) and every identified automation rule (Kanban stage triggers, notification rules, if exported). We do not rebuild these inside Bullhorn as part of the migration scope. We support a one-week hypercare window where we resolve any record-reconciliation issues. Post-migration Bullhorn admin training and workflow rebuild are outside standard scope and can be scoped as a separate engagement.

Platform deep dives

Context on both ends of the pair

Nextal logo

Nextal

Source

Strengths

  • Kanban-style collaborative pipeline for tracking applications across stages
  • Built-in multilingual Career Portal with job posting distribution
  • LinkedIn and Indeed sourcing integration to pull candidates directly
  • Multilingual job and email templates with one-click communication
  • HubSpot CRM, Outlook, and Gmail integrations for connectivity

Weaknesses

  • No publicly documented API limits migration to CSV-based exports
  • Pricing is opaque — no published tiers or per-seat rates on the website
  • Custom fields and stage configurations vary per organization, requiring manual mapping
  • No bulk migration tooling; data must be exported module by module from the UI
  • Smaller market presence compared to enterprise ATS platforms like Greenhouse or Lever
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 Nextal 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

    Nextal: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Nextal to Bullhorn migrations complete in two to four weeks for agencies with fewer than 5,000 Candidates, 500 open Jobs, and 2,000 Applications. Migrations with large application histories (over 20,000 JobSubmission records), multilingual content requiring encoding validation, large resume attachment archives (over 50 GB), or complex multi-stage pipeline configurations extend to six to ten weeks because of Bulk API batch processing, sandbox validation cycles, and stage-mapping design work.

Adjacent paths

Related migrations to explore

Ready when you are

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