HRMS migration

Migrate from Sesame HR to Bullhorn ATS & CRM

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 logo

Sesame HR

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

67%

8 of 12

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

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Sesame HR logo

Sesame HR

What's pushing teams away

  • Customers report a significant gap between the platform's marketing promises and actual delivered functionality, with features that underdeliver in practice.
  • Scheduling features are cited as problematic, with shift management creating conflicts or not enforcing restrictions correctly for diverse contract types.
  • Customer support is described as poor, with slow or unhelpful responses when issues arise during day-to-day use.
  • Unexpected changes to the platform have disrupted established workflows, and some modules are reported as buggy or incomplete.
  • Teams cite missing features for complex HR needs, particularly around performance management and compliance tooling.

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

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

maps to

Bullhorn ATS & CRM

Candidate and/or Contact (split required)

1:many
Fully supported

Sesame 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

maps to

Bullhorn ATS & CRM

Custom Object or Candidate custom fields

1:1
Fully supported

Sesame 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)

maps to

Bullhorn ATS & CRM

Candidate and JobOrder

1:1
Fully supported

Sesame 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

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

Sesame 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

maps to

Bullhorn ATS & CRM

Bullhorn Time & Expense (external module) or custom fields

lossy
Fully supported

Sesame 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

maps to

Bullhorn ATS & CRM

Custom fields on Candidate or separate export

1:1
Fully supported

Sesame 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

maps to

Bullhorn ATS & CRM

Bullhorn Onboarding or custom fields

lossy
Fully supported

Sesame 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)

maps to

Bullhorn ATS & CRM

ClientCorporation

1:1
Fully supported

Sesame 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

maps to

Bullhorn ATS & CRM

ContentDocument (via ContentDocumentLink)

1:1
Fully supported

Sesame 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

maps to

Bullhorn ATS & CRM

Custom fields or custom objects

1:1
Mapping required

Sesame 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

maps to

Bullhorn ATS & CRM

Structured export (no native Bullhorn equivalent)

1:1
Mapping required

Sesame 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

maps to

Bullhorn ATS & CRM

Bullhorn tagging or custom multi-select field

lossy
Mapping required

Sesame 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.

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.

Sesame HR logo

Sesame HR gotchas

High

Rate limit shared across all company tokens

Medium

Starter tier caps recruitment at 5 positions

Medium

Payroll data requires downstream reconciliation

Medium

Enterprise tier minimum user count gates key features

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 does not have a native time-tracking or shift-scheduling object

    Sesame HR's time-tracking and shift-management modules have no direct Bullhorn ATS/CRM equivalent. Bullhorn Time & Expense is a separate licensed product handling WFM for placed contractors, and Bullhorn Onboarding handles workforce scheduling. Migrations that assume time entries and shifts map directly to Bullhorn records will find no such objects. We assess Bullhorn Time & Expense and Onboarding licensing during scoping and either configure an integration or store time and shift summaries as custom Candidate fields with a written handoff for the customer's admin to rebuild in the appropriate Bullhorn module.

  • Sesame HR shared API rate limit collides with Bullhorn bulk import

    Sesame HR enforces a single rate limit of 1,000 requests per minute shared across every API token belonging to the same company. During migration, concurrent extraction from Sesame HR and import into Bullhorn can trigger 429 errors mid-export if the customer's existing integrations (payroll sync, internal tools) are also hitting the API. We throttle our extraction worker to 60% of the observed limit, schedule extraction windows outside peak integration activity, and chunk large record sets (time entries, absence history) by date range to stay within quota. Bullhorn's import rate is coordinated to receive batches rather than spike-receiving, avoiding a cascading failure across both platforms.

  • Bullhorn custom object tier limits may constrain Sesame HR custom field mapping

    Bullhorn ATS editions impose hard limits on custom objects: Front Office Growth/Enterprise allows 10 custom objects with 55 fields each, Bullhorn ATS allows 2, and ATS Growth allows none. Sesame HR custom fields may require more capacity than the customer's current Bullhorn edition provides. We audit the customer's Sesame HR custom field schema during discovery and compare it against the destination Bullhorn edition's custom object budget. If capacity is insufficient, we escalate to Bullhorn custom fields on standard objects first, and flag any overflow as a custom object upgrade requirement or structured export for manual data entry post-migration.

  • Bullhorn does not process payroll and Sesame HR payroll data must not be assumed transferable

    Sesame HR collects payroll preparation data (hours worked, overtime, deductions, accruals) but does not execute payroll directly. Bullhorn has no native payroll processing function in its standard ATS/CRM. Migrations that assume compensation data migrates as a live record will not find a destination field. We export the Sesame HR payroll preparation dataset as a structured CSV with a documented schema and deliver it alongside the migration package. The customer's payroll team imports it into their external payroll system. If the customer has or plans Bullhorn Payroll, we scope that as a separate integration engagement.

  • Sesame HR org chart is hierarchical; Bullhorn has no native org chart object

    Sesame HR exposes the organizational structure as a hierarchical tree of manager-subordinate relationships. Bullhorn has no native org chart or hierarchical reporting structure. We extract the Sesame HR org chart as a flat list of employee-to-manager relationships, resolve circular references (an employee listed as their own manager), and store the manager relationship as a custom field on the Candidate record (reportsTo__c) or as a structured reference document. Any org-chart visualization in Bullhorn requires Bullhorn Onboarding's org chart feature or a third-party visualization tool.

Migration approach

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

  1. 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).

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

Sesame HR logo

Sesame HR

Source

Strengths

  • Full-stack HR coverage: time tracking, shifts, leave, recruitment, payroll prep, and org chart in one subscription.
  • API supports real-time sync with external payroll systems and internal tools, reducing double data entry.
  • Modular pricing allows teams to start on Starter and upgrade to Enterprise for SSO, unlimited recruitment, and API access.
  • Built with European labor compliance in mind, serving companies in Spain and across the EU and LATAM markets.
  • Employee self-service model reduces HR admin burden for flexitime and part-time workforces.

Weaknesses

  • Only two verified reviews on G2 with a low 1.8/5 rating, making independent peer assessment difficult.
  • Enterprise tier pricing and minimums (300 users) create a significant step-up from Starter, limiting mid-market options.
  • Limited published information on API rate limit behavior and schema documentation for custom integrations.
  • Recruitment module is gated by tier: Starter caps at 5 open positions, forcing an upgrade for growing hiring needs.
  • Reported gaps between marketed feature set and actual product delivery suggest potential over-promise in sales materials.
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. All 7 core objects map 1:1 between Sesame HR and Bullhorn ATS & CRM.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Sesame HR and Bullhorn ATS & CRM.

  • Object compatibility

    A

    All 7 core objects map 1:1 between Sesame HR and Bullhorn ATS & CRM.

  • 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

    Sesame HR: Not publicly documented as a single numeric ceiling on the official API docs..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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 consultation

Most migrations land between three and five weeks for accounts under 500 Employees, 2,000 Candidates, and 500 Vacancies with no Bullhorn module integration. Migrations with large time-entry histories (over 100,000 records), full org chart reconstruction, Bullhorn Time & Expense or Onboarding integration, or multi-entity Bullhorn CRM configurations move to six to ten weeks because of schema design, module configuration, and Bullhorn API chunking.

Adjacent paths

Related migrations to explore

Ready when you are

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