HRMS migration
Field-level mapping, validation, and rollback between CE Manager and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
CE Manager
Source
Bullhorn ATS & CRM
Destination
Compatibility
9 of 12
objects map 1:1 between CE Manager and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
CE Manager and Bullhorn serve fundamentally different data models. CE Manager is a compliance-tracking HRMS built around professional licensing—Licenses, Courses, Attendance, jurisdiction credit rules, and computed compliance states. Bullhorn is an ATS and CRM built around Candidates, Clients, JobOrders, Placements, and recruiter workflows. There is no native compliance, course, or license object in Bullhorn, so the migration requires a schema translation: we extract all CE Manager objects via the REST API, identify any custom Firm System Tables during discovery, map each object to a Bullhorn entity or custom object, and write computed compliance data as custom fields on Candidate or a dedicated custom object. Bullhorn's custom objects (customObject1 through customObject10 per entity) must be provisioned by Bullhorn Support before import begins, which we coordinate as part of the migration scope. We do not migrate automations, compliance-triggered workflows, or reporting dashboards as these have no direct equivalent in Bullhorn.
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 CE Manager 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.
CE Manager
Users
Bullhorn ATS & CRM
Candidate
1:1CE Manager Users map to Bullhorn Candidate records. The Candidate record stores firstName, lastName, email, phone, and address fields directly. We resolve duplicate candidates by matching on email and name, preferring the record with the most recent compliance activity. Any CE Manager user without an email address is flagged for manual review before migration because Bullhorn requires a unique email per Candidate for duplicate detection.
CE Manager
Licenses
Bullhorn ATS & CRM
Candidate (custom fields) or customObject License
1:1Each License in CE Manager (jurisdiction, license type, status, renewal date, credits needed, credits earned) maps to custom fields on the Bullhorn Candidate record (e.g., customText1 for jurisdiction, customDate1 for renewal date) or to a dedicated customObject linked to the Candidate. Bullhorn Support must provision the custom object before migration begins. Where CE Manager tracks multiple active licenses per user, we create one customObject record per license and link each to the same Candidate via the custom object's Candidate lookup field.
CE Manager
Courses
Bullhorn ATS & CRM
customObject Course
1:1Bullhorn has no native course or curriculum object. We create a Bullhorn customObject for Course that captures courseName, courseDescription, creditAmount, practiceArea, providerName, and deliveryFormat. Bullhorn Support provisions customObject1 for the Course entity before import. Course records are created first in the migration sequence so that Attendance records can reference them via lookup.
CE Manager
Attendance
Bullhorn ATS & CRM
customObject Enrollment
1:1Attendance records in CE Manager link a User to a Course and record completionDate, creditsEarned, and score. We map these to a Bullhorn customObject Enrollment with lookups to the Candidate (from the mapped User) and the customObject Course. Bullhorn's native Application and JobSubmission objects do not map to Attendance because they represent candidate-to-job relationships, not user-to-course enrollment.
CE Manager
Compliance
Bullhorn ATS & CRM
customObject ComplianceStatus (reconstructed)
lossyCE Manager computes compliance dynamically from License and Attendance data per reporting period. There is no standalone Compliance object to export. We reconstruct it by querying all License records and their linked Attendance records for each CE Manager user, summing creditsEarned against the jurisdiction-specific creditsRequired threshold, and writing the computed result to a Bullhorn customObject ComplianceStatus linked to the Candidate. The reconstructed compliance state includes isCompliant (boolean), compliancePeriod (date range), creditsEarned, creditsRequired, and complianceGap (numeric). This is the most critical computed field for regulatory audit readiness.
CE Manager
LearningTracks
Bullhorn ATS & CRM
customObject Curriculum (flattened)
1:manyCE Manager LearningTracks group multiple Courses into a curriculum path. Bullhorn has no native learning track object. We flatten each LearningTrack into individual Enrollment records (customObject Enrollment, per the Attendance mapping) and preserve the track name, track description, and course sequence order in a customObject Curriculum linked to each Enrollment so that curriculum structure is reconstructable in Bullhorn reporting.
CE Manager
Providers
Bullhorn ATS & CRM
customObject Provider
1:1CE Manager Providers carry name, accreditation details, and state-specific accreditation status. Bullhorn has no native Provider object. We create a Bullhorn customObject Provider and map providerName, accreditationBody, and accreditationStatus to custom fields. Provider records are created before Courses so that the Course customObject can reference the Provider via a lookup relationship.
CE Manager
PracticeAreas
Bullhorn ATS & CRM
customText (PracticeArea tag on Course and Candidate)
lossyCE Manager PracticeAreas tag courses and user preferences to legal, accounting, or clinical specialties. Bullhorn has no native practice area object. We store practiceArea as a customText field on the customObject Course and as a customText field on the Candidate record. Bullhorn's customText fields support up to 255 characters, sufficient for practice area names.
CE Manager
Affiliations
Bullhorn ATS & CRM
Candidate (department/office fields) or customObject Affiliation
1:1CE Manager Affiliations link a User to a Firm, Department, or Office. Bullhorn Candidate records include a department field, but it is scoped to internal staffing use. For CE Manager affiliations carrying firm-level, department-level, and office-level hierarchy, we map to Bullhorn Candidate custom fields (customText for firm, customText for department, customText for office) or a dedicated customObject Affiliation if the affiliation data includes dates and roles.
CE Manager
Schedules
Bullhorn ATS & CRM
Event or customObject ScheduleSession
1:1CE Manager Schedules define when and where a Course is offered, with date, time, timezone, and location. Bullhorn Event records store date and time but have no native timezone field. We map schedule date and time to Bullhorn Event start/end and store the original timezone as a customText field (e.g., 'America/Chicago'). Location maps to Event location. For multi-session courses, we create one Event per session and link all events to the customObject Course.
CE Manager
Materials
Bullhorn ATS & CRM
ContentDocument (binary) + customText (URL reference)
1:1CE Manager Materials are files and documents linked to Courses. Bullhorn ContentDocument supports binary file storage linked to any entity via ContentDocumentLink. We export available Material records from CE Manager, map file metadata to Bullhorn ContentVersion and ContentDocument, and link each to the associated customObject Course record. File binaries are handled separately from record migration with a different transfer mechanism and are validated post-migration by the customer's admin.
CE Manager
Custom Objects (Firm System Tables)
Bullhorn ATS & CRM
Bullhorn customObject (schema-matched)
1:1CE Manager allows firms to extend the schema with custom Firm System Tables that are not publicly documented. During scoping, we run explicit schema discovery against the CE Manager REST API to enumerate all custom tables, their fields, and their relationships. Each discovered custom table is mapped to a Bullhorn customObject of the same name or a sanitized equivalent, with fields typed to the nearest Bullhorn-supported field type. Bullhorn Support must provision each custom object before import. Custom tables with lookup relationships to standard CE Manager objects (User, License, Course) are mapped to Bullhorn customObjects with corresponding lookups to Candidate or other provisioned custom objects.
| CE Manager | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Users | Candidate1:1 | Fully supported | |
| Licenses | Candidate (custom fields) or customObject License1:1 | Fully supported | |
| Courses | customObject Course1:1 | Fully supported | |
| Attendance | customObject Enrollment1:1 | Mapping required | |
| Compliance | customObject ComplianceStatus (reconstructed)lossy | Mapping required | |
| LearningTracks | customObject Curriculum (flattened)1:many | Mapping required | |
| Providers | customObject Provider1:1 | Fully supported | |
| PracticeAreas | customText (PracticeArea tag on Course and Candidate)lossy | Mapping required | |
| Affiliations | Candidate (department/office fields) or customObject Affiliation1:1 | Mapping required | |
| Schedules | Event or customObject ScheduleSession1:1 | Fully supported | |
| Materials | ContentDocument (binary) + customText (URL reference)1:1 | Mapping required | |
| Custom Objects (Firm System Tables) | Bullhorn customObject (schema-matched)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.
CE Manager gotchas
Custom Firm System Tables are not publicly documented
Compliance is computed, not stored as a record
API rate limits are not publicly documented
Title merging creates duplicate user records
Bullhorn ATS & CRM gotchas
ATS Growth edition has no API access
Attachments excluded from CSV bulk exports
Custom Object limits vary sharply by edition
Opportunity pipeline stages are recruitment-specific
Resume parse quality varies by document format
Pair-specific challenges
Migration approach
Schema discovery and custom table enumeration
We audit the CE Manager REST API across all standard objects (Users, Licenses, Courses, Attendance, Providers, PracticeAreas, Affiliations, Schedules, Materials) and run explicit schema discovery to enumerate any custom Firm System Tables the firm has created. We export a complete field list per object with data types and relationship metadata. This output is reviewed with the customer and becomes the authoritative source schema for the migration mapping document. We simultaneously review the Bullhorn org's existing custom object usage (customObject1-10 on Candidate, ClientContact, JobOrder) to avoid field name conflicts during migration.
Compliance state reconstruction design
We design the compliance reconstruction logic before any data moves. For each CE Manager License record, we identify the jurisdiction's credit requirement and sum all associated Attendance credits earned within the current compliance period. We produce a written compliance computation specification that maps jurisdiction credit rules to the Bullhorn customObject ComplianceStatus fields (isCompliant, compliancePeriod, creditsEarned, creditsRequired, complianceGap). The customer reviews and approves the computation logic before we begin migration, as jurisdiction-specific credit rules can vary by state and license type and must be accurate for regulatory purposes.
Bullhorn custom object provisioning coordination
We open Bullhorn Support tickets for each required custom object (Course, Enrollment, ComplianceStatus, Provider, Curriculum, Affiliation) before migration begins. Bullhorn Support provisions the custom object schema (name, fields, field types, lookups) in the destination org. We validate the provisioned schema against our mapping specification to confirm field names, types, and relationships match before any data is written. This step typically requires 3-5 business days per custom object type and must complete before the production migration window opens.
Sandbox migration and reconciliation
We run a full migration into a Bullhorn sandbox using production-like data volume. The customer's RevOps or compliance lead reconciles record counts (candidates in, licenses in, courses in, attendance in, compliance states computed), spot-checks 25-50 records against the CE Manager source, and reviews the computed compliance data for accuracy across a sample of jurisdictions and license types. Any field mapping corrections, compliance logic adjustments, or custom object schema issues are resolved in sandbox before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Providers (customObject, no dependencies), Courses (customObject, references Provider), Schedules (Event records or customObject ScheduleSession, references Course), Candidates (from CE Manager Users, no dependencies), Affiliations (customObject or Candidate custom fields, references Candidate), Licenses (customObject or Candidate custom fields, references Candidate), Enrollments (customObject Enrollment, references Candidate and Course), Materials (ContentDocument, references Course), and finally ComplianceStatus (customObject, references Candidate and has all child data resolved). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and workflow handoff
We freeze CE Manager writes during cutover, run a final delta migration of any records modified during the migration window, then enable Bullhorn as the system of record. We validate record counts across all objects, confirm compliance data is present for all active licenses, and deliver a written migration inventory documenting the Bullhorn custom object schema, the compliance computation specification, and any CE Manager workflows, compliance alerts, or reporting dashboards that require manual rebuild in Bullhorn. We do not rebuild automations or compliance-triggered notifications in Bullhorn; those are delivered as written recommendations for the customer's Bullhorn admin to configure post-migration.
Platform deep dives
CE Manager
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between CE Manager and Bullhorn ATS & CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across CE Manager and Bullhorn ATS & CRM.
Object compatibility
All 7 core objects map 1:1 between CE Manager and Bullhorn ATS & CRM.
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
CE Manager: Not publicly documented.
Data volume sensitivity
CE Manager exposes a bulk API — large-volume migrations stream efficiently.
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 CE Manager to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your CE Manager to Bullhorn ATS & CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave CE Manager
Other ways to arrive at Bullhorn ATS & CRM
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.