HRMS migration

Migrate from HR Director to Bullhorn ATS & CRM

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

HR Director logo

HR Director

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

42%

5 of 12

objects map 1:1 between HR Director and Bullhorn ATS & CRM.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Migrating from HR Director to Bullhorn is a domain shift from a general HRMS to a recruitment-specific ATS and CRM. HR Director manages the employment lifecycle for internal staff: employee records, contracts, absence entitlements, and payroll. Bullhorn manages the candidate and client lifecycle for a staffing agency's placements: candidates, client companies, job orders, and placements against which timesheets and invoices run. There is no shared object model, so the migration is a purposeful reconstruction of relevant HR Director data (employee records as candidates, employer data as clients) into Bullhorn's schema, with absence history and compensation data preserved as custom fields or documented for manual re-entry. Bullhorn's automation capabilities (Bullhorn Automation, tearsheets, hotlists) do not migrate as code; we deliver a written inventory of any configured automations for the customer's Bullhorn admin to rebuild. Saved searches require manual recreation post-migration because Bullhorn's search migration requires either manual rebuild or Bullhorn Support intervention.

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

HR Director logo

HR Director

What's pushing teams away

  • Limited public footprint on G2 and Capterra makes peer validation difficult, and prospective buyers struggle to find verified reviewer feedback.
  • Reporting depth and analytics features fall short of mid-market HRIS leaders like BambooHR or HiBob.
  • No publicly documented developer API restricts integration into bespoke payroll or learning systems.
  • Vendor scale is smaller than international HRIS providers, so partner ecosystem and integration libraries are narrower.
  • Migration tooling is not documented publicly; data egress runs through admin export or vendor-assisted dumps rather than programmatic API.

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

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

HR Director

Employee

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

HR Director Employee records map to Bullhorn Candidate records. The employee's personal name fields map to Candidate firstName and lastName; email maps to Candidate email; phone maps to Candidate phone; address maps to Candidate address. The employee's employment status (active, leaver) maps to Bullhorn Candidate status with a custom field original_employment_status__c preserving the original HR Director value. Employee records that represent internal staff (not external candidates) are flagged with a custom field candidate_type__c set to 'internal_transfer' so the Bullhorn admin can filter them separately from external candidates placed with clients.

HR Director

Employee

maps to

Bullhorn ATS & CRM

Client Corporation

1:1
Fully supported

The HR Director employer entity (the company itself as the internal employer) maps to a Bullhorn Client Corporation record representing the staffing agency's own corporate entity. This is necessary if the agency places its own employees as contractors or if Bullhorn is used to track internal headcount alongside external candidate placements. The employer's registered address and company name populate the Client Corporation name and billing address fields.

HR Director

Organisation / Department

maps to

Bullhorn ATS & CRM

Client Corporation (client company)

1:1
Fully supported

HR Director's internal departments and organisational hierarchy do not have a direct Bullhorn equivalent. Bullhorn uses Client Corporations for external client companies and does not model internal org structure. We map the HR Director employer to a single Client Corporation (the staffing agency's own firm) and map internal departments to a custom Bullhorn custom object InternalDepartment__c with a lookup to the Client Corporation. If the customer uses Bullhorn Connexys or Bullhorn One, department structure may map to Business Sector or Division fields on Client Corporation.

HR Director

Absence Record

maps to

Bullhorn ATS & CRM

Candidate Custom Field (absence_history__c)

lossy
Fully supported

HR Director absence records (type, start date, end date, status) cannot map to native Bullhorn objects because Bullhorn has no standard absence management feature. We store absence history as a long-text custom field absence_history__c on the Candidate record in JSON-structured format: {'type': 'Sick', 'start': '2024-03-01', 'end': '2024-03-03', 'status': 'Approved'}. The customer decides during scoping whether to store this on every migrated Candidate or only on Candidates with significant absence history. Bullhorn Automation can be configured to surface this field in a Candidate's record layout.

HR Director

Compensation Record

maps to

Bullhorn ATS & CRM

Candidate Custom Field (compensation_history__c)

lossy
Fully supported

HR Director compensation-effective-date records (salary, bonus, pay frequency, effective date) cannot map to Bullhorn standard fields because Bullhorn does not have an employee payroll engine. We store compensation history as a structured custom field compensation_history__c on the Candidate record in JSON format: {'salary': 45000, 'currency': 'GBP', 'effective_date': '2023-04-01', 'pay_frequency': 'Annual'}. If the agency uses Bullhorn Time & Expense for contractor timesheets, the placement's bill rate and pay rate are configured on the Placement record post-migration, not migrated from HR Director compensation records.

HR Director

Employment Contract / Document

maps to

Bullhorn ATS & CRM

Candidate Document (ContentDocument)

1:1
Fully supported

HR Director documents (employment contracts, ID copies, right-to-work checks) migrate as Bullhorn ContentDocument records attached via ContentDocumentLink to the Candidate. The document type (contract, ID, DBS check) is stored in a custom picklist field document_type__c on the ContentDocument. The original filename is preserved. If HR Director stores documents in a proprietary or encrypted format, we extract text content where possible and store it as a Note attachment on the Candidate as a fallback.

HR Director

Emergency Contact

maps to

Bullhorn ATS & CRM

Candidate Custom Field (emergency_contact__c)

lossy
Fully supported

HR Director emergency contacts (name, relationship, phone) store as a structured custom field emergency_contact__c on the Candidate record in JSON: {'name': 'Jane Smith', 'relationship': 'Spouse', 'phone': '+44-7700-900123'}. Bullhorn does not have a native emergency contact object. The customer may alternatively choose to store emergency contacts in the Candidate's primary address or notes field if GDPR considerations require them to be accessible to Bullhorn users.

HR Director

Employee Status

maps to

Bullhorn ATS & CRM

Candidate Status + custom field

lossy
Fully supported

HR Director employment status values (active, suspended, on leave, leaver, retired) map to Bullhorn Candidate status values (Active, Inactive, Placed) with a custom field original_status__c preserving the source HR Director status for audit. Placements in Bullhorn represent the active employment or assignment of a Candidate with a Client; internal staff who remain on the agency's payroll are entered as Candidate records with a placement record reflecting their internal assignment.

HR Director

Holiday / Leave Entitlement

maps to

Bullhorn ATS & CRM

Candidate Custom Field or Leave Entitlement custom object

lossy
Fully supported

HR Director leave entitlement balances (annual leave remaining, sick leave entitlement) cannot map to Bullhorn standard fields. We store current-year entitlement as a custom field leave_entitlement__c on the Candidate record. If the agency requires leave tracking for placed contractors (for example, umbrella company contractors entitled to statutory leave), this is reconfigured in Bullhorn Time & Expense or in a post-migration leave management integration rather than stored as migrated data.

HR Director

Job Role / Position

maps to

Bullhorn ATS & CRM

Job Order (Assignment)

lossy
Fully supported

HR Director job roles and positions (title, job family, grade) map to Bullhorn Job Order records if the migration includes a client-specific job structure, or to custom fields on the Candidate record (candidate_title__c, candidate_job_family__c) if the agency is migrating internal headcount without client job orders. Bullhorn Job Orders are the staffing-specific equivalent of job requisitions and carry client, location, requirements, and bill-rate information.

HR Director

Manager / Reporting Line

maps to

Bullhorn ATS & CRM

Candidate Custom Field or User lookup

lossy
Fully supported

HR Director reporting-line data (manager-employee relationships) stores as custom fields manager_name__c and manager_email__c on the Candidate record. If the manager is also a migrated Candidate or an active Bullhorn User, we resolve the lookup at migration time and store the manager's Candidate ID or User ID. Bullhorn's User object is not directly equivalent to HR Director's manager hierarchy; Bullhorn Users represent recruiters, not line managers.

HR Director

Employee Start Date

maps to

Bullhorn ATS & CRM

Candidate dateCreated or custom field

1:1
Fully supported

HR Director employee start date migrates to Bullhorn Candidate dateCreated as the employment start date, and to a custom field original_start_date__c preserving the exact source value. Bullhorn's native dateCreated represents the record creation timestamp in Bullhorn, not the employment commencement date; we use the custom field to preserve the HR Director start date for compliance records and tenure calculations.

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.

HR Director logo

HR Director gotchas

High

Catalog ambiguity — 'HR Director' brand maps to multiple regional offerings

Medium

Sparse public reviewer data

Medium

No public developer 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 is a recruitment ATS, not an HRMS

    HR Director is a general HRMS managing employment, payroll, and absence for internal staff. Bullhorn is a recruitment ATS and CRM managing candidates, clients, job orders, and placements for staffing agencies. There is no shared object model. Absence management, payroll processing, holiday entitlement, and employment contracts have no native Bullhorn equivalent. We map these to custom fields or custom objects, but Bullhorn's standard workflows and reporting do not handle them natively. Customers expecting Bullhorn to replace HR Director's full HRMS functionality will need to reconfigure their expectations or maintain a separate HRMS alongside Bullhorn for internal staff.

  • Bullhorn Automation does not migrate from HR Director

    Bullhorn Automation (formerly Herefish) handles candidate nurturing sequences, client outreach automations, and workflow triggers inside Bullhorn. HR Director automations (absence alerts, onboarding triggers, contract renewal reminders) have no Bullhorn Automation equivalent. We do not migrate automations as code. We deliver a written inventory of every active HR Director automation with its trigger, conditions, and recommended Bullhorn Automation equivalent, and the customer's Bullhorn admin rebuilds them post-migration. Saved searches also require manual rebuild; Bullhorn's own documentation confirms that unsupported saved search fields may not migrate and require Bullhorn Support to re-trigger the migration process.

  • Bullhorn has no native payroll engine

    HR Director processes payroll with compensation-effective-date sequencing, tax calculations, and payslip generation. Bullhorn has no payroll engine. Placements generate timesheets and invoices in Bullhorn Time & Expense, but the underlying payroll (salary payment, tax withholding, pension contributions) requires a separate payroll system or Bullhorn's integration with an umbrella payroll provider. We flag any HR Director compensation records as migration-to-custom-field only, not as payroll data, and the customer configures payroll separately post-migration.

  • GDPR and personal data handling during migration

    HR Director stores employee personal data (national insurance numbers, bank details, medical information in sick notes, emergency contacts) that Bullhorn stores as Candidate personal data. Both platforms are subject to GDPR, but Bullhorn's candidate data model is designed for recruitment (candidate name, email, phone, CV, work history) rather than HR compliance (NI number, bank account, pension member number). We flag sensitive HR fields during scoping and store them as encrypted or restricted custom fields in Bullhorn, not in standard Candidate fields visible to all Bullhorn users. The customer's GDPR officer reviews the field-level access mapping before production migration.

  • Bullhorn pricing is individually negotiated with annual escalations

    Bullhorn does not publish public pricing; every agency receives a custom quote. Base licenses run $99-$315 per user per month depending on tier and features, with implementation fees from $1,000 to $50,000. Renewal increases of 10-30% are reported by agencies. HR Director's pricing (typically lower, per-employee or flat-fee for SMBs) does not provide a cost baseline for Bullhorn. We include Bullhorn's pricing model in the migration scope document so the customer understands the destination licensing cost before committing to migration.

Migration approach

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

  1. Discovery and data audit

    We audit HR Director across employee record count, custom fields, absence history volume, compensation records, document types and storage format, and any configured automations or absence entitlement rules. We pair this with a Bullhorn readiness review: which Bullhorn edition (Entry, Growth, Enterprise), which Bullhorn products (ATS only, ATS + CRM, Bullhorn One), and whether Bullhorn Time & Expense and Bullhorn Onboarding are in scope. The discovery output is a written migration scope document listing every HR Director object, its migration path (migrate as standard Bullhorn field, migrate as custom field, document as manual re-entry, or out of scope), and the Bullhorn edition recommendation.

  2. Schema design and custom field provisioning

    We design the Bullhorn destination schema. This includes creating custom fields on Candidate (absence_history__c, compensation_history__c, emergency_contact__c, original_employment_status__c, original_start_date__c, candidate_type__c), provisioning a custom object for leave entitlement if required, and creating the Client Corporation record representing the staffing agency's own employer entity. Bullhorn's API supports custom field creation via the Bullhorn REST API. We deploy to a Bullhorn sandbox or staging environment first for validation before production schema provisioning.

  3. Data extraction and transformation

    We extract HR Director data in the dependency order that preserves referential integrity: employer entity (for Client Corporation), then employee records (for Candidate with manager lookup resolved), then absence history (appended as structured JSON to each Candidate), then compensation history (as structured JSON on Candidate), then documents (extracted and attached as ContentDocument to the parent Candidate). We flag records with missing required fields (no email address on Candidate, no name) in a reconciliation report before attempting Bullhorn import. Any HR Director fields with no Bullhorn destination are written to a manual-re-entry spreadsheet delivered alongside the migration.

  4. Sandbox migration and reconciliation

    We run a full migration into the customer's Bullhorn staging or sandbox environment. The customer's Bullhorn admin reconciles record counts (Candidates in, Client Corporations in), spot-checks 25-50 migrated Candidate records against the HR Director source, reviews custom field content (absence history JSON, compensation history JSON), and validates that documents attached correctly. Sign-off on the sandbox migration precedes the production cutover date. Any field-mapping corrections happen in the sandbox, not in production.

  5. Production migration and cutover

    We run the production migration following the same dependency order used in sandbox: employer entity as Client Corporation, then employee records as Candidates with custom fields populated, then document attachments via Bullhorn's ContentDocument API. We freeze HR Director writes during the cutover window and run a final delta migration of any records modified during the migration window. Bullhorn becomes the system of record once the delta migration is confirmed clean. We deliver the automation inventory document and the manual-re-entry spreadsheet at cutover.

  6. Post-migration handoff and rebuild scope

    We support a one-week hypercare window following cutover, resolving any data quality issues raised by the Bullhorn admin. We do not rebuild HR Director automations, absence entitlement rules, or payroll configurations as Bullhorn Automation, Bullhorn workflows, or Bullhorn Time & Expense rules within the migration scope; these are separate configuration engagements. The automation inventory document is the handoff artifact for the customer's Bullhorn admin or a Bullhorn-certified implementation partner.

Platform deep dives

Context on both ends of the pair

HR Director logo

HR Director

Source

Strengths

  • UK-focused statutory compliance and reporting out of the box.
  • Lower per-employee cost than enterprise HRMS platforms.
  • Cloud delivery without on-premise server requirements.
  • Combines core HR, payroll-relevant data, and absence in one tool.
  • Smaller-scale vendor model often translates to direct support access.

Weaknesses

  • Limited public reviewer presence makes validation difficult.
  • Reporting and analytics depth lag mid-market HRIS leaders.
  • No publicly documented developer API.
  • Smaller integration ecosystem than international HRIS providers.
  • Migration tooling not documented publicly.
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. 2 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 HR Director and Bullhorn ATS & CRM.

  • Object compatibility

    B

    2 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

    HR Director: Not publicly documented..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Straightforward migrations of up to 500 employee records with no absence history, no compensation records, and no custom documents complete in two to four weeks. Migrations with full absence history, compensation records requiring custom field mapping, multi-site organisational structures, or a requirement to migrate documents at scale move to six to ten weeks because of schema design work, document extraction, and custom field validation in Bullhorn.

Adjacent paths

Related migrations to explore

Ready when you are

Move from HR Director.
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