HRMS migration

Migrate from Mercu to Bullhorn ATS & CRM

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

Mercu logo

Mercu

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

75%

9 of 12

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

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Mercu and Bullhorn serve fundamentally different domains. Mercu is a university HRMS that manages academic staff records, employment contracts, department assignments, and leave balances for a university in Jakarta, Indonesia. Bullhorn is a recruitment ATS and CRM built for staffing agencies that places candidates with client companies. The migration is a schema redesign, not a direct record copy. Staff member records in Mercu map to Bullhorn Candidate records. Department affiliations map to custom fields or Bullhorn ClientCorporation records depending on whether the university itself is modeled as an employer client. Employment contract data and leave balances map to Bullhorn Custom Objects, which are capped at 2 per entity on Bullhorn ATS and ATS Growth editions, and at 10 per entity on Front Office Growth and Enterprise editions. We audit the source Mercu schema, determine which Bullhorn edition provides sufficient custom object headroom, configure the destination Bullhorn org before any data moves, and sequence the migration in dependency order with reconciliation reports at each phase. Bullhorn workflows, onboarding automations, and reporting dashboards do not migrate as code; we deliver a written inventory of these for your Bullhorn admin to rebuild 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

Mercu logo

Mercu

What's pushing teams away

  • Channel and integration scope is concentrated on frontline volume-hiring use cases — knowledge-worker or executive search teams will not find specialized features for their workflows.
  • WhatsApp Business API costs and compliance (Meta-imposed conversation fees, consent requirements) sit on top of the Mercu subscription, complicating total-cost-of-ownership calculations.
  • Smaller third-party connector marketplace than legacy ATSes — teams running on niche or in-house systems may need custom integration work.
  • Pricing is sales-led at the enterprise tier (1,000+ employees), reducing transparency for procurement teams comparing options.
  • Reliance on candidate WhatsApp availability — although SMS fallback exists, candidates without consistent mobile messaging access still drop out of automated funnels.

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

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

Mercu

Staff Member

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

Mercu staff member records map to Bullhorn Candidate records. The staff member's full name maps to Candidate firstName and lastName. Employment status (active, terminated, on leave) maps to Candidate status with custom fields for employment category. We resolve the mapping at the field level during discovery and flag any staff records with missing names or duplicate national ID numbers for manual review before bulk import.

Mercu

Department

maps to

Bullhorn ATS & CRM

ClientCorporation or Custom Field

1:many
Fully supported

Mercu departments (faculties, schools, administrative units) map to Bullhorn ClientCorporation records if the university models itself as a client employer, or to a Candidate custom field if departments represent internal cost centers. The choice is made during scoping based on whether the migration will also include job orders tied to departments. We create Bullhorn field mappings in Admin > Field Mappings to route the department name into the correct destination.

Mercu

Employment Contract

maps to

Bullhorn ATS & CRM

Custom Object (customObject1s)

1:1
Fully supported

Employment contract data (contract type, start date, end date, salary band, role title) maps to a Bullhorn Custom Object attached to the Candidate entity. Bullhorn ATS edition allows 2 custom objects per entity with 55 fields each; Front Office Growth and Enterprise allow 10. We request the custom object through Bullhorn Support using the Custom Object Setup Spreadsheet and map contract fields to the custom object schema before import begins.

Mercu

Leave Balance

maps to

Bullhorn ATS & CRM

Custom Object (customObject2s)

1:1
Fully supported

Annual leave, sick leave, and study leave balances map to a second Bullhorn Custom Object attached to the Candidate. Leave type, accrued amount, used amount, and remaining balance are stored as custom fields on the custom object. Bullhorn ATS edition users who need both contract and leave data must decide which is higher priority for migration or upgrade to a higher Bullhorn tier that allows more custom objects.

Mercu

Organizational Structure

maps to

Bullhorn ATS & CRM

User Reporting Lines

lossy
Fully supported

Mercu's organizational hierarchy (reporting managers, faculty chairs, department heads) maps to Bullhorn User reporting relationships. Each Mercu staff member with direct reports maps to a Bullhorn User with subordinates assigned. We resolve the User mapping by matching Mercu employee ID or email against Bullhorn User records provisioned before migration.

Mercu

Payroll Record

maps to

Bullhorn ATS & CRM

Placement or Custom Object

1:many
Fully supported

Payroll data in Mercu (salary components, bank details, tax identifiers) splits across Bullhorn Placement records and a third Custom Object if the Bullhorn edition allows. Placement fields capture pay rate, bill rate, and placement status. Detailed payroll components (deductions, allowances, tax codes) require a custom object if the destination tier supports it.

Mercu

Job Posting (internal university positions)

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

Mercu internal job postings for faculty and staff roles map to Bullhorn JobOrder records. JobOrder title, description, department, employment type, and salary range migrate. Bullhorn JobOrder requires at minimum a title, client corporation reference, and job status. We configure the JobOrder Record Type to reflect internal university posting versus external recruitment.

Mercu

Application

maps to

Bullhorn ATS & CRM

Candidate / JobSubmission

1:1
Fully supported

Mercu job applications for internal postings map to Bullhorn Candidate records linked to JobOrder via a JobSubmission. The applicant's Mercu staff member profile (if internal) or external candidate profile (if external) becomes a Candidate record. Application status maps to JobSubmission status.

Mercu

Qualification Record

maps to

Bullhorn ATS & CRM

Candidate Custom Fields

1:1
Fully supported

Academic qualifications (degree, institution, year, field of study) from Mercu map to Bullhorn Candidate custom fields. Bullhorn's Candidate entity supports custom fields for education history. We extend the Candidate schema with a customObject if the standard 20 custom fields per entity are insufficient for multi-degree academic staff.

Mercu

Performance Review

maps to

Bullhorn ATS & CRM

Custom Object (customObject3s)

1:1
Fully supported

Performance review records map to a Bullhorn Custom Object attached to Candidate. Review period, rating, reviewer, and comments migrate as custom fields. This object is only available on Bullhorn editions that support more than 2 custom objects per entity.

Mercu

Training Record

maps to

Bullhorn ATS & CRM

Custom Object (customObject4s)

1:1
Fully supported

Training attendance and completion records map to a Bullhorn Custom Object on Candidate. Training course name, completion date, provider, and certification expiry migrate. Bullhorn editions supporting multiple custom objects can accommodate this in a separate custom object or consolidated into an HR profile custom object depending on field count.

Mercu

User Account (Mercu staff portal user)

maps to

Bullhorn ATS & CRM

User

1:1
Fully supported

Mercu staff portal user accounts map to Bullhorn User records. We match by email address. Active Mercu users become active Bullhorn Users; inactive Mercu users become inactive Bullhorn Users. Bullhorn User provisioning (role, department assignment, Bullhorn seat type) is the customer's admin responsibility; we validate the mapping and flag any Mercu users without a matching email for reconciliation.

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.

Mercu logo

Mercu gotchas

High

Catalog website (mercubuana.ac.id) is Mercu Buana University, NOT the Mercu AI hiring platform

High

Mercu is a recruitment overlay, not the system of record for employees

Medium

WhatsApp Business API costs and consent rules sit outside the Mercu subscription

Medium

AI match scores and conversation history do not include the AI prompt logic

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 ATS Growth edition has no custom objects

    Bullhorn ATS Growth edition explicitly does not support custom objects. If the Mercu migration requires employment contract, leave balance, payroll, performance review, or training records to migrate as structured data, ATS Growth cannot accommodate them. We determine the required custom object count during discovery (minimum 2 for contract and leave, potentially more for payroll and training). If the customer is on or plans to use ATS Growth, we flag this as an edition mismatch and recommend Front Office Growth or Enterprise before migration begins. Skipping this check results in data that cannot be stored in the destination schema.

  • Bullhorn workflows and onboarding automations do not migrate

    Bullhorn's workflow automation model (field update triggers, placement onboarding sequences, recruitment-stage automations) has no direct Mercu equivalent. Mercu HR workflows (leave approval chains, contract renewal alerts, department head notifications) are structurally incompatible with Bullhorn's recruitment-specific automation framework. We do not migrate workflows as code. We deliver a written inventory of every Mercu HR workflow with its trigger conditions, approval chain, and recommended Bullhorn replacement (Bullhorn Workflow, Onboarding, or third-party HRIS integration). The customer's Bullhorn admin rebuilds these post-migration.

  • Custom objects require Bullhorn Support to create

    Bullhorn does not allow customers to create custom objects via the admin UI. A Bullhorn Support ticket with a completed Custom Object Setup Spreadsheet is required. The spreadsheet defines field display names, edit types, required flags, and section headers per custom object. Bullhorn Support then provisions the custom object on the tenant. We manage this ticket submission as part of the migration approach, but the customer must allow 3-5 business days for Bullhorn Support to create each custom object before the migration run begins.

  • Bullhorn editions limit searchable custom objects per entity

    Bullhorn's custom object limits are entity-specific (10 per entity on Front Office Growth/Enterprise, 2 on Bullhorn ATS). A migration that creates separate custom objects for Employment Contract, Leave Balance, Payroll, Performance Review, and Training Record against the Candidate entity will exceed the Bullhorn ATS limit of 2. We consolidate related fields into a single HR Profile custom object where possible, reducing field count by grouping contract and leave data. If consolidation still exceeds the limit, we recommend a Bullhorn edition upgrade or prioritize the two highest-business-impact custom objects for migration.

  • API rate limits require batch chunking for large record sets

    Bullhorn's REST API enforces rate limits on create, update, and query operations. Migrations exceeding 5,000 candidate records or custom object records require batch chunking with exponential backoff on limit responses. Bullhorn also offers a Bulk API for high-volume record imports that requires the Corporate or Enterprise edition. We use the appropriate API (REST for smaller migrations, Bulk API for large-volume migrations) with batch sizes tuned to the destination edition's throughput. Migrations that skip batch sizing risk 429 Too Many Requests errors that stall the import and require restart.

Migration approach

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

  1. Discovery and Bullhorn edition assessment

    We audit the Mercu database schema across all tables: staff members, departments, employment contracts, leave balances, payroll records, organizational hierarchy, qualifications, performance reviews, and training records. We count distinct custom object types and map each to a potential Bullhorn custom object. We compare the required custom object count against the customer's current Bullhorn edition limits and recommend an edition upgrade (ATS Growth to Front Office Growth or Enterprise) if the source schema requires more custom objects than the current tier supports. The discovery output is a written schema map, a Bullhorn edition recommendation, and a custom object creation request list for Bullhorn Support.

  2. Bullhorn Support custom object provisioning

    We complete the Bullhorn Custom Object Setup Spreadsheet for each required custom object, specifying display name, field names, edit types (text, dropdown, date, number), required flags, and section headers. We submit the spreadsheet to Bullhorn Support via a support ticket and track provisioning status. This step requires 3-5 business days. We also configure Bullhorn Field Mappings in Admin to route Mercu source fields into the correct Bullhorn custom object fields once they are provisioned.

  3. Sandbox migration and schema validation

    We run a full migration into a Bullhorn Sandbox using a representative subset of Mercu data (at minimum 10% of total record volume, or 500 records whichever is greater). The customer validates that staff records appear correctly as Candidates, that department affiliations resolve to the correct ClientCorporation or custom field, that contract and leave data populate the custom objects, and that the organizational hierarchy maps to User reporting lines. Any field mapping corrections happen in this phase. We do not proceed to production migration until the customer signs off on the sandbox reconciliation report.

  4. Bullhorn User provisioning

    We extract every distinct Mercu staff member who requires Bullhorn access and match by email address against the Bullhorn User table. Users without a matching email go to a reconciliation queue for the customer's Bullhorn admin to provision. User roles, department assignments, and Bullhorn seat types are configured by the customer's admin; we validate the mapping and flag mismatches. Migration cannot proceed past this step because Candidate OwnerId references require a valid Bullhorn User.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Users (validated), ClientCorporations (from Mercu departments), Candidates (with ownership resolved, department mapped, qualification custom fields populated), Employment Contract custom objects (attached to Candidates), Leave Balance custom objects (attached to Candidates), JobOrder records (from Mercu internal postings), JobSubmission records (from Mercu applications), and remaining custom objects (payroll, performance, training) last. Each phase emits a row-count reconciliation report showing records attempted, records imported, and records rejected with error reasons.

  6. Cutover, validation, and workflow handoff

    We freeze Mercu read 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 the workflow inventory document listing every Mercu HR workflow and its recommended Bullhorn replacement. We support a one-week hypercare window to resolve any post-migration reconciliation issues raised by the university HR team. We do not rebuild Mercu HR workflows inside the migration scope; that is a separate Bullhorn configuration engagement.

Platform deep dives

Context on both ends of the pair

Mercu logo

Mercu

Source

Strengths

  • Built specifically for frontline volume hiring — concentrated on retail, hospitality, logistics, and QSR/F&B verticals.
  • Native multi-channel candidate communication: WhatsApp, SMS, LINE, Kakao, Zalo, with WhatsApp-to-SMS automatic fallback.
  • Pre-built integrations with most major ATS and HRIS platforms (Workable, Dayforce, TalentLyft, and more) plus no-code connectors.
  • AI candidate Q&A and match scoring reduce recruiter time per candidate at high application volumes.
  • Enterprise customer references include Lufthansa, Guzman y Gomez, JD Sports, and Decathlon, indicating production-scale capability.

Weaknesses

  • Concentrated on volume frontline hiring — not designed for knowledge-worker or executive search.
  • Total cost of ownership includes external WhatsApp Business API fees and Meta-imposed conversation pricing on top of the Mercu subscription.
  • Smaller integration marketplace than legacy ATSes — niche or in-house systems may require custom work.
  • Enterprise pricing is sales-led; lower-tier pricing transparency is partial.
  • AI scoring and chat logic do not export when migrating away from the platform.
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. 1 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 Mercu and Bullhorn ATS & CRM.

  • Object compatibility

    B

    1 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

    Mercu: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Mercu 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 institutions under 2,000 staff records with two or fewer custom object types. Migrations exceeding Bullhorn ATS Growth edition limits (requiring more than 2 custom objects per entity) or with large leave balance and payroll histories move to eight to fourteen weeks because of Bullhorn edition upgrade coordination, custom object provisioning lead time (3-5 business days per Bullhorn Support ticket), and multi-phase reconciliation.

Adjacent paths

Related migrations to explore

Ready when you are

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