HRMS migration
Field-level mapping, validation, and rollback between Harri and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
Harri
Source
BambooHR
Destination
Compatibility
9 of 10
objects map 1:1 between Harri and BambooHR.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Harri to BambooHR is a transition from a hospitality-specific HCM suite built for restaurants, hotels, and resorts into a generalist HRIS designed for small and mid-market teams. Harri organizes data by Location (property), Worker (employee), Position (job title), and Shift; BambooHR uses a flat Employee record with job titles, employment status, and time-off tracking. We work with Harri's customer data team to extract full record exports before migration scoping, since Harri's developer portal and export templates are gated to active members. We do not migrate engagement survey responses, payroll data (which lives in Harri's integrated third-party payroll provider), or Workflows and automations; we deliver a written inventory of these for your admin to rebuild in BambooHR.
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 Harri 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.
Harri
Worker (Employee)
BambooHR
Employee
1:1Harri Workers (employees and applicants) map directly to BambooHR Employee records. Standard fields including firstName, lastName, dateOfBirth, hireDate, employmentStatus, and jobTitle migrate 1:1. Harri custom Worker properties map to BambooHR custom Employee fields. We extract Workers by Location during scoping and chunk large exports by Location to avoid timeout during extraction. Any Harri Worker without a matching BambooHR Employee email is held in a reconciliation queue for the customer's admin to resolve.
Harri
Position
BambooHR
Job Title (custom field)
1:1Harri Positions define job titles within a Location, including title, pay rate, FT/PT/seasonal classification, and department. The Position title maps to BambooHR's jobTitle standard field. Pay rate and classification migrate as custom Employee fields (e.g., payRate__c, employmentType__c) since BambooHR stores compensation in custom fields or in the optional BambooHR Payroll add-on rather than as standard fields.
Harri
Location
BambooHR
Location (custom field or department mapping)
lossyHarri Locations represent individual restaurant or hotel properties with addresses, manager assignments, and associated Positions and Workers. BambooHR does not have a native multi-location hierarchy. We map Locations to a custom Location__c text field or to the department structure depending on whether the customer wants per-property reporting. Multi-location enterprises with dozens or hundreds of Locations receive a Location mapping table as part of the migration package.
Harri
Shift
BambooHR
Custom shift fields or time-off records
1:1Harri Shifts are time-block records assigned to Workers at a Location, including start/end times, shift type, and coverage requirements. BambooHR does not have a native shift scheduling object. We migrate active shift data as a custom ShiftHistory object with fields for shiftDate, startTime, endTime, shiftType, and Location lookup. Recurring shift patterns require interpretation; we document the pattern cadence separately for the customer's admin to configure in BambooHR's time-off or scheduling module.
Harri
Application
BambooHR
Applicant (BambooHR Hiring) or Employee record
1:1Harri Applications track candidate submissions for Positions, including application date, source, stage in the hiring pipeline, and interview scores. If the customer licenses BambooHR Hiring, applications migrate as BambooHR Applicants. Pipeline stage names vary by customer configuration in Harri; we map each named stage to a corresponding BambooHR Hiring stage or to a custom applicantStatus__c field if BambooHR Hiring is not in use. Applications without an offer acceptance map as Applicants; those with an accepted offer migrate as Employee records with a hire date set from the Application.
Harri
Onboarding Task
BambooHR
Custom Employee fields or Onboarding tasks
1:1Harri stores structured onboarding task checklists tied to new-hire Workers, including task name, completion status, due date, and custom task fields. If the customer licenses BambooHR's onboarding module, tasks migrate as onboarding steps. Otherwise, task completion status and due dates migrate as custom Employee properties (e.g., onboardingTaskComplete__c, onboardingTaskDueDate__c) or as notes attached to the Employee record.
Harri
Compliance Record
BambooHR
Custom Employee fields (Certification, Benefits, Custom)
1:1Harri tracks compliance data including certification expiry dates, mandatory training completion, and regulatory acknowledgements tied to hospitality-specific requirements. Compliance record types vary by jurisdiction and customer setup. We map each compliance record type to a corresponding BambooHR custom Employee field in the Certification or Custom tab, preserving the expiry date, completion status, and certification name. Mandatory training records migrate as custom fields or notes on the Employee record.
Harri
Document
BambooHR
Employee Files
1:1Harri stores employee documents including contracts, ID scans, and policy acknowledgements as file attachments. We migrate documents as files attached to the corresponding BambooHR Employee record via BambooHR's file upload API, preserving original filenames and upload timestamps. Document metadata (document type, expiry date) migrates as a BambooHR custom field if the document type field is required.
Harri
Engagement Survey
BambooHR
Not migrated
1:1Harri's employee engagement and pulse survey module stores response data tied to its internal engagement engine. There is no documented export mechanism for engagement survey responses. We exclude engagement survey data from migration scope and flag it upfront in the discovery document. Customers who need historical engagement data must export it manually from Harri's UI before termination; it will not be included in the standard data export.
Harri
Payroll Data
BambooHR
Not migrated (external payroll provider)
1:1Harri handles payroll via integration with third-party providers rather than natively. Historical earnings, deductions, pay stubs, and tax withholdings are stored in the payroll system, not in Harri. We do not migrate payroll data from Harri directly. We instruct customers to export historical payroll from their payroll provider separately and import it into BambooHR Payroll (or their chosen payroll system) independently. Harri's Position pay rate migrates as a custom Employee field to serve as a reference, but this is not payroll history.
| Harri | BambooHR | Compatibility | |
|---|---|---|---|
| Worker (Employee) | Employee1:1 | Fully supported | |
| Position | Job Title (custom field)1:1 | Fully supported | |
| Location | Location (custom field or department mapping)lossy | Fully supported | |
| Shift | Custom shift fields or time-off records1:1 | Fully supported | |
| Application | Applicant (BambooHR Hiring) or Employee record1:1 | Fully supported | |
| Onboarding Task | Custom Employee fields or Onboarding tasks1:1 | Fully supported | |
| Compliance Record | Custom Employee fields (Certification, Benefits, Custom)1:1 | Fully supported | |
| Document | Employee Files1:1 | Fully supported | |
| Engagement Survey | Not migrated1:1 | Fully supported | |
| Payroll Data | Not migrated (external payroll provider)1:1 | 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.
Harri gotchas
Gated API and export templates require direct engagement with Harri
Payroll data lives in integrated third-party providers
Engagement survey data is not independently portable
Multi-location configurations create export complexity
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
Export coordination and discovery
We engage Harri's customer data team to request a full data export covering all Locations, Workers, Positions, Applications, Shifts, Compliance records, and Documents. We run a discovery audit against Harri's data export including record counts per Location, custom field inventory, pipeline stage names, compliance record types, and active onboarding task templates. We pair this with a BambooHR configuration audit to identify existing custom fields, department structure, and any BambooHR Hiring or Payroll add-ons already licensed. The discovery output is a written migration scope, a pre-flight data completeness checklist, and a timeline risk flag if the Harri export has not yet been initiated.
Mapping design and custom field provisioning
We design the field-to-field mapping for every Harri object into BambooHR's equivalent. This includes standard field mapping (firstName, lastName, hireDate, employmentStatus, jobTitle), custom field mapping (Harri custom Worker properties to BambooHR custom Employee fields with correct type matching), Location mapping (Harri Locations to a BambooHR custom Location__c field or department structure), and compliance field mapping (certification names, expiry dates, training completion to BambooHR Certification tab custom fields). We provision any missing custom fields in BambooHR via the BambooHR API before any data import begins. Multi-location customers receive a Location mapping table as part of the mapping design document.
Sandbox migration and reconciliation
We run a full migration into the customer's BambooHR staging environment using production-like data volume. The customer's HR lead reconciles record counts (Employees in, Applications in, shift records in), spot-checks 20-30 random records against the Harri source export, and validates that custom field values match the source data. Any mapping corrections, type mismatches, or missing picklist values are resolved in this phase. BambooHR's API field validation rejects records with mismatched field types; we iterate the mapping until the error rate is zero before proceeding to production.
Chunked production migration by Location
For multi-location customers, we migrate Location by Location to avoid export timeout and to allow per-site validation. For single-location customers, we migrate in dependency order: Employees first (with Location and position data), then Applications and Applicants, then shift history as custom records, then Documents. Each phase emits a row-count reconciliation report before the next phase begins. We validate every BambooHR API response for 200 OK and re-queue any 4xx or 5xx responses with exponential backoff.
Cutover, validation, and handoff
We coordinate a cutover window with the customer's HR team, freeze writes to Harri during the migration delta, and migrate any records modified since the initial export. We deliver a final reconciliation report comparing Harri source counts to BambooHR destination counts. We deliver the non-migration inventory document listing every Harri Workflow, automation, engagement survey, and payroll record that requires separate action. We support a three-day hypercare window for reconciliation issues raised by the HR team during cutover. We do not rebuild Harri Workflows as BambooHR automations; that work is a separate engagement handled by the customer's admin or a BambooHR partner.
Platform deep dives
Harri
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Harri and BambooHR.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Harri and BambooHR.
Object compatibility
All 7 core objects map 1:1 between Harri and BambooHR.
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
Harri: Not publicly documented.
Data volume sensitivity
Harri 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 Harri to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your Harri 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 Harri
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.