HRMS migration

Migrate from SumTotal to Bullhorn ATS & CRM

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

SumTotal logo

SumTotal

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

17%

2 of 12

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

Complexity

BStandard

Timeline

5-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from SumTotal to Bullhorn is a paradigm shift from a full HRMS and LMS platform to a recruitment-focused ATS and CRM. Bullhorn does not natively support learning management, course catalogs, curricula, compliance training tracks, or performance reviews. We extract learner profiles, company records, and training history from SumTotal's REST API, then map them to Bullhorn's Candidate, ClientCorporation, and custom object structures, with training completions and certification records preserved as custom fields on Candidate. Workflow automation rules, deadline escalation configurations, and learner assignment rules from SumTotal do not export via API; we deliver a written inventory for manual rebuild in Bullhorn Automation. The migration scope excludes LMS-native objects (Courses, Curricula, ILT Sessions, Compliance Certifications as standalone records) that have no Bullhorn equivalent and must be either dropped or contracted as a custom configuration project.

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

SumTotal logo

SumTotal

What's pushing teams away

  • The mobile app is consistently described as unreliable — login failures, connectivity issues, and learners not receiving credit for completed trainings drive frustration in environments where mobile access is expected.
  • Customer service scores are the weakest dimension of the product, with reviewers noting slow ticket resolution and unhelpful responses, compounding frustration when problems arise during migrations.
  • Pricing is repeatedly cited as prohibitively expensive for mid-market organisations; the per-user, enterprise-tier cost structure excludes organisations that cannot absorb large annual licensing commitments.
  • The Content Library's organisation and browsing experience is described as confusing — users struggle to find content without knowing exact course categories, which increases administrative overhead and learner drop-off.
  • Steep UI complexity and a steeper-than-expected learning curve are cited as barriers to adoption, especially when comparing SumTotal to modern alternatives like HiBob HRIS or 360Learning that score higher on usability.

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

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

SumTotal

Learner (User)

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

SumTotal learner records map to Bullhorn Candidate. We extract firstName, lastName, email, custom profile fields, and employment status from /apis/api/v1/users. Learner suspension or inactive status in SumTotal maps to Candidate's isDeleted flag or a custom inactive reason field. Bullhorn requires distinct email addresses per Candidate; duplicate emails trigger a dedupe warning we surface for admin resolution before import.

SumTotal

Company

maps to

Bullhorn ATS & CRM

ClientCorporation

1:1
Fully supported

SumTotal company records (from the HRMS module) map to Bullhorn ClientCorporation. Company name, address, industry, and custom fields transfer directly. We use companyName as the dedupe key during import. ClientCorporation must exist before any Candidate records that reference it are imported.

SumTotal

Training Record (Transcript)

maps to

Bullhorn ATS & CRM

Candidate (custom fields)

lossy
Fully supported

SumTotal training transcripts map to custom fields on the Bullhorn Candidate record. Completion date, course name, score, and credit flag become individual custom fields (type: text, date, number, or checkbox depending on the data). Bullhorn caps custom fields per entity; we scope the field count during discovery and recommend a structured custom object for organizations with high training volume rather than burning through the Candidate field limit.

SumTotal

Compliance Certification

maps to

Bullhorn ATS & CRM

Candidate (custom fields) + Note

lossy
Fully supported

SumTotal compliance certifications carry expiry dates, renewal rules, and audit metadata that have no native Bullhorn equivalent. We export the certification name, issue date, expiry date, and status to custom fields on Candidate. Renewal rules and audit trail metadata that cannot fit within the custom field limit are attached as Bullhorn Note records linked to the Candidate, timestamped with the original certification metadata.

SumTotal

Course

maps to

Bullhorn ATS & CRM

Custom Object (Course)

lossy
Fully supported

SumTotal courses cannot map to any standard Bullhorn entity because Bullhorn has no native LMS module. We create a custom object named Course__c (or similar admin-approved API name) with fields for courseTitle, courseDescription, courseVersion, metadataFields, and prerequisites. Course-to-curriculum associations are stored as a junction custom object or as a multi-select field on Course__c.

SumTotal

Curriculum

maps to

Bullhorn ATS & CRM

Custom Object (Curriculum__c)

lossy
Fully supported

SumTotal curricula bundle multiple courses into learning paths with ordering and deadline configurations. We create a Curriculum__c custom object and a junction object CurriculumCourse__c to store curriculum-to-course associations and the sequence order. Deadline rule configurations are documented as a text field or as Bullhorn Note for admin reference during rebuild.

SumTotal

ILT Session

maps to

Bullhorn ATS & CRM

Custom Object (ILTSession__c) + Custom Object (Registration__c)

lossy
Fully supported

Instructor-Led Training sessions in SumTotal include session metadata (date, time, venue, instructor) and registration records with attendance status. We create ILTSession__c for session data and Registration__c as a child custom object linked to Candidate for attendance records. Room-level facility data that SumTotal may store separately is often not fully exported; we flag any missing venue records during discovery.

SumTotal

Performance Goal

maps to

Bullhorn ATS & CRM

Note or Custom Object (Goal__c)

lossy
Fully supported

SumTotal Goals are gated behind enterprise-tier licensing and do not have a native Bullhorn equivalent. We export goal records as raw data to a Goal__c custom object or attach as Bullhorn Note on the Candidate for admin review. Bullhorn's ATS focus means performance management must be handled by a separate HRMS or by a Bullhorn-compatible third-party integration post-migration.

SumTotal

Performance Review

maps to

Bullhorn ATS & CRM

Not Migrated (documented)

lossy
Fully supported

SumTotal Performance Reviews (360-degree feedback, ratings, reviewer assignments) have no Bullhorn equivalent and cannot be imported. We extract raw review data as a JSON export for the customer's HR admin to evaluate for re-entry into a performance management tool. Review templates, scoring rubrics, and template-specific fields cannot be migrated in structured form.

SumTotal

Workflow Automation Rules

maps to

Bullhorn ATS & CRM

Not Migrated (documented for rebuild)

lossy
Fully supported

SumTotal's learner assignment rules, deadline escalation workflows, and notification triggers are stored as automation configuration objects, not as data records. The REST API exports learner data and course records but does not export automation rules. We document which workflows exist and deliver a written inventory with triggers, conditions, and actions for the customer's Bullhorn admin to rebuild using Bullhorn Automation.

SumTotal

Custom Fields (Learner Profile)

maps to

Bullhorn ATS & CRM

Custom Fields (Candidate)

lossy
Fully supported

SumTotal allows custom fields on learner profiles. We capture custom field definitions (name, type, validation rules) during discovery and recreate them as Bullhorn Candidate custom fields using Admin > Field Mappings. Field types are mapped: text to text, number to number, date to date, checkbox to checkbox, and multi-select to Bullhorn multi-select picklist. Bullhorn's per-entity custom field limit is confirmed before migration to avoid truncation.

SumTotal

Content Library Metadata

maps to

Bullhorn ATS & CRM

Course__c (metadata fields)

lossy
Mapping required

SumTotal's Content Library holds course metadata, taxonomy categories, and folder structure that governs content browsing. We export course records with their metadata fields but cannot replicate the folder/category hierarchy via API. The course records land in Course__c; the customer rebuilds the taxonomy in Bullhorn's category or tag structure manually or via a Bullhorn partner.

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.

SumTotal logo

SumTotal gotchas

High

50,000 req/hour API rate limit can throttle large exports

High

Enterprise-tier gating on talent management objects

Medium

Mobile app completion credits not reliably propagated to backend

Medium

Cornerstone OnDemand acquisition introduces v1/v2 API duality

Medium

Workflow automation rules are configuration objects not exported via data API

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 has no native LMS or learning management module

    Bullhorn is an ATS and CRM built for staffing and recruitment. It has no native equivalent to SumTotal's course catalog, curricula, ILT session management, transcript tracking, or compliance certification objects. Courses and curricula from SumTotal must be recreated as Bullhorn custom objects, and training records must be stored as custom fields on the Candidate record. We confirm the custom object and custom field architecture with the customer's Bullhorn admin before migration begins. If the organization requires ongoing LMS functionality, Bullhorn recommends a third-party integration (e.g., eLearnForce, TalentLMS, or a Bullhorn Marketplace partner), which is outside the migration scope.

  • SumTotal workflow automation rules do not export via API

    SumTotal stores learner assignment rules, deadline escalation workflows, and notification triggers as automation configuration rather than data records. The REST API exports learner data and course records but does not expose automation rules in a structured format. We document which workflows exist (from the SumTotal admin UI during discovery) and deliver a written inventory describing each workflow's trigger, conditions, actions, and recommended Bullhorn Automation equivalent. The customer's Bullhorn admin rebuilds the automations post-migration; we do not migrate automation as code.

  • Training record volume may exceed Bullhorn's custom field limit per Candidate

    Organizations with long training histories (hundreds of completed courses per learner) generate training record counts that cannot all fit as individual custom fields on the Bullhorn Candidate entity. Bullhorn imposes a cap on custom fields per entity. We audit the training record volume during discovery and recommend either a structured CourseCompletion__c custom object (with one record per completion) or a JSON blob in a long-text field for audit-only storage. The customer chooses the strategy before migration; we do not silently truncate.

  • Bullhorn API uses data-center-scoped URLs with session token expiry

    Bullhorn's REST API requires data-center-specific URLs (e.g., rest.bullhornstaffing.com, rest.bullhornrecruiting.com) returned via a loginInfo request. API calls to the wrong data center return a 307 redirect that must be handled. Additionally, Bullhorn sessions expire after inactivity, requiring re-login via OAuth2 to obtain a fresh BhRestToken. We implement session refresh logic and handle 307 redirects during migration to prevent silent data routing errors.

  • SumTotal talent management objects are enterprise-tier gated

    SumTotal's Goals, Performance Reviews, and Compensation modules are not available on base or professional LMS tiers. Customers running only the base LMS tier cannot export these objects even if data exists in some tenants. We confirm module availability during scoping, exclude unavailable objects from the migration contract, and flag any partial data risks before the migration plan is finalized.

Migration approach

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

  1. Discovery and custom object architecture design

    We audit the SumTotal tenant for licensed modules (LMS, Talent Management, Workforce Management), active object counts (learners, companies, courses, curricula, training transcripts, ILT sessions, compliance certifications), and custom field definitions. We pair this with a Bullhorn admin review of existing custom fields and objects. The output is a written migration scope that specifies which SumTotal objects map to Bullhorn standard entities versus custom objects, the custom field count per Candidate, and which objects (Performance Reviews, automation rules) are excluded with documented rationale.

  2. Custom object and custom field provisioning in Bullhorn

    Before any data moves, we provision Bullhorn custom objects (Course__c, Curriculum__c, CurriculumCourse__c, ILTSession__c, Registration__c) via Bullhorn's entity configuration or API. We create all custom fields on Candidate for training records and compliance certifications. Schema is deployed into a Bullhorn sandbox or validated against the production org with admin sign-off before record migration begins. Bullhorn's custom field limit per entity is confirmed during this step to avoid mid-migration truncation.

  3. Sandbox migration and reconciliation

    We run a full migration into the Bullhorn production org (or sandbox for large migrations) using a representative data volume sample. The customer's Bullhorn admin reviews record counts, spot-checks 25-50 Candidate records for field accuracy, validates training history custom fields, and confirms custom object data. Any mapping corrections are made before the full production migration runs. We do not proceed to full production until the admin signs off on the sandbox output.

  4. Learner and company export with pacing

    We export SumTotal learner records via the v2 REST API with request pacing below the 50,000 req/hour ceiling. SumTotal's v1/v2 API duality is resolved during discovery; all calls route to the confirmed v2 surface. Inactive or suspended learner records are flagged with a status field on the Bullhorn Candidate for admin review. Companies export in parallel and land as ClientCorporation records, which must exist before any Candidate records that reference them.

  5. Training history and compliance record import

    Training transcripts from SumTotal import as Bullhorn Candidate custom fields. For organizations with high training volume, we use a CourseCompletion__c custom object strategy. Compliance certifications import as a mix of custom date/status fields (expiry, renewal status) and Bullhorn Notes (audit trail metadata). Each phase emits a row-count reconciliation report; any records that fail validation are held in a review queue for admin resolution before the next phase begins.

  6. Cutover, delta sync, and automation handoff

    We freeze writes on SumTotal during cutover, run a final delta export of any records modified during the migration window, then enable Bullhorn as the system of record. We deliver the automation inventory document describing every SumTotal workflow with its trigger, conditions, and recommended Bullhorn Automation equivalent. We support a one-week hypercare window for reconciliation issues. We do not rebuild SumTotal automations as Bullhorn Automation inside the migration scope; that work requires a separate engagement or an internal Bullhorn admin.

Platform deep dives

Context on both ends of the pair

SumTotal logo

SumTotal

Source

Strengths

  • Integrated suite covering learning, talent, and workforce management on one platform reduces tool sprawl for large enterprises.
  • Powerful reporting engine with flexible automated report scheduling for compliance tracking and audit trails.
  • Deep automation capabilities for learner assignment, deadline rules, and compliance certification enforcement.
  • Learning Administration feature is fully manageable internally post-implementation, reducing reliance on vendor support.
  • ServiceNow integration via the SumTotal spoke enables workflow continuity for IT-managed HR operations.

Weaknesses

  • Mobile app is unreliable with inconsistent login, connectivity, and course-completion credit issues.
  • Customer service scores are below category average, with slow ticket resolution times reported.
  • Per-user enterprise pricing structure is prohibitively expensive for mid-market organisations.
  • Content Library browsing is confusing without prior knowledge of exact course categories — navigation lacks intuitive discoverability.
  • Steep UI complexity creates a steeper-than-expected learning curve compared to modern HRMS alternatives.
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. All 7 core objects map 1:1 between SumTotal and Bullhorn ATS & CRM.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across SumTotal and Bullhorn ATS & CRM.

  • Object compatibility

    A

    All 7 core objects map 1:1 between SumTotal and Bullhorn ATS & CRM.

  • 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

    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

    B

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

Estimator

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

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

Can't find your answer?

Walk through your SumTotal 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 five and eight weeks for organizations with up to 10,000 learners, 5,000 companies, and a straightforward custom field architecture. Migrations involving high-volume training histories (over 100,000 transcript records), ILT session data, multiple custom objects, or a compliance certification audit trail requiring structured custom field design move to ten to sixteen weeks. Bullhorn's own onboarding for small agencies is two to six weeks according to their documentation; our migration timeline is additive because it covers data extraction, transformation, and import rather than just platform setup.

Adjacent paths

Related migrations to explore

Ready when you are

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