HRMS migration
Field-level mapping, validation, and rollback between Mercu and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
Mercu
Source
BambooHR
Destination
Compatibility
4 of 10
objects map 1:1 between Mercu and BambooHR.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Mercu to BambooHR is a transition from a university-specific academic HRMS serving Mercu Buana University in Jakarta to a general-purpose cloud HRIS designed for small-to-mid businesses worldwide. The structural challenge is mapping Mercu's multi-field Indonesian naming convention (title, given name, middle name, surname) into BambooHR's standard first-name/last-name split, while preserving the full original display name for staff directory accuracy. We also resolve supervisor relationships from Mercu's academic hierarchy into BambooHR's manager lookup, map historical leave balances into BambooHR's Time Off module, and flag any Mercu leave types that have no direct BambooHR equivalent for manual reconciliation. Employment status transitions, department histories, and contract end dates carry over as custom fields where BambooHR's standard schema does not capture the academic context. BambooHR's native ATS (Job Openings and Applications), onboarding checklists, and performance review cycles are not migrated as templates; we deliver a written scope of these objects for the customer's admin to configure 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 Mercu object lands in BambooHR, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Mercu
Employee
BambooHR
Employee
1:1Mercu Employee records map to BambooHR Employee. The primary challenge is Mercu's multi-field Indonesian name format (gelar/title, nama depan/given name, nama tengah/middle name, nama belakang/surname) which we split into BambooHR's First Name and Last Name fields, with the full original concatenated name preserved in a custom employee field (e.g., Full Name Original) for staff directory accuracy. Employee ID from Mercu maps to BambooHR's Employee Number field as the dedupe key. National ID (NIK) and NIDN (lecturer identification number) map to custom fields if the customer requires them post-migration.
Mercu
Employment Details
BambooHR
Employment Details
lossyMercu's employment_type (dosen/lecturer, staff, kontrak), academic_rank (asisten ahli, lektor, lektor kepala, profesor), and functional position map to BambooHR's Employment History section as separate employment records. Each employment record in BambooHR captures job title, department, employment status, start date, and end date. We configure the employment history sequence in BambooHR so the most recent academic rank is the primary displayed title, with prior ranks preserved in the employment timeline.
Mercu
Department / Faculty
BambooHR
Department
1:1Mercu's faculty and department structure (Fakultas Teknik, Fakultas Ekonomi, etc.) maps to BambooHR's Departments. We create the department hierarchy in BambooHR during the configuration phase, mapping Mercu's parent faculty relationship to BambooHR's department structure. Employees are assigned to their primary department via BambooHR's Department field, with secondary faculty affiliations recorded in a custom multi-select field.
Mercu
Employment Status
BambooHR
Employment Status
lossyMercu's employment status values (aktif/active, cuti/leave of absence, kontrak/contract, selesai/terminated) map to BambooHR's Employment Status values. We configure BambooHR's status options during setup to match the source values, with Cuti (academic leave) mapped to a custom status category that BambooHR's standard statuses do not cover natively. Terminated employees from Mercu with an exit date migrate with their termination_date field populated and status set toInactive.
Mercu
Leave Balance
BambooHR
Time Off
lossyMercu's historical leave balance records (annual leave, sick leave, cuti akademik, cuti melahirkan, cuti bersama) map to BambooHR's Time Off module. Each leave type in Mercu is matched to the closest BambooHR equivalent (Annual for cuti tahunan, Sick for cuti sakit, Personal for cuti pribadi, Bereavement for cuti duka). Any Mercu-specific leave types without a BambooHR equivalent are recorded in a custom leave type created during the configuration phase, with accrued balances entered as starting balances.
Mercu
Supervisor / Manager
BambooHR
Supervisor
1:1Mercu's supervisor relationship (dosen pembimbing/lecturer supervisor, kepala bagian/head of department) maps to BambooHR's supervisor field on the Employee record. We resolve the supervisor lookup by matching the supervisor's employee number or email from Mercu to the newly created BambooHR Employee record, in dependency order: supervisors are created first so that their BambooHR IDs are available when assigning to subordinates.
Mercu
Compensation / Payroll Summary
BambooHR
Pay Runs
lossyMercu's compensation and payroll summary records (base salary, allowances, deductions by pay period) do not map directly to BambooHR Pay Runs because BambooHR Payroll is a separate paid add-on that many customers do not activate. We map the most recent compensation data to BambooHR's Compensation fields (pay rate, pay type, effective date) as a one-time snapshot, and flag the payroll data migration scope for the customer to decide whether to activate BambooHR Payroll or use an external Indonesian payroll provider.
Mercu
Contract / Agreement
BambooHR
Employee Documents
1:1Mercu's employment contracts and academic agreements migrate as file attachments to BambooHR's Employee Documents module. We extract contract documents from Mercu's document storage, associate each with the correct employee record in BambooHR, and organize by type (Kontrak Kerja, SK Pengangkatan, MoA Dosen). Document content is not parsed or indexed within BambooHR; the file itself is attached and visible in the employee's document tab.
Mercu
Attendance / Presence
BambooHR
Time Tracking
lossyIf Mercu's attendance records are in scope, they map to BambooHR's Time Tracking add-on module. BambooHR's Time Tracking is a separate paid feature; if the customer does not activate it, attendance data is not migrated and is flagged for the customer's IT team to configure BambooHR Time Tracking or select an alternative attendance integration.
Mercu
Academic Credentials
BambooHR
Custom Employee Fields
lossyMercu's academic credential records (S1, S2, S3 degrees, professional certifications, NIDN) are mapped to BambooHR custom employee fields created during the configuration phase. We create custom fields for highest degree, institution of highest degree, NIDN (for lecturers), professional certifications, and certification expiry date. The academic credential documents themselves are attached to the employee record under Employee Documents.
| Mercu | BambooHR | Compatibility | |
|---|---|---|---|
| Employee | Employee1:1 | Fully supported | |
| Employment Details | Employment Detailslossy | Fully supported | |
| Department / Faculty | Department1:1 | Fully supported | |
| Employment Status | Employment Statuslossy | Fully supported | |
| Leave Balance | Time Offlossy | Fully supported | |
| Supervisor / Manager | Supervisor1:1 | Fully supported | |
| Compensation / Payroll Summary | Pay Runslossy | Fully supported | |
| Contract / Agreement | Employee Documents1:1 | Fully supported | |
| Attendance / Presence | Time Trackinglossy | Fully supported | |
| Academic Credentials | Custom Employee Fieldslossy | 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.
Mercu gotchas
Catalog website (mercubuana.ac.id) is Mercu Buana University, NOT the Mercu AI hiring platform
Mercu is a recruitment overlay, not the system of record for employees
WhatsApp Business API costs and consent rules sit outside the Mercu subscription
AI match scores and conversation history do not include the AI prompt logic
BambooHR gotchas
Undocumented API rate limits can trigger 503 errors
Per-employee pricing model requires active record count verification
API credentials must be sent on every request to avoid extra round trips
Custom field schema varies per account and requires manual inventory
Document and attachment exports are not covered by standard report exports
Pair-specific challenges
Migration approach
Discovery and source data audit
We audit Mercu's data export across all modules: Employee records (with name components, NIK, NIDN, academic rank), Employment history (contract type, start date, end date, faculty, department), Leave balance history (accrued, used, remaining by type), Supervisor relationships, Compensation snapshots, and document inventory (contracts, credentials, certifications). We also assess which modules are actively used versus historically populated, identify records with missing required fields, and determine whether BambooHR Payroll will be activated at the destination, which governs payroll data scope.
BambooHR account setup and custom field configuration
We create the BambooHR account structure: departments matching Mercu's faculty hierarchy, employment status values including any custom academic statuses (e.g., Cuti Akademik), and custom employee fields for NIDN, academic rank, faculty affiliation, highest degree, and the full original name. We configure leave types including any custom Indonesian leave categories. This schema is validated in a BambooHR test environment before production data moves.
Name normalization and pre-migration data cleaning
We parse Mercu's multi-part Indonesian names, determine the surname boundary for each record, and write the normalized First Name and Last Name to a staging table. Records where the surname boundary is ambiguous or where normalization would materially change the employee's displayed name are flagged for manual review in a reconciliation sheet before migration. We also clean records with missing required fields by filling from source data where possible or flagging for HR admin to complete.
Supervisor lookup resolution
We extract all supervisor references from Mercu's Employee records and match them against the target BambooHR employee list by employee number and email. Supervisors are migrated first so their BambooHR IDs are available to satisfy the lookup constraint on subordinate records. Any supervisor with no match in the destination org is held in a reconciliation queue for the customer's HR admin to provision.
Production migration in dependency order
We run the production migration in record-dependency sequence: Departments first (no dependencies), then Employees (with SupervisorID resolved), then Employment History records, then Time Off balances (with leave type mapping applied), then Compensation snapshots, then Employee Documents (contract and credential files attached to the correct employee). Each phase emits a row-count reconciliation report comparing source count to destination count, with any discrepancies investigated before the next phase begins.
Cutover, validation, and admin handoff
We freeze Mercu write access during cutover, run a final delta migration of any records modified during the migration window, then mark BambooHR as the system of record. We deliver a migration summary report with record counts per object, any unresolved lookups, and a list of unmapped leave types or custom fields requiring post-migration configuration. We do not rebuild academic rank-based workflows, leave approval chains, or payroll run logic inside the migration scope; these are documented separately for the customer's HR admin.
Platform deep dives
Mercu
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Mercu and BambooHR.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
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
Mercu: Not publicly documented.
Data volume sensitivity
Mercu 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 Mercu to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your Mercu to BambooHR migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Mercu
Other ways to arrive at BambooHR
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.