HRMS migration
Field-level mapping, validation, and rollback between Sesame HR and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Sesame HR
Source
Bullhorn ATS & CRM
Destination
Compatibility
8 of 12
objects map 1:1 between Sesame HR and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Sesame HR to Bullhorn is a category-shift migration, not a direct replacement. Sesame HR is a general HRIS built for European and LATAM mid-market teams covering time tracking, leave, shifts, payroll preparation, and recruitment on a unified platform. Bullhorn is a staffing-focused ATS and CRM designed for recruitment agencies and staffing firms, with a data model built around Candidates, ClientCorporations, JobOrders, and Placements rather than Employees, Departments, and PTO balances. We resolve the object-model translation during scoping, migrate Candidates and Vacancies from Sesame HR's recruitment module directly into Bullhorn's ATS objects, store leave balances and time entries as custom fields or Bullhorn Time & Expense records, and handle the org chart as a flat manager-subordinate relationship list rather than a native hierarchy. Bullhorn does not process payroll; we package Sesame HR's payroll preparation data as a structured export for the customer's external payroll system. Workflows, shift schedules, and automations do not migrate; we deliver a written inventory of any such records for the customer's admin to configure in Bullhorn post-migration.
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 Sesame HR 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.
Sesame HR
Employee
Bullhorn ATS & CRM
Candidate and/or Contact (split required)
1:manySesame HR Employee records split into Bullhorn Candidate (the recruiting/ATS record) and optionally Bullhorn Contact (the client relationship record) depending on whether the customer uses Bullhorn CRM alongside ATS. We map first name, last name, email, phone, department, job title, hire date, and employment status directly. Employment type (full-time, part-time, contractor) becomes a custom Candidate field or maps to the Bullhorn custom object if the customer licenses one for employment classification. We flag any Employee without a valid email address for manual handling before import because Bullhorn requires an email for Candidate deduplication.
Sesame HR
Contract
Bullhorn ATS & CRM
Custom Object or Candidate custom fields
1:1Sesame HR Contract records (employment type, salary band, start/end dates, probation period) do not have a native Bullhorn equivalent. We map them to Bullhorn custom fields on Candidate (employmentType__c, salaryBand__c, contractStartDate__c, contractEndDate__c, probationEndDate__c) or to a Bullhorn custom object (EmploymentContract__c) if the customer requires a separate record type. Bullhorn's Front Office Growth/Enterprise edition supports up to 10 custom objects with 55 fields each; we verify capacity against the customer's existing custom object count during scoping.
Sesame HR
Candidate / Vacancy (Recruitment)
Bullhorn ATS & CRM
Candidate and JobOrder
1:1Sesame HR Candidates attached to Vacancies map directly to Bullhorn Candidate records with the JobOrder serving as the Bullhorn equivalent of the vacancy. We preserve the Sesame HR application stage (new, screening, interview, offer, hired, rejected) as a custom Candidate field or map it to Bullhorn's candidateStatus if the customer's pipeline uses standard Bullhorn stages. Custom pipeline stages from Sesame HR migrate to Bullhorn custom Candidate fields or to the Bullhorn Opportunity pipeline if the customer uses Bullhorn CRM for temp-to-perm tracking. We flag any vacancy records above the Starter tier's 5-position cap for extraction completeness.
Sesame HR
Vacancy
Bullhorn ATS & CRM
JobOrder
1:1Sesame HR Vacancy records map to Bullhorn JobOrder with job title, department, location, employment type, salary range, and opening count preserved. The Sesame HR vacancy status (open, paused, closed) maps to the Bullhorn JobOrder status field. Bullhorn JobOrder supports multiple placements per order; we preserve the total headcount from Sesame HR as the jobOrderHeadcount field. Custom vacancy fields migrate to JobOrder custom fields or to the Bullhorn Opportunity object if the customer uses Bullhorn CRM for job-order tracking.
Sesame HR
Time Entry
Bullhorn ATS & CRM
Bullhorn Time & Expense (external module) or custom fields
lossySesame HR time entries (clock-in/clock-out, overtime flags, break deductions) have no native Bullhorn ATS/CRM equivalent. Bullhorn Time & Expense is a separate product (formerly PeopleNet Time) that handles WFM-style time tracking for staffing firms with placed contractors. We assess whether the customer uses Bullhorn Time & Expense during scoping. If yes, we map Sesame HR time entries to the Bullhorn Time & Expense API. If no, we store time-entry summaries as custom fields on the Employee's corresponding Bullhorn Candidate record (hoursWorkedThisPeriod__c, overtimeHours__c) or deliver a structured export for downstream payroll ingestion.
Sesame HR
Absence Record / PTO
Bullhorn ATS & CRM
Custom fields on Candidate or separate export
1:1Sesame HR leave balances and request history do not have a native Bullhorn ATS equivalent. We migrate current PTO balance snapshots as custom fields on the Candidate record (ptoBalance__c, sickBalance__c, lastLeaveRequestDate__c, leaveType__c) and store leave request history as a structured export. For customers using Bullhorn Onboarding (workforce management module), we map leave accrual to the Onboarding module's accrual tracking. Bullhorn does not natively process leave workflows; the customer's HR team configures leave approvals outside Bullhorn or via Bullhorn Automation (Herefish) if licensed.
Sesame HR
Shift
Bullhorn ATS & CRM
Bullhorn Onboarding or custom fields
lossySesame HR shift assignments (start/end times, assigned employee, role) have no native Bullhorn ATS/CRM equivalent. Bullhorn Onboarding (formerly Able) handles workforce scheduling for staffing firms with placed contractors. We assess Bullhorn Onboarding licensing during scoping. If licensed, we map shifts to the Onboarding module's schedule records. If not licensed, we store shift summary data as custom fields on the Candidate record (shiftStart__c, shiftEnd__c, shiftRole__c) and deliver a written handoff of the full shift schedule for the customer's workforce management team to rebuild in Bullhorn Onboarding or a third-party scheduling tool.
Sesame HR
Company (Org Chart)
Bullhorn ATS & CRM
ClientCorporation
1:1Sesame HR organizational units and company-level records map to Bullhorn ClientCorporation. We extract the org chart as a flat list of manager-subordinate relationships and map the reporting structure to Bullhorn ClientCorporation name and address fields. Bullhorn does not have a native hierarchical org chart; we flag circular references (employee reported to their own subordinate) during extraction and resolve them to the next highest valid manager before import. For staffing firms, ClientCorporation represents the hiring client company rather than the staffing firm's internal structure.
Sesame HR
Employee Documents
Bullhorn ATS & CRM
ContentDocument (via ContentDocumentLink)
1:1Sesame HR employee documents (contracts, ID copies, certificates) migrate as Bullhorn ContentDocument records attached via ContentDocumentLink to the corresponding Candidate record. We preserve the original filename and MIME type, and map the Sesame HR document category (contract, identification, certification) to a custom ContentDocument field or to the document's title prefix. Binary files are base64-encoded for API upload. Bullhorn's file size limits and document type restrictions are verified during scoping.
Sesame HR
Custom Properties / Custom Fields
Bullhorn ATS & CRM
Custom fields or custom objects
1:1Sesame HR custom fields on Employees and other objects are available via API. We read the full custom field schema during discovery and apply value mapping for picklist and multi-select fields. Bullhorn Front Office Growth/Enterprise editions support up to 10 custom objects with 55 fields each; Bullhorn ATS supports 2 custom objects; ATS Growth supports none. We map Sesame HR custom properties to Bullhorn custom fields on the equivalent standard object first, and escalate to Bullhorn custom objects only if field capacity is exhausted. Any Sesame HR custom object that exceeds Bullhorn's custom object field limits is delivered as a structured export with a rebuild recommendation.
Sesame HR
Payroll Preparation Data
Bullhorn ATS & CRM
Structured export (no native Bullhorn equivalent)
1:1Sesame HR payroll preparation data (hours worked, overtime, deductions, accruals) has no native Bullhorn equivalent. Bullhorn does not process payroll. We package the Sesame HR payroll preparation dataset as a structured CSV export with schema documentation for the customer's external payroll system. If the customer licenses Bullhorn Payroll (a separate product), we assess whether a Bullhorn Payroll API integration is in scope; otherwise, the payroll export is delivered as a reference artifact alongside the migration package.
Sesame HR
Tags / Labels
Bullhorn ATS & CRM
Bullhorn tagging or custom multi-select field
lossySesame HR employee tags map to Bullhorn's native tagging feature on Candidate and Contact records where available, or to a custom multi-select picklist field (employeeTags__c) if the customer's Bullhorn edition supports it. We extract all distinct tag values during discovery and apply them to the mapped Candidate records. Tags used for classification (department tags, employment type tags) are separated from functional tags that represent workflow states.
| Sesame HR | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Employee | Candidate and/or Contact (split required)1:many | Fully supported | |
| Contract | Custom Object or Candidate custom fields1:1 | Fully supported | |
| Candidate / Vacancy (Recruitment) | Candidate and JobOrder1:1 | Fully supported | |
| Vacancy | JobOrder1:1 | Fully supported | |
| Time Entry | Bullhorn Time & Expense (external module) or custom fieldslossy | Fully supported | |
| Absence Record / PTO | Custom fields on Candidate or separate export1:1 | Fully supported | |
| Shift | Bullhorn Onboarding or custom fieldslossy | Fully supported | |
| Company (Org Chart) | ClientCorporation1:1 | Fully supported | |
| Employee Documents | ContentDocument (via ContentDocumentLink)1:1 | Fully supported | |
| Custom Properties / Custom Fields | Custom fields or custom objects1:1 | Mapping required | |
| Payroll Preparation Data | Structured export (no native Bullhorn equivalent)1:1 | Mapping required | |
| Tags / Labels | Bullhorn tagging or custom multi-select fieldlossy | Mapping required |
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.
Sesame HR gotchas
Rate limit shared across all company tokens
Starter tier caps recruitment at 5 positions
Payroll data requires downstream reconciliation
Enterprise tier minimum user count gates key features
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 tier verification
We audit Sesame HR across tier (Starter, Professional, Enterprise), API access, custom field schema, recruitment vacancy count, time-entry volume, shift schedule volume, org chart depth, and document library size. We pair this with a Bullhorn edition assessment: ATS Growth (no custom objects), Bullhorn ATS (2 custom objects), or Front Office Growth/Enterprise (10 custom objects with 55 fields each). We confirm whether the customer licenses Bullhorn Time & Expense or Bullhorn Onboarding, because the answer determines how we handle time, scheduling, and PTO data. The discovery output is a written migration scope with a Bullhorn edition recommendation and a list of Sesame HR features that have no Bullhorn native equivalent (requiring custom fields, modules, or exports).
Schema design and field mapping plan
We design the destination Bullhorn schema before any data moves. This includes provisioning custom fields on Candidate (employmentType__c, salaryBand__c, contractStartDate__c, ptoBalance__c, hoursWorkedThisPeriod__c), configuring custom objects if the Bullhorn edition supports them, and mapping the Sesame HR leave type vocabulary to Bullhorn custom picklist values. Bullhorn ClientCorporation is configured for company records, JobOrder for vacancies, and Placement if the customer uses Bullhorn for temp staffing tracking. The org chart migrates as a flat reportsTo__c field on Candidate. Schema is deployed into a Bullhorn Sandbox first for validation.
Sandbox migration and reconciliation
We run a full migration into a Bullhorn Sandbox using a representative data sample. The customer's recruiting director and HR lead reconcile record counts (Candidates in, ClientCorporations in, JobOrders in, custom field completeness on a 25-50 record sample) against the Sesame HR source. Any missing fields, incorrect picklist values, or capacity issues in Bullhorn custom objects surface here. We correct the mapping and re-run before production migration begins.
Recruitment data migration (Candidates and JobOrders)
We migrate recruitment data first because it often has the highest business priority. Sesame HR Vacancies become Bullhorn JobOrders with title, department, location, employment type, and headcount preserved. Sesame HR Candidates map to Bullhorn Candidates with application stage, source, and any attached documents. Custom pipeline stages from Sesame HR migrate to Bullhorn custom Candidate fields. Bullhorn REST API handles the import with batch chunking for large candidate sets.
Employee and time data migration
With Bullhorn Time & Expense assessed (licensed or not), we migrate Employee records as Bullhorn Candidates with all mapped custom fields populated. Time-entry summaries (hours worked per pay period, overtime flags) store as custom fields or in Bullhorn Time & Expense if the module is licensed. PTO balance snapshots store as custom fields; leave request history is delivered as a structured export. Shifts are assessed against Bullhorn Onboarding licensing and handled accordingly. Payroll preparation data is exported as a structured CSV.
Cutover, validation, and rebuild handoff
We freeze Sesame HR writes during cutover, run a final delta migration of any records modified during the migration window, then enable Bullhorn as the system of record. We validate record counts across all objects, spot-check 25-50 records for field completeness, and verify document attachments on a sample. We deliver a written inventory of any Sesame HR workflows, shift schedules, or automations that do not migrate, with Bullhorn equivalents noted. We support a one-week hypercare window for reconciliation issues. Workflow rebuilds and Bullhorn Automation (Herefish) configuration are outside standard scope.
Platform deep dives
Sesame HR
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Sesame HR and Bullhorn ATS & CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Sesame HR and Bullhorn ATS & CRM.
Object compatibility
All 7 core objects map 1:1 between Sesame HR 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
Sesame HR: Not publicly documented as a single numeric ceiling on the official API docs..
Data volume sensitivity
Sesame HR 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 Sesame HR to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Sesame HR 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 Sesame HR
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.