HRMS migration
Field-level mapping, validation, and rollback between WebHR and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
WebHR
Source
BambooHR
Destination
Compatibility
10 of 11
objects map 1:1 between WebHR and BambooHR.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from WebHR to BambooHR is a migration from one SMB-focused HRMS to another with a different pricing model, API structure, and feature depth. WebHR uses per-employee base pricing at $2/month with add-on modules priced individually; BambooHR bundles its feature set into tiered per-employee plans starting at $10/month with payroll and ATS as integrated capabilities rather than separate purchases. The structural difference that most affects migration is WebHR's module-gated data access: payroll records, recruitment candidates, performance reviews, and scheduler data require the corresponding paid add-on to be present and active on the source account, and the API only surfaces what the subscription tier allows. We scope active modules before committing to data completeness and flag any module gaps for manual post-migration entry. Employee records, PTO balances, document blobs, and benefit enrollments migrate directly where the relevant WebHR module is active.
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 WebHR 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.
WebHR
Employee
BambooHR
Employee
1:1WebHR Employee records map 1:1 to BambooHR Employee. The WebHR employee profile (name, contact, job title, department, hire date, employment status, supervisor) maps to BambooHR's standard Employee fields. Custom fields on the WebHR employee record map to BambooHR custom fields of equivalent type (text, number, date, dropdown). Department and location map to BambooHR's organizational hierarchy fields. Employment status transitions (active, terminated, on leave) preserve the effective date of the most recent status change.
WebHR
Organization (Companies)
BambooHR
Company
1:1WebHR's CompaniesList endpoint exposes the parent organization record. For single-entity deployments, the WebHR company maps to a BambooHR Company record used as the employer entity for benefits and onboarding context. Multi-entity WebHR deployments map each company as a separate BambooHR Company, with the migration scope clarified during discovery since BambooHR's multi-company support is scoped to the customer's plan tier.
WebHR
Leaves and PTO
BambooHR
Time Off
1:1WebHR leave records (approved, pending, denied) migrate to BambooHR Time Off as individual entries with type, start date, end date, status, and hours/days consumed. We compute the balance forward from the leave history and set the current balance on the BambooHR Time Off page. The leave type mapping is direct where WebHR types match BambooHR defaults (PTO, Sick, Bereavement); custom WebHR leave types map to BambooHR custom Time Off types created during schema setup before migration begins.
WebHR
Recruitment Candidate
BambooHR
Applicant
1:1WebHR ATS candidates migrate to BambooHR Applicants. The application stage name from WebHR (which varies by customer configuration: Screening, Technical Interview, Culture Fit, etc.) maps to a BambooHR stage name defined during schema setup. Application attachments, screening notes, and score data transfer as BambooHR Applicant custom fields. Job opening links are preserved as BambooHR Job Opening references where the corresponding opening exists in BambooHR.
WebHR
Recruitment Pipeline Stage
BambooHR
Job Opening Stage
lossyWebHR's customer-configured pipeline stages (no stable canonical schema) require field-level discovery before migration. We extract the actual stage names and order from the source account during scoping, create matching stages in BambooHR's Job Opening configuration, and build a stage-by-stage map that handles any missing or renamed stages with a default fallback. This adds one to two days to scoping for accounts with complex or non-standard pipeline configurations.
WebHR
Performance Review
BambooHR
Performance Review
1:1WebHR Performance module records link reviews to employees with ratings, goals, and feedback text. Custom review templates and non-standard rating scales require field-level mapping: we extract the actual template fields during discovery, map each to a BambooHR review field or custom field, and apply the mapping during migration. Ratings are normalized to the destination scale where source and destination rating systems differ. Goal records migrate as separate Performance Goal entries linked to the same employee.
WebHR
Payroll Record (add-on module)
BambooHR
BambooHR Payroll
1:1WebHR payroll data is only accessible via API if the customer's subscription includes the Payroll add-on at $2/employee/month. Historical payslips, year-to-date earnings, and deduction records migrate to BambooHR Payroll where the customer also activates BambooHR Payroll on the destination. We scope the payroll module status before migration and advise on whether a temporary WebHR payroll upgrade for the migration window is warranted, or whether payroll is entered manually post-migration. YTD totals and deduction histories are written as BambooHR Payroll records with effective dates preserved.
WebHR
Time and Attendance
BambooHR
Time Tracking
1:1Clock-in/clock-out timestamps and approved timesheet records from WebHR's Time & Attendance module migrate to BambooHR Time Tracking entries. We migrate approved timesheet records with hours worked, overtime, and the relevant pay period dates. Unprocessed or pending entries are flagged in the reconciliation report and left for manual resolution post-migration. Attendance policy settings (grace periods, rounding rules) do not migrate as configuration; they are documented in the handoff inventory for the customer's HR admin to reconfigure in BambooHR.
WebHR
Document and File
BambooHR
Files
1:1WebHR Files module stores employee documents (contracts, IDs, certifications) as binary blobs. We enumerate all file metadata via the API, download the blobs, and re-upload them to BambooHR as Files attached to the corresponding Employee record. File names, MIME types, upload dates, and uploaded-by metadata are preserved. Documents exceeding typical attachment size limits are flagged for chunked transfer or alternative delivery.
WebHR
Benefit Enrollment
BambooHR
Benefits
1:1Benefit enrollment records from WebHR's Benefits module (available on the Benefits add-on at $1/employee/month) migrate to BambooHR Benefits. We map the benefit type, coverage level (employee only, employee plus spouse, family), enrollment effective date, and any waiting period. Dependent and beneficiary details map as BambooHR dependent records attached to the benefit enrollment. Benefit carrier details and plan names are preserved in free-text fields where BambooHR's native benefit carrier lookup does not include the specific plan.
WebHR
eSignature Record
BambooHR
eSignature Status
1:1Signed document records from WebHR's eSignature module migrate as BambooHR document status entries. The record captures the document name, signatory, signing date, and signature status (signed, pending, voided). The actual signed PDF does not re-sign; we attach the downloaded blob to the BambooHR employee file and document the original signatory and signing date as metadata. Audit trail entries migrate as notes on the document record.
| WebHR | BambooHR | Compatibility | |
|---|---|---|---|
| Employee | Employee1:1 | Fully supported | |
| Organization (Companies) | Company1:1 | Fully supported | |
| Leaves and PTO | Time Off1:1 | Fully supported | |
| Recruitment Candidate | Applicant1:1 | Fully supported | |
| Recruitment Pipeline Stage | Job Opening Stagelossy | Fully supported | |
| Performance Review | Performance Review1:1 | Fully supported | |
| Payroll Record (add-on module) | BambooHR Payroll1:1 | Fully supported | |
| Time and Attendance | Time Tracking1:1 | Fully supported | |
| Document and File | Files1:1 | Fully supported | |
| Benefit Enrollment | Benefits1:1 | Fully supported | |
| eSignature Record | eSignature Status1:1 | Fully supported |
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.
WebHR gotchas
Payroll module is a paid add-on not included in base plan
Free tier limited to 5 employees with restricted module access
API lacks documented bulk export or batch endpoints
Custom review templates and pipeline stages vary by account configuration
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
Module scope and subscription discovery
We audit the source WebHR account API access to confirm which modules are active: core Employee and Organization access is standard on all paid tiers, but Payroll ($2/employee/month), Recruitment ($0.50), Performance ($2), Scheduler ($2), Benefits ($1), and eSignature ($0.50) are add-on-gated. We enumerate active modules via the API and cross-reference against the subscription tier. If payroll or another key module is missing, we scope it out and document it for post-migration manual entry or a temporary upgrade recommendation. The discovery output is a written migration scope listing every object, its WebHR module dependency, and whether it is in or out of scope.
Schema design and custom field preparation
We create the BambooHR destination schema before any data moves. This includes provisioning custom Employee fields mapped from WebHR custom fields, creating custom Time Off types to match WebHR leave type names, configuring Job Opening pipeline stages to match the WebHR recruitment pipeline (with a stage name map built from discovery), and setting up Performance Review fields to accept WebHR rating and goal data. Custom fields use BambooHR's native custom field type system and are deployed to the destination tenant before the production migration run begins.
Sandbox migration and reconciliation
We run a full migration into a BambooHR sandbox or staging environment using production-like data volume from the source. The customer's HR lead reconciles record counts (employees in, time-off entries in, applicants in, benefits in), spot-checks 20-40 records against the WebHR source for field-level accuracy, and confirms that document blobs downloaded and re-uploaded successfully. Any field mapping corrections, missing custom field additions, or stage name adjustments happen at this stage. The customer signs off on the sandbox output before we schedule the production migration window.
Document enumeration and blob transfer
We enumerate all Files module entries via the WebHR API, retrieve binary blobs for each document, and re-upload them to the corresponding BambooHR Employee file storage. Large files exceeding standard API attachment limits are flagged for chunked transfer. Document metadata (upload date, uploaded by, file type) is preserved as BambooHR file metadata. This phase runs in parallel with the sandbox migration to optimize timeline, with the blob transfer validated in sandbox before production.
Production migration in dependency order
We run production migration in record-dependency order: Employees (foundational records), Time Off (requires Employee as parent), Benefits (requires Employee as parent), Applicants and Job Openings (where ATS module is active), Performance Reviews and Goals (where Performance module is active), Time Tracking entries (where Time module is active), Payroll records (where Payroll module is active), and finally Files attached to each Employee. Each phase emits a row-count reconciliation report before the next phase begins. We freeze WebHR write access during the cutover window to prevent delta records from appearing post-migration.
Cutover, validation, and admin handoff
We run a final delta scan for any records modified during the migration window, apply them to BambooHR, and then mark the migration complete. We deliver a written inventory documenting the configuration decisions made during migration (custom field map, leave type map, stage name map), any objects or modules that were excluded due to subscription tier limitations, and the recommended rebuild items for the customer's HR admin (attendance policies, approval workflows, scheduler shift patterns, e-signature configuration). We support a three-day hypercare window for reconciliation issues and provide a plain-language record count summary for the customer's records.
Platform deep dives
WebHR
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 WebHR 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
WebHR: Not publicly documented.
Data volume sensitivity
WebHR 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 WebHR to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your WebHR 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 WebHR
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.