HRMS migration
Field-level mapping, validation, and rollback between Vacancy Filler and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Vacancy Filler
Source
Bullhorn ATS & CRM
Destination
Compatibility
10 of 12
objects map 1:1 between Vacancy Filler and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Vacancy Filler to Bullhorn is a structural migration from a UK-school-and-public-sector ATS into a globally-deployed staffing agency CRM and ATS. The most significant technical constraint is that Vacancy Filler has no publicly documented API or bulk export endpoint, meaning migrations must proceed via database export where the customer has direct access or via negotiated export mechanisms with Acendre (the platform's parent since 2021). Bullhorn receives migrated data through its standard import tools with field mapping configured per record type, and the included data import covers up to 15,000 records. We map Vacancy Filler Vacancies to Bullhorn Job Orders, Candidates to Candidates, and Applications to the appropriate placement or application record, preserving pipeline stage labels as a custom field for reporting continuity. Custom application questions per vacancy require schema-level mapping rather than simple field renaming. Talent Pools, Agency PSL records, and incomplete onboarding records migrate as separate passes with explicit customer decisions on backfill scope. Bullhorn workflows, automation rules, and reporting configurations do not migrate as code; we deliver a written inventory for the customer's admin 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 Vacancy Filler 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.
Vacancy Filler
Vacancy
Bullhorn ATS & CRM
Job Order
1:1Vacancy Filler Vacancies map directly to Bullhorn Job Orders. The Vacancy title, department, location, salary range, and status migrate to Bullhorn JobOrder title, Department, Address, Salary, and Status. Posting dates migrate to Bullhorn dateStart. Bullhorn JobOrder has a jobBoardList field that we populate with the extracted job board posting records from Vacancy Filler. Vacancy status of open, closed, filled, or on-hold maps to Bullhorn JobOrder status values, with the customer deciding whether archived vacancies migrate at all or only active postings.
Vacancy Filler
Candidate
Bullhorn ATS & CRM
Candidate
1:1Vacancy Filler Candidate profiles map to Bullhorn Candidate records. Name, email, phone, address, and work history fields migrate directly. CV and resume attachments migrate as Bullhorn Resume files linked to the Candidate via ContentDocumentLink. Where a Candidate in Vacancy Filler has been added to multiple Vacancies or a Talent Pool, the Bullhorn Candidate record is created once and referenced by multiple JobOrders through the CandidateJobOrder join.
Vacancy Filler
Application
Bullhorn ATS & CRM
CandidateJobOrder
1:1Vacancy Filler Applications (the join record between a Candidate and a Vacancy) map to Bullhorn CandidateJobOrder records. Application status (applied, shortlisted, interview, offer, rejected, withdrawn) maps to the CandidateJobOrder status field. Screening scores and notes from Vacancy Filler migrate as custom fields on CandidateJobOrder. The Candidate and JobOrder references are resolved at migration time using the name and title dedupe keys.
Vacancy Filler
Hiring Manager / User
Bullhorn ATS & CRM
User
1:1Vacancy Filler user accounts (name, email, role, team assignment) map to Bullhorn User records. We match by email as the dedupe key. Permissions and role structures are not portable between systems; we export the full user-role matrix as a separate mapping table and recommend the customer manually rebuild Bullhorn role configurations after migration. Users without an email match in the destination Bullhorn org go to a reconciliation queue for admin provisioning.
Vacancy Filler
Job Board Posting Record
Bullhorn ATS & CRM
JobBoardList (on JobOrder)
1:1Vacancy Filler tracks which job boards each Vacancy was posted to as linked posting records. We extract board name, posting URL, posting date, and status and load them as entries in the Bullhorn JobOrder jobBoardList field. This preserves the posting history for audit purposes even though Bullhorn distributes postings through its own Bullhorn Distribution network post-migration.
Vacancy Filler
Talent Pool
Bullhorn ATS & CRM
List (custom)
lossyVacancy Filler Talent Pools are distinct from active applications; they hold longlisted candidates for future roles. Bullhorn has no native Talent Pool object. We migrate talent pool membership as Bullhorn Candidate List records (named per the original Vacancy Filler pool) with the candidates linked via CandidateListItem records. The customer chooses whether to migrate all talent pools or only active ones, and whether to set an expiry on pool membership in Bullhorn.
Vacancy Filler
Custom Application Questions
Bullhorn ATS & CRM
Candidate Custom Fields (JobOrder-scoped)
lossyVacancy Filler supports bespoke screening questions per Vacancy. Each question schema is stored at vacancy level and answers at application level. We extract the question schema for each Vacancy, group vacancies by common question sets, and map answers to Bullhorn CandidateJobOrder custom fields or Candidate custom fields depending on whether the question is vacancy-specific or candidate-general. Vacancies with unique one-off question sets receive individual mapping treatment with explicit customer sign-off before migration.
Vacancy Filler
Pre-Hire Test / Score
Bullhorn ATS & CRM
Custom Fields on CandidateJobOrder
1:1Test results and scores attached to Vacancy Filler Applications migrate as custom fields on the Bullhorn CandidateJobOrder record. Raw scores and pass/fail labels transfer directly. Where Vacancy Filler uses a specific assessment provider, we preserve the assessment name as a field label and the score value; the destination Bullhorn org's admin configures any new assessment integration post-migration.
Vacancy Filler
Interview Schedule
Bullhorn ATS & CRM
Event (Calendar Entry)
1:1Vacancy Filler interview records (date, time, interviewer(s), format, outcome notes) map to Bullhorn Event records linked to the relevant CandidateJobOrder. Interview format (in-person, video) migrates to Event location or a custom Event field. Interviewer names resolve to Bullhorn User references where users exist in the destination; otherwise they store as text. Outcome notes migrate to Event description. Bullhorn's native calendar integration (Google Calendar, Outlook) is configured separately post-migration.
Vacancy Filler
Onboarding Record
Bullhorn ATS & CRM
Placement (custom fields)
1:1Vacancy Filler Onboarding Records include new-hire document completion status, induction checklist progress, and start-date details. Bullhorn does not have a native onboarding record object; we map onboarding fields to custom fields on the Placement record (or a custom Onboarding object if the customer licenses Bullhorn Onboarding). Onboarding records in Vacancy Filler are frequently incomplete for mid-year migrations or active hiring pipelines. We flag each incomplete record with a completion-percentage custom field rather than silently dropping them and defer to the customer on backfill scope.
Vacancy Filler
Agency PSL (Preferred Supplier List)
Bullhorn ATS & CRM
Corporate (with type = Agency)
1:1Vacancy Filler's Agency Module stores preferred recruitment agencies with name, contact, specialism, and tier. We export these as Bullhorn Corporate records with a type field set to Agency and load them into the destination as a separate agency list. Bullhorn's corporate record supports address, primary contact, and custom fields for specialism and tier, enabling the agency's preferred agency list to be maintained in Bullhorn post-migration.
Vacancy Filler
Vacancy Notes
Bullhorn ATS & CRM
Note (on JobOrder)
1:1Vacancy-level notes and internal comments in Vacancy Filler migrate as Bullhorn Note records linked to the corresponding JobOrder via ContentDocumentLink. Note body migrates as rich text. The note author and creation date are preserved as metadata on the Note. This is a lower-priority pass executed after the primary record migration.
| Vacancy Filler | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Vacancy | Job Order1:1 | Fully supported | |
| Candidate | Candidate1:1 | Fully supported | |
| Application | CandidateJobOrder1:1 | Fully supported | |
| Hiring Manager / User | User1:1 | Fully supported | |
| Job Board Posting Record | JobBoardList (on JobOrder)1:1 | Fully supported | |
| Talent Pool | List (custom)lossy | Fully supported | |
| Custom Application Questions | Candidate Custom Fields (JobOrder-scoped)lossy | Mapping required | |
| Pre-Hire Test / Score | Custom Fields on CandidateJobOrder1:1 | Fully supported | |
| Interview Schedule | Event (Calendar Entry)1:1 | Fully supported | |
| Onboarding Record | Placement (custom fields)1:1 | Fully supported | |
| Agency PSL (Preferred Supplier List) | Corporate (with type = Agency)1:1 | Mapping required | |
| Vacancy Notes | Note (on JobOrder)1: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.
Vacancy Filler gotchas
Acendre acquisition creates platform continuity uncertainty
No publicly documented API for bulk data export
Pricing is opaque with no public tiers
Onboarding records are often incomplete at migration time
Custom application questions vary per vacancy
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 export method confirmation
We audit the customer's Vacancy Filler instance for record volumes (Vacancies, Candidates, Applications, Talent Pool members, Agency PSL records, onboarding records), custom question schema count per vacancy, active vs archived vacancy ratio, and onboarding completion status. In parallel, we confirm the export method: direct database export if the customer has access, or Acendre-supported export if not. We require written confirmation from Acendre or the account manager that export is permitted before beginning extraction. The discovery output is a written migration scope with record counts per object, export method confirmed, and timeline estimate.
Schema design and custom field provisioning in Bullhorn
We design the Bullhorn destination schema before any data import. This includes creating custom fields on JobOrder (for job board posting history), CandidateJobOrder (for application-stage custom questions and scores), Candidate (for talent pool membership flags), and any custom objects or fields for onboarding data. We deploy schema changes to the customer's Bullhorn Sandbox or staging environment first for validation. Custom question schemas are grouped by common sets; each unique schema receives a mapping document that the customer reviews and signs off.
Data extraction from Vacancy Filler
We execute data extraction using the confirmed method (database export or negotiated Acendre export). Vacancies and their linked job board posting records extract first as the parent record set. Candidates extract second with CV and resume attachments. Applications extract third as the join records with status, stage, and custom question answers. Talent Pool membership, Agency PSL records, and Interview Schedules extract as separate passes. Onboarding records extract last with completion status flagged. Each extract emits a row-count report that we reconcile against the discovery audit counts before proceeding to transform.
Transform, deduplicate, and mapping application
We apply the mapping transforms to the extracted data: Vacancy fields to JobOrder fields, Candidate fields to Candidate fields, Application fields and answers to CandidateJobOrder fields. We resolve Vacancy Filler user references to Bullhorn User records by email match; unresolved users go to a reconciliation queue for the customer's Bullhorn admin to provision. Custom question answers are written to Bullhorn custom fields per the per-vacancy schema mapping documents signed off in step 2. Incomplete onboarding records receive a completion-percentage field rather than being dropped. Deduplication runs on Candidate (by email) and JobOrder (by title and dateStart) to prevent duplicate records.
Sandbox or staging migration and customer reconciliation
We run a full migration into the customer's Bullhorn Sandbox environment using production-like data volumes. The customer reconciles a random sample of migrated records against the Vacancy Filler source data: checks Candidate profiles against source CVs, verifies application stage labels on JobOrders, confirms interview schedule dates and interviewers, and reviews onboarding completion flags. The customer signs off the Sandbox migration before production migration begins. Any mapping corrections are made during this phase.
Production migration in dependency order
We run production migration in record-dependency order: JobOrders first (the parent Vacancy records), then Candidates, then CandidateJobOrder applications linking them, then Talent Pool Lists with CandidateListItem membership, then Agency PSL records as Corporate entities, then Interview Events, then Onboarding custom fields on Placements, and finally Notes on each record type. Each phase emits a row-count reconciliation report before the next phase begins. Vacancy writes in Vacancy Filler are frozen during cutover. A final delta migration captures any records created or modified during the migration window.
Cutover, validation, and automation rebuild handoff
We enable Bullhorn as the system of record after the delta migration confirms zero new writes in Vacancy Filler during the cutover window. We deliver a written inventory of Bullhorn workflows, automation rules, and reporting configurations that require rebuilding, with notes on recommended equivalents in Bullhorn. We support a one-week hypercare window where we resolve any data quality issues raised by the recruiting team. Bullhorn Onboarding configuration, Bullhorn Automation rules, and reporting dashboards are rebuilt by the customer's Bullhorn admin or a Bullhorn partner as a separate engagement from the data migration.
Platform deep dives
Vacancy Filler
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Vacancy Filler and Bullhorn ATS & CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Vacancy Filler and Bullhorn ATS & CRM.
Object compatibility
All 7 core objects map 1:1 between Vacancy Filler and Bullhorn ATS & CRM.
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
Vacancy Filler: Not publicly documented — typical SaaS limits assumed and confirmed during scoping..
Data volume sensitivity
Vacancy Filler 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 Vacancy Filler to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Vacancy Filler 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 Vacancy Filler
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.