HRMS migration
Field-level mapping, validation, and rollback between SumTotal and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
SumTotal
Source
BambooHR
Destination
Compatibility
8 of 12
objects map 1:1 between SumTotal and BambooHR.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from SumTotal to BambooHR is a platform-scope migration: SumTotal is an enterprise HRMS with an integrated LMS and talent management suite, while BambooHR is a cloud HRIS built for small and medium-sized businesses with an optional performance review module. The most significant gap is learning management — SumTotal tracks Courses, Curricula, Training Records, Compliance Certifications, and ILT Sessions; BambooHR does not have a native LMS module, so learning data migrates as reference records attached to the employee file rather than as a standalone course catalogue. Talent management objects (Goals, Performance Reviews, Compensation) exist in SumTotal's enterprise-tier module; BambooHR's review module is available on Pro and above. We confirm which SumTotal modules are active at scoping, export talent records where the source tier permits, and flag any records gated behind unavailable SumTotal licenses. Workflow automation rules, learner assignment workflows, and deadline escalation triggers are configuration objects in SumTotal and do not export via the data API — we document every automation requiring rebuild in BambooHR's Workflow and Approvals module 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 SumTotal 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.
SumTotal
Employee (User)
BambooHR
Employee
1:1SumTotal Learner/User records map directly to BambooHR Employee records. We map firstName, lastName, email, and employeeNumber from SumTotal's /apis/api/v1/users endpoint. SumTotal custom fields on user profiles migrate to BambooHR Custom Employee Fields, with field-type matching (text, date, dropdown, checkbox) confirmed during scoping. Suspended or inactive user records are flagged and imported with an Inactive status for reconciliation before activation.
SumTotal
Job Information
BambooHR
Job Info (Employee table)
1:1SumTotal job-related properties (jobtitle, department, division, location, employmentHistory) map to BambooHR's Job Info table. BambooHR stores job history as a separate table accessible via /employees/{id}/jobInfo. We migrate the most recent active job record and flag historical job entries for admin review. Department and division map from SumTotal's org structure to BambooHR's department and division lists, with a configuration step to match option values.
SumTotal
Employment Status
BambooHR
Employment Status
1:1SumTotal employmentStatus properties (Full-Time, Part-Time, Contractor, Terminated, Furloughed) map to BambooHR's employmentStatus field and date fields (hireDate, terminationDate). We preserve the effective date of each status change from SumTotal's employmentHistory. Terminated employees are imported with a terminationDate and remain visible in BambooHR's employee directory for historical reporting.
SumTotal
Time Off and Leave Records
BambooHR
Time Off
1:1SumTotal absence and leave request records map to BambooHR's Time Off module. Each absence type (PTO, Sick, Bereavement, etc.) is mapped to a corresponding BambooHR Time Off Policy. Accrued balances at migration date migrate as opening balances. Requests in Pending status at migration time are flagged for manual resolution by the HR admin before cutover to avoid duplicate approvals.
SumTotal
Employee Benefits
BambooHR
Benefits
1:1SumTotal benefits enrollment records (health, dental, vision, 401k, equity grants) map to BambooHR's Benefits module. Benefits enrollment status, plan names, contribution amounts, and coverage levels migrate as historical records. BambooHR's Benefits module is available on all tiers. Active enrollments at migration date are imported; future-dated or cancelled enrollments are flagged for the HR admin to reconcile post-migration. Benefits administration automation (carrier sync, renewal reminders) does not migrate.
SumTotal
Learner / Course Enrollment
BambooHR
Employee (training reference)
lossySumTotal Course and Curriculum enrollment records attach to employee files as training reference records in BambooHR — not as standalone course objects, since BambooHR does not include an LMS module. Each enrollment record carries course name, completion status (Completed, In Progress, Not Started), completion date, and score. We create a BambooHR Custom Employee Field group called Training History with sub-fields for each course to preserve structured access. Compliance certifications with expiry dates are flagged as warnings for admin renewal scheduling.
SumTotal
Training Records (Transcripts)
BambooHR
Custom Employee Fields (Training History)
lossySumTotal training transcript records (completion dates, scores, credit flags, expiry dates) migrate as BambooHR Custom Employee Fields within a Training History section on each employee record. Completion status, date, and score are stored as typed custom fields. Certification expiry dates migrate as date fields with an expiry-warning logic flag. We do not migrate SCORM package content or course files — these are licensed content that remains in the source SumTotal Content Library.
SumTotal
Performance Goals
BambooHR
Custom Fields or Goals (Pro plan)
1:1SumTotal Goals are part of the talent management module and are gated behind enterprise-tier licensing. Customers on base LMS or Professional SumTotal tiers will not have Goals records to export. For customers with Goals active, we extract Goal title, description, due date, status, and owner assignment. BambooHR Pro includes Goal Tracking. We map SumTotal Goal records to BambooHR Goals for Pro-plan customers; for non-Pro destinations, Goals are stored as structured custom fields on the Employee record and documented for manual entry post-migration.
SumTotal
Performance Reviews
BambooHR
Performance Reviews (Pro and above)
1:1SumTotal Performance Review records (360-degree feedback, ratings, reviewer assignments, raw review template data) are part of the talent management module. BambooHR's Performance Management module (Pro plan and above) supports review cycles, 360 feedback, and 1:1 management. We extract the raw review data and ratings from SumTotal and map them into the corresponding BambooHR review cycle. Review template configurations and scoring rubrics do not migrate — we document the template structure for the customer's HR admin to rebuild in BambooHR's review builder.
SumTotal
Compensation Records
BambooHR
Compensation (Elite plan)
1:1SumTotal compensation records (salary, bonus, equity grants, pay changes with effective dates) map to BambooHR's Compensation Management module for Elite-plan customers. Pay change history with effective dates migrates as compensation change records. For customers on Core or Pro BambooHR plans, compensation data migrates to custom fields on the Employee record. BambooHR's Compensation Benchmarking, Levels and Bands, and Pay Visualization features on Elite do not have a SumTotal analog and are configured separately post-migration.
SumTotal
Custom Fields and User-Defined Properties
BambooHR
Custom Employee Fields
lossySumTotal allows custom fields on standard objects (Employee, Course, Curriculum, Training Record). Custom field definitions must be captured alongside data exports so that field types and validation rules are preserved. We create the equivalent custom fields in BambooHR's Custom Employee Fields section with type-matched definitions before data import. Dropdown option lists are recreated in BambooHR. Not all SumTotal custom field types (such as certain complex matrix fields) have a direct BambooHR equivalent; these are flagged for configuration review during scoping.
SumTotal
Workflow Automation Rules
BambooHR
Not migratable (documentation only)
lossySumTotal's learner assignment rules, deadline escalation workflows, and notification triggers are automation configuration objects, not data records. The REST API exports learner data and course records but does not export automation rules. We do not migrate these as code. We document every automation configuration identified during discovery — including trigger conditions, action types, deadline configurations, and notification recipients — in a written automation inventory. The customer's HR admin rebuilds these in BambooHR's Workflow and Approvals module (for HR process workflows) or a separate automation tool post-migration.
| SumTotal | BambooHR | Compatibility | |
|---|---|---|---|
| Employee (User) | Employee1:1 | Fully supported | |
| Job Information | Job Info (Employee table)1:1 | Fully supported | |
| Employment Status | Employment Status1:1 | Fully supported | |
| Time Off and Leave Records | Time Off1:1 | Fully supported | |
| Employee Benefits | Benefits1:1 | Fully supported | |
| Learner / Course Enrollment | Employee (training reference)lossy | Fully supported | |
| Training Records (Transcripts) | Custom Employee Fields (Training History)lossy | Fully supported | |
| Performance Goals | Custom Fields or Goals (Pro plan)1:1 | Mapping required | |
| Performance Reviews | Performance Reviews (Pro and above)1:1 | Mapping required | |
| Compensation Records | Compensation (Elite plan)1:1 | Fully supported | |
| Custom Fields and User-Defined Properties | Custom Employee Fieldslossy | Mapping required | |
| Workflow Automation Rules | Not migratable (documentation only)lossy | 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.
SumTotal gotchas
50,000 req/hour API rate limit can throttle large exports
Enterprise-tier gating on talent management objects
Mobile app completion credits not reliably propagated to backend
Cornerstone OnDemand acquisition introduces v1/v2 API duality
Workflow automation rules are configuration objects not exported via data API
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 module availability audit
We audit the source SumTotal tenant across licensed modules (Base LMS, Professional/Advanced, Enterprise Suite), active talent management objects (Goals, Performance Reviews, Compensation), active courses and curricula count, training record volume, and ILT session count. We confirm which API version (v1 or v2) the tenant's endpoints return and identify any legacy Skillsoft-era endpoint references still in use. We pair this with a BambooHR edition review (Core $10/employee/month, Pro $17, Elite $25) to confirm which talent module features are available at the target plan. The discovery output is a written migration scope document listing confirmed migratable objects, excluded objects, and any tier-gating gaps to resolve.
Schema design and custom field creation
We create the destination BambooHR schema before any data moves. This includes provisioning all Custom Employee Fields with type-matched definitions (text, date, dropdown, checkbox) mapped from SumTotal user-defined properties. For customers on BambooHR Pro and Elite, we configure the Performance Review module with review cycle structure and map SumTotal review data to the correct cycle. For customers on BambooHR Elite, we configure Compensation Management. All custom field definitions, option list values, and department/division lists are deployed to the BambooHR sandbox before record migration begins.
Sandbox migration and reconciliation
We run a full migration into the customer's BambooHR sandbox using production-equivalent data volume. The customer's HR lead reconciles record counts (employees in, job history entries in, time-off balances in, training records in, performance review records in), spot-checks 25-50 records against the SumTotal source, and reviews custom field values for accuracy. Any field-type mismatches, missing option values, or department/division name discrepancies are corrected in the schema before production migration begins. Sandbox reconciliation is the last opportunity to correct mapping logic without touching live data.
Employee and job data migration
We run the core HRIS migration in dependency order: Employee records first (from SumTotal /apis/api/v1/users), then Job Info history, Employment Status history, and Time Off balances. Each phase emits a row-count reconciliation report before the next phase begins. SumTotal's 50,000 req/hour API ceiling is paced below threshold throughout. Employees without required fields (firstName, lastName, email) are held in an exception queue for the customer's HR admin to correct before proceeding. Department and division values are normalised against BambooHR's option lists during the transform step.
Training reference and talent record migration
We migrate SumTotal training records as BambooHR Custom Employee Fields within a Training History section on each employee record. Compliance certifications with expiry dates are flagged in a separate sheet for renewal scheduling. Performance Goals and Reviews are loaded into BambooHR's Performance module for Pro/Elite customers or stored as structured custom fields for Core customers. Compensation records are loaded into BambooHR's Compensation module for Elite customers or stored as custom fields for non-Elite destinations. Each talent object phase is gated by a reconciliation report before the next phase begins.
Cutover, delta sync, and automation rebuild handoff
We freeze SumTotal writes during the cutover window, run a final delta migration of any records modified during the migration window, then enable BambooHR as the system of record. We deliver the written automation inventory document to the customer's HR admin team, covering every learner assignment rule, deadline escalation workflow, and notification trigger identified during discovery. We support a one-week post-cutover window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild SumTotal automations as BambooHR Workflows inside the migration scope; that work is handled by the customer's HR admin or a separate BambooHR workflow implementation engagement.
Platform deep dives
SumTotal
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between SumTotal and BambooHR.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across SumTotal and BambooHR.
Object compatibility
All 7 core objects map 1:1 between SumTotal 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
SumTotal: 50,000 requests per hour per tenant across all REST APIs, with some individual endpoints carrying lower per-endpoint limits documented in the Swagger.
Data volume sensitivity
SumTotal 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 SumTotal to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your SumTotal 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 SumTotal
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.