HRMS migration
Field-level mapping, validation, and rollback between Homerun and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Homerun
Source
Bullhorn ATS & CRM
Destination
Compatibility
9 of 13
objects map 1:1 between Homerun and Bullhorn ATS & CRM.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Moving from Homerun to Bullhorn is a migration from an all-in-one ATS built for employer branding and candidate experience to a purpose-built staffing and recruitment ATS with deep CRM capabilities and a mature API ecosystem. Bullhorn is rated 84/100 on ITQlick for ROI versus Homerun at 57/100, reflecting its specialization in high-volume placement workflows and multi-office candidate sharing. We extract Homerun's Candidate records, pipeline stages, and employee data through paginated API calls at its 60 req/min rate limit, then write into Bullhorn using its REST API and supported CSV import paths. Bullhorn's custom field architecture (customtextblock, customdate, custompicklist types) requires explicit field creation and mapping before any data load; we pre-build that schema in the destination org before migration begins. We do not migrate automations, workflow rules, or Bullhorn's proprietary business rules configuration; we deliver a written inventory of these for the customer's admin team to rebuild.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Homerun 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.
Homerun
Candidate
Bullhorn ATS & CRM
Candidate
1:1Homerun Candidate records map to Bullhorn Candidate. We extract candidate name, email, phone, address, stage history, source, and any custom properties via paginated API. Bullhorn Candidate has a rich field model with dedicated fields for skills, certifications, and tax terms. We normalize the stage history as a series of CandidateCertification or note records appended with timestamps for audit. Custom properties on Candidate require pre-creation in Bullhorn via the Field Mappings tool before import.
Homerun
Job Opening
Bullhorn ATS & CRM
JobOrder
1:1Homerun Job Openings map to Bullhorn JobOrder. Each job's title, description, department, location, employment type, and salary range transfer directly. Homerun's pipeline stage names map to Bullhorn's JobOrder status field, with each pipeline becoming a Bullhorn JobOrder track configuration. JobOrder is imported before Candidate to satisfy the JobOrderID lookup on CandidateApplication records.
Homerun
CandidateApplication
Bullhorn ATS & CRM
CandidateApplication
1:1Homerun application records (candidates applied to jobs) map to Bullhorn CandidateApplication, linking a Candidate to a JobOrder with a status. The application date and current pipeline stage transfer as the CandidateApplication status and lastModifiedDate. This object has a 1:1 relationship only when both Candidate and JobOrder are imported into Bullhorn.
Homerun
Employee
Bullhorn ATS & CRM
Candidate (employment history)
1:manyHomerun Employee records introduced with the 2025 HR module map to Bullhorn as Candidate records with employment-type fields. Since Bullhorn does not have a standalone Employee object, we create Candidate records for each Homerun Employee with employment status, start date, and department stored in Bullhorn's Candidate custom fields. Employment history is appended as CandidateEmployment records linked to each Candidate.
Homerun
Time Off
Bullhorn ATS & CRM
Custom Object or Note
1:1Homerun Time Off balances and requests migrate as a Bullhorn Custom Object (if the Professional tier or above is provisioned) or as Note records attached to the relevant Candidate. We export current-state balances with effective dates and map accrual patterns to the destination's accrual engine. Bullhorn's standard Time Off module is available in some editions but requires explicit configuration to match Homerun's balance model. The customer chooses the storage strategy during scoping.
Homerun
Offer
Bullhorn ATS & CRM
Placement (Offer phase)
1:1Homerun Offer letters map to Bullhorn Placement records in the Offer phase. We transfer compensation details (salary, hourly rate, fee percentage), start date, conditional terms, and offer status. Bullhorn Placement is the primary object for tracking a candidate's placement with a client and includes a status workflow that mirrors the offer-to-placement lifecycle. Offer PDFs are stored as ContentDocument records linked to the Placement.
Homerun
Scorecard
Bullhorn ATS & CRM
CandidateCertification
1:1Homerun evaluation scorecards and ratings normalize to Bullhorn CandidateCertification records or Note records. Score values may not map 1:1 to Bullhorn's rating schema, so we preserve raw numeric values alongside a normalized rating in a custom field. Evaluator comments transfer as the certification description. Rating normalization rules are defined during scoping.
Homerun
User
Bullhorn ATS & CRM
User
1:1Homerun team members and user accounts map to Bullhorn Users by email match. We preserve role assignments and ownership relationships as Bullhorn role mappings. Users without an email match in the destination go to a reconciliation queue for the Bullhorn admin to provision. Bullhorn User provisioning is a prerequisite before any record import because OwnerId references are required on JobOrder, Candidate, and Placement.
Homerun
Custom Field
Bullhorn ATS & CRM
Custom Field (on target object)
lossyHomerun custom fields on any object require pre-creation in Bullhorn via Field Mappings. We enumerate all custom properties during scoping, map data types (text to customtextblock or customtextarea, date to customdate, picklist to custompicklist, number to customfloat or customint, boolean to customcheckbox), and create the Bullhorn field before import. Bullhorn's field naming limit of 37 characters applies; longer Homerun field names are truncated to 37 characters per Bullhorn's standard.
Homerun
Document
Bullhorn ATS & CRM
ContentDocument / ContentVersion
1:1Employee documents stored in Homerun HR export as file metadata and content URLs. We retrieve document content via Homerun's API, then upload to Bullhorn as ContentVersion records with the file linked via ContentDocumentLink to the relevant Candidate or Placement. Large files use chunked retrieval and multipart upload to Bullhorn's content API. We preserve original file names and MIME types.
Homerun
Pipeline Stage
Bullhorn ATS & CRM
JobOrder Status / Candidate Job Submissions
lossyHomerun's configurable pipeline stages map to Bullhorn JobOrder status values and CandidateJobSubmission status values. Each pipeline becomes a Bullhorn track with stage names, ordering, and probabilities configured in Bullhorn's Field Mappings. We flag any stages that exceed Bullhorn's 20-stage maximum per track and propose consolidation or mapping to a custom picklist field. Stage probabilities transfer as percentages rounded to Bullhorn-allowed values.
Homerun
Candidate (tags/properties)
Bullhorn ATS & CRM
Candidate (customtextblock or custompicklist)
lossyHomerun tags stored as multi-checkbox properties on Candidate migrate to Bullhorn custom picklist or multi-select fields. We enumerate the tag vocabulary during scoping, create the Bullhorn picklist values, and map each Candidate's tag set to the destination field. Tags used for candidate segmentation also map to Bullhorn's Category or Skill fields where applicable. The customer chooses tag strategy during scoping based on their recruiting taxonomy.
Homerun
Placement
Bullhorn ATS & CRM
Placement
1:1If the Homerun account has Placement records (post-2025 HR module), these map directly to Bullhorn Placement with Client, Candidate, JobOrder, start date, end date, bill rate, pay rate, and employment type. Bullhorn Placement is the billing and compliance anchor for temporary and direct-hire placements; we preserve the full placement history including status transitions and termination records.
| Homerun | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Job Opening | JobOrder1:1 | Fully supported | |
| CandidateApplication | CandidateApplication1:1 | Fully supported | |
| Employee | Candidate (employment history)1:many | Fully supported | |
| Time Off | Custom Object or Note1:1 | Mapping required | |
| Offer | Placement (Offer phase)1:1 | Fully supported | |
| Scorecard | CandidateCertification1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Custom Field | Custom Field (on target object)lossy | Fully supported | |
| Document | ContentDocument / ContentVersion1:1 | Fully supported | |
| Pipeline Stage | JobOrder Status / Candidate Job Submissionslossy | Fully supported | |
| Candidate (tags/properties) | Candidate (customtextblock or custompicklist)lossy | Fully supported | |
| Placement | Placement1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Homerun gotchas
60 requests per minute API rate limit
No bulk export endpoint
Analytics limitations documented in reviews
2025 HR module expansion changes migration scope
No public data on tier-specific API availability
Bullhorn ATS & CRM gotchas
ATS Growth edition has no API access
Attachments excluded from CSV bulk exports
Custom Object limits vary sharply by edition
Opportunity pipeline stages are recruitment-specific
Resume parse quality varies by document format
Pair-specific challenges
Migration approach
Discovery and HR module verification
We audit the source Homerun account across API response scope, active modules (ATS-only or HR module active from 2025), custom field schemas per object, pipeline stage count and names, candidate volume, job opening count, employee records, and time-off balances. We verify Bullhorn edition capabilities (Starter at $99/user, Professional with Custom Objects, Enterprise for multi-office) against the customer's migration scope. The discovery output is a written migration scope document specifying which objects migrate, which require custom object creation, and which are out of scope (automations, workflow rules, forms, career pages).
Schema pre-build in Bullhorn
We create Bullhorn fields in the Field Mappings tool before any data import. This includes customtextblock and customtextarea fields for Homerun text properties, customdate for date fields, custompicklist for picklist and multi-select fields, customfloat and customint for numeric values, and customcheckbox for boolean flags. Bullhorn Custom Objects are provisioned if the destination edition supports them and the customer requires separate Employee or Time Off records. Bullhorn's 37-character field name limit is applied during naming, and a mapping reference document is maintained throughout.
Sandbox migration and reconciliation
We run a full migration into a Bullhorn sandbox or a designated test environment using production-like data volume. The customer's Bullhorn admin reconciles record counts (Candidates in, JobOrders in, Placements in, Employees in), spot-checks 25-50 records against the Homerun source, and validates that custom field values populated correctly. Any field mapping corrections, data type mismatches, or stage-count issues are resolved here before production migration begins.
User provisioning and ownership reconciliation
We extract every distinct Homerun User referenced on Candidate, JobOrder, Offer, and Employee records and match by email against the Bullhorn destination's User table. Users without a matching Bullhorn User go to a reconciliation queue. The customer's Bullhorn admin provisions any missing Users before record import resumes. Migration cannot proceed past this step because Bullhorn requires OwnerId references on most standard objects and rejected records with null ownership are held for retry.
Production migration in dependency order
We run production migration in record-dependency order: Bullhorn Users validated, then JobOrders (prerequisite for CandidateApplication), then Candidates, then CandidateApplications linking Candidates to JobOrders, then Employees (if HR module active), then Time Off balances, then Offer and Placement records, then Documents (ContentVersion upload and ContentDocumentLink), then Scorecards as Notes or CandidateCertification. Each phase emits a row-count reconciliation report before the next phase begins. Homerun's 60 req/min rate limit governs the export pace throughout.
Cutover, validation, and automation rebuild handoff
We freeze Homerun writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Bullhorn as the system of record. We deliver a written inventory of Homerun automations and pipeline configurations with recommended Bullhorn equivalents. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's Bullhorn team. We do not rebuild Homerun automations as Bullhorn business rules inside the migration scope; that is a separate engagement for the customer's Bullhorn admin or implementation partner.
Platform deep dives
Homerun
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Moderate HRMS migration. 3 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Homerun and Bullhorn ATS & CRM.
Object compatibility
3 of 7 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Homerun: 60 requests per minute per API key.
Data volume sensitivity
Homerun doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Homerun to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Homerun to Bullhorn ATS & CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Homerun
Other ways to arrive at Bullhorn ATS & CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.