HRMS migration

Migrate from Sympa to Bullhorn ATS & CRM

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

Sympa logo

Sympa

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

42%

5 of 12

objects map 1:1 between Sympa and Bullhorn ATS & CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Sympa HRMS and Bullhorn serve fundamentally different operating models. Sympa is an employee lifecycle HRMS built for multi-country workforce management, with core objects for employees, org units, compensation timelines, and time-off balances. Bullhorn is an ATS and recruitment CRM built for staffing agencies, with a data model centered on Candidates, Contacts, Corporations, Jobs, and Placements. There is no native employee-hire-to-offboarding object in Bullhorn. We close that gap during migration by mapping Sympa Employee records to Bullhorn Candidate records with all employment history, compensation, and time-off data stored as custom fields or custom objects, subject to Bullhorn's edition-specific limits. We perform live schema discovery on the Sympa API during scoping, audit every custom field before field mapping, and resolve the Bullhorn edition tier early so that custom object allocations match the data volume being migrated.

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

Sympa logo

Sympa

What's pushing teams away

  • Pricing transparency is a recurring pain point — Sympa does not publish public pricing tiers, requiring a sales quote for every evaluation and making cost comparisons difficult.
  • Organizations with simpler HR needs find Sympa over-engineered for their use case, paying for multi-country and enterprise features they do not use.
  • Some users report that the breadth of configuration options creates complexity during initial setup and ongoing administration, slowing down HR teams unfamiliar with the system.
  • Integration setup, particularly for non-standard payroll or identity providers, can require technical resources and custom API work beyond what the wizards support.

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

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

Sympa

Employee

maps to

Bullhorn ATS & CRM

Candidate (primary) and Contact (secondary)

1:1
Fully supported

Sympa Employee records map to Bullhorn Candidate as the primary record type. We map Employee ID to Bullhorn candidateID, firstName and lastName to the standard name fields, employmentStartDate to a custom date field (since Bullhorn Candidate has hireDate and terminationDate fields scoped to placements, not general employment), and employmentStatus to a custom picklist field capturing active, on_leave, and terminated states. Where the migration also serves a client-facing CRM function, we create parallel Contact records for individuals who appear in both an HR capacity and a client or vendor capacity, using a custom field employeeSourceID__c to link the two records and avoid duplication.

Sympa

Organizational Structure (Org Unit and Department)

maps to

Bullhorn ATS & CRM

Corporation and custom object or custom fields

1:many
Fully supported

Sympa stores org units and department hierarchies with parent-child relationships. Bullhorn does not have a native org chart object; department and division information lives on the Corporation record or requires a custom object. We map each Sympa Org Unit to a Bullhorn Corporation record when the unit represents a legal employer entity, and to a custom Department object (linked to Corporation via a lookup) when it represents an internal cost center or team. Reporting chain information (manager relationships) migrates as a custom managerID__c field on the Candidate record, populated by resolving the manager's Employee ID to a Bullhorn User or to the manager's Candidate record.

Sympa

Compensation History

maps to

Bullhorn ATS & CRM

Custom object (Compensation Record) or custom fields on Candidate

1:many
Mapping required

Sympa stores salary, bonus, and equity records as effective-dated entries per Employee. Bullhorn has no standard compensation object on Candidate. We create a custom Compensation Record object with fields for effectiveDate, baseSalary, bonusAmount, equityGrant, and currency, linked to the Candidate via a lookup relationship. If Bullhorn Enterprise is in use, we use one of the ten available custom objects for this; if Bullhorn ATS (capped at two custom objects) is the destination, we store the most recent compensation record as a set of custom fields on the Candidate object and document the full compensation timeline for manual re-entry or a payroll integration setup.

Sympa

Time-Off Balances

maps to

Bullhorn ATS & CRM

Custom fields or manual reconfiguration

lossy
Mapping required

Sympa tracks accrued time-off balances per Employee per leave type as snapshot values. Bullhorn ATS does not have a native time-off or PTO object. We assess whether the destination Bullhorn edition has a Bullhorn Time & Expense module (a separate product formerly myPeopleNet) that handles PTO tracking. If so, we document the time-off balance import requirements for that module. If not, we migrate the most recent balance values as custom fields on the Candidate record (e.g., vacationBalance__c, sickBalance__c) and flag for the customer's admin that accrual rules must be configured manually post-migration. Accrued balances are point-in-time snapshots and cannot be reconciled against accrual rules during migration.

Sympa

Employment History

maps to

Bullhorn ATS & CRM

Custom fields or custom object on Candidate

1:many
Mapping required

Sympa records job title changes, department transfers, and manager updates as effective-dated events per Employee. Bullhorn Candidate has a title field and a employmentHistory custom field, but no native employment history object. For short tenure histories (fewer than five role changes per employee), we store the most recent role as the standard title field and previous roles in a custom multi-line text field or a custom Employment History object. For complex histories, we create a custom object linked to Candidate to preserve the full chronological sequence.

Sympa

Users and Roles

maps to

Bullhorn ATS & CRM

User (Bullhorn) and role configuration

1:1
Mapping required

Sympa HRMS assigns roles and permissions to Users who may or may not map 1:1 to Employee records. We distinguish between Sympa users who are HR administrators (mapped to Bullhorn User records with Admin usertype), users who are employees without system access (mapped to Candidate only, no Bullhorn User), and users who are recruiters or staffing managers (mapped to Bullhorn User with appropriate role). Bullhorn role and permission settings require manual configuration post-migration; we provide a role mapping document listing each Sympa role and its recommended Bullhorn permission set.

Sympa

Custom Fields

maps to

Bullhorn ATS & CRM

Custom fields or custom objects on Bullhorn entities

lossy
Mapping required

Sympa allows administrators to create custom fields on Employee and related objects without schema governance controls. We audit every custom field during scoping by requesting a full custom field export from the customer's Sympa tenant. Each custom field is then mapped to a Bullhorn custom field on the appropriate entity (Candidate, Contact, Corporation, Job, Placement) or to a custom object if Bullhorn's 55-field limit per entity is reached. Bullhorn ATS editions impose different custom object caps: Bullhorn ATS Growth has zero, Bullhorn ATS has two, and Front Office Growth and Enterprise have ten. We confirm the destination edition during scoping and adjust the mapping strategy accordingly.

Sympa

Documents (contracts, certifications, compliance records)

maps to

Bullhorn ATS & CRM

FileAttachments on Candidate or Contact

1:1
Fully supported

Employee documents such as contracts, certifications, and compliance records attach to Employee records in Sympa. We migrate file attachments and map them to Bullhorn's FileAttachments linked to the corresponding Candidate record. Bullhorn supports file uploads via its REST API with a 25 MB per-file limit. We validate that all source document types (PDF, DOCX, image formats) are supported by Bullhorn's file preview, and we flag any file that exceeds the size limit for manual handling. Where Sympa stores document metadata (issue date, expiry date, document type), we map these to custom fields on the FileAttachment or to a custom document metadata object.

Sympa

Job (Sympa recruitment module, if in use)

maps to

Bullhorn ATS & CRM

JobOrder (Bullhorn)

1:1
Fully supported

If the Sympa tenant includes a recruitment or job posting module, open positions migrate to Bullhorn JobOrder records. We map jobTitle to title, jobDescription to description, employmentType to employmentType, and location to address. Sympa job categories map to Bullhorn categories using a lookup table built during scoping. Job status (open, filled, closed) maps to Bullhorn JobOrder status values. Candidate applications attached to Sympa job postings migrate as CandidateSubmission records in Bullhorn, preserving the candidate-to-job relationship.

Sympa

Leave Requests

maps to

Bullhorn ATS & CRM

Custom fields or external leave management

lossy
Fully supported

Sympa leave request records represent historical time-off approvals. Bullhorn ATS does not have a leave request object. We migrate leave request records as entries in a custom Leave Request object or as rows in a structured custom text field on the Candidate record, capturing leaveType, startDate, endDate, status, and approvalDate. We flag that active leave request workflows from Sympa do not migrate to Bullhorn, and that the customer should configure leave request approval processes in Bullhorn or in a separate HR system post-migration.

Sympa

Employee Benefits Enrollment

maps to

Bullhorn ATS & CRM

Custom fields or documentation

lossy
Fully supported

Sympa may store benefit enrollment information (health plan, dental, retirement contribution rates) per Employee. Bullhorn ATS has no benefits enrollment object. We map active benefit enrollments to custom fields on the Candidate record (benefitPlan__c, retirementContributionRate__c, etc.) and store historical enrollment records as a custom Benefits History object if Bullhorn Enterprise is the destination and a custom object slot is available. We document benefit enrollment data that cannot be mapped as a CSV export for the customer's benefits administrator to reconcile.

Sympa

Candidate (Sympa recruitment module, if in use)

maps to

Bullhorn ATS & CRM

Candidate (Bullhorn)

1:1
Fully supported

Where Sympa's recruitment module is in use, candidate profiles stored in Sympa migrate to Bullhorn Candidate records directly. We map candidate name, email, phone, and address to Bullhorn's standard Candidate fields. Work history and education from Sympa migrate to Bullhorn's custom2 and custom3 fields or to a custom Work History object. Skills and competencies stored as custom fields in Sympa map to Bullhorn skillCustomText fields or to a custom Skills object. Candidate status in Sympa maps to a custom picklist reflecting the customer's recruitment pipeline stages.

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.

Sympa logo

Sympa gotchas

High

No public API documentation or developer portal

Medium

Custom fields require manual audit before migration

Medium

Time-off balance migration depends on destination accrual rules

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

  • No native employee lifecycle object in Bullhorn

    Sympa HRMS is built around the full employee lifecycle from hire through offboarding, with native objects for employees, compensation history, org units, and time-off. Bullhorn ATS is built for candidate and placement tracking and has no equivalent employee lifecycle object. Employment dates, compensation, org assignments, and time-off data must be stored as custom fields or custom objects on the Candidate record, subject to Bullhorn's edition-specific limits on custom fields (55 per entity) and custom objects (0 on ATS Growth, 2 on Bullhorn ATS, 10 on Front Office Growth/Enterprise). We confirm the destination Bullhorn edition during scoping and design the custom field and custom object allocation accordingly. Organizations with data that exceeds Bullhorn's limits may need to upgrade to a higher edition tier or accept that some data is documented rather than migrated.

  • Sympa API requires live schema discovery with no public documentation

    Sympa HRMS does not publish standalone API documentation or a developer portal. We cannot inspect endpoint schemas, object field lists, or rate limits without a Sympa account and live tenant access. During migration scoping, we request API credentials and perform a live schema discovery call to enumerate available objects and fields before designing the field mapping. This discovery step adds one to two weeks to the scoping phase compared to platforms with public API documentation. The customer must provide read access to the Sympa API during scoping, and any changes to the Sympa schema during migration require a mapping update.

  • Time-off balance migration depends on Bullhorn edition and add-on modules

    Sympa tracks accrued time-off balances per Employee per leave type as snapshot values. Bullhorn ATS does not have a native time-off or PTO tracking object; the Bullhorn Time & Expense product (formerly myPeopleNet) handles PTO management as a separate module. We flag during scoping whether Bullhorn Time & Expense is in the destination scope and whether the module accepts balance imports. Where the destination does not support balance imports, we migrate entitlement values as custom fields on the Candidate record and advise the customer to configure accrual rules manually post-migration. Accrued balances represent point-in-time snapshots and cannot be reconciled against the destination's accrual calculation logic.

  • Custom fields in Sympa require manual pre-migration audit per tenant

    Sympa HRMS allows administrators to create custom fields on Employee and related objects without schema governance controls, and field names, data types, and picklist values vary per tenant. We cannot infer a universal mapping for custom fields. We require a pre-migration audit during the scoping call where the customer exports their full custom field inventory from Sympa. We cross-reference each custom field against the Bullhorn schema for the target edition, apply explicit field-level transformations for any that lack a direct equivalent, and allocate Bullhorn custom field slots accordingly. Custom fields that exceed Bullhorn's 55-field-per-entity limit require a custom object instead.

  • Bullhorn custom object limits vary by edition and affect compensation and org structure mapping

    Bullhorn limits custom objects by edition: ATS Growth has zero, Bullhorn ATS has two, and Front Office Growth and Enterprise have ten. Organizations migrating from Sympa with complex compensation histories (effective-dated salary entries), multi-level org hierarchies, or benefits enrollment data may require more than two custom objects. We identify the destination Bullhorn edition during scoping and adjust the migration strategy: on lower editions, we store the most recent compensation record as custom fields on the Candidate and document historical records for manual re-entry; on Enterprise, we use custom objects for compensation, org structure, and benefits. Bullhorn custom objects must be requested via a support ticket using a provided spreadsheet template before the migration begins.

Migration approach

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

  1. Scoping, edition confirmation, and Sympa API discovery

    We begin by confirming the destination Bullhorn edition (Team, Corporate, or Enterprise) and the Bullhorn Time & Expense add-on status, since these decisions determine custom field and custom object allocation. We request Sympa API credentials and perform live schema discovery to enumerate all available objects, fields, custom fields, and relationship endpoints. We also request a full custom field export from the customer's Sympa tenant. The scoping output is a written migration scope document including the confirmed Bullhorn edition, the object-to-object mapping matrix, the custom field audit results, and the Bullhorn custom object request ticket (if Enterprise is required).

  2. Bullhorn custom object and custom field provisioning

    If the migration scope requires Bullhorn custom objects (for compensation history, org structure, or benefits enrollment), we prepare and submit the Bullhorn Custom Object Setup Spreadsheet to Bullhorn Support before migration begins. Bullhorn Support provisions the custom objects, which must exist in the Bullhorn tenant before any data can be loaded into them. While waiting for provisioning, we configure standard Bullhorn custom fields on the Candidate, Contact, and Corporation entities using Bullhorn's Field Mappings tool (Admin > Field Mappings), defining field display names, data types, picklist values, and required/optional status. We set up record types and page layouts for any non-standard Candidate workflows.

  3. Sandbox migration and reconciliation

    We run a full migration into a Bullhorn sandbox environment using production-like data volume. The customer's Bullhorn administrator reconciles record counts (Candidates in, Contacts in, Corporations in, custom object records in), spot-checks 25-50 random records against the Sympa source data, and reviews custom field values for accuracy. Bullhorn saved searches and reports are validated to confirm the migrated data surfaces correctly in Bullhorn's reporting tools. Any mapping corrections are documented and applied to the production migration plan before cutover. Bullhorn's New Candidate List has different field logic than the legacy list; we test searches against both until the customer confirms which Candidate List experience is in use.

  4. User and role reconciliation

    We extract every distinct Sympa User referenced on Employee, Org Unit, and Document records and categorize each as an HR administrator, employee without system access, or staffing manager. HR administrators map to Bullhorn User records with Admin usertype; employees without access map to Candidate records only; staffing managers map to Bullhorn User records with the appropriate Bullhorn role. The customer's Bullhorn administrator provisions any missing Bullhorn Users and assigns roles. Migration cannot proceed past user provisioning because OwnerId and assignedTo references are required on Candidate and JobOrder records.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Bullhorn Users (manual, validated), Corporations (from Sympa Org Units), Candidates (with employment date, status, and org assignment custom fields resolved), Contacts (for dual-role individuals), custom object records for compensation and benefits history (if Bullhorn Enterprise), JobOrders (for Sympa recruitment module records), FileAttachments (via Bullhorn REST API file upload), and CandidateSubmissions (linking candidates to job orders). Each phase emits a row-count reconciliation report before the next phase begins. Bullhorn's REST API handles custom field population and file uploads; we apply rate-limit handling and exponential backoff per Bullhorn's documented API limits.

  6. Cutover, validation, and automation rebuild handoff

    We freeze Sympa write access during cutover, run a final delta migration of any records modified during the migration window, then enable Bullhorn as the system of record. We deliver a written inventory of any Sympa automations, workflows, or approval processes that cannot migrate to Bullhorn as code, with Bullhorn configuration equivalents noted for each. This includes leave request approval workflows (to be configured in Bullhorn or a separate HR system), role-based access rules (to be set in Bullhorn Admin > Users), and any Bullhorn saved searches that require adjustment for the New Candidate List field behavior. We support a one-week hypercare window for reconciliation issues and do not rebuild Sympa workflows, automations, or approval chains as part of the standard migration scope.

Platform deep dives

Context on both ends of the pair

Sympa logo

Sympa

Source

Strengths

  • Full employee lifecycle management from recruitment through offboarding in a single configurable system.
  • Multi-country and multi-language support designed for global organizations with localized compliance requirements.
  • Hundreds of pre-built integrations plus open API with wizard-based tools for custom API building.
  • Customizable reporting and analytics with no-code configuration of reports and dashboards.
  • ISO 27001 certified vendor with a twenty-year track record in the Nordic and European HR software market.

Weaknesses

  • No publicly available API documentation or developer portal for independent integration builders to self-serve.
  • Pricing is opaque and requires sales engagement, with quotes varying widely based on headcount and module selection.
  • Custom field governance can become complex at scale, making it difficult to audit which fields are in use before migrating.
  • The platform is primarily designed for mid-to-large enterprises, making it disproportionately expensive for small teams.
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 Sympa 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

    Sympa: Not publicly documented in the SympaHR Integration API documentation — confirmed during scoping..

  • Data volume sensitivity

    A

    Sympa exposes a bulk API — large-volume migrations stream efficiently.

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Migrations under 1,000 employees with straightforward compensation data and no custom objects land between three and five weeks. Migrations with complex compensation histories (multiple effective-dated salary entries per employee), multi-level org hierarchies requiring Bullhorn custom objects, or organizations that require Bullhorn Enterprise to accommodate more than two custom objects move to eight to fourteen weeks because of Bullhorn edition re-selection, custom object provisioning through Bullhorn Support, and the additional API schema discovery step that Sympa's lack of public documentation requires. Bullhorn states that small staffing firms can go live in two weeks, but that timeline applies to fresh Bullhorn implementations with no historical data migration.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Sympa.
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