HRMS migration

Migrate from WebHR to Bullhorn ATS & CRM

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

WebHR logo

WebHR

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

93%

14 of 15

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

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from WebHR to Bullhorn is a platform-type migration: WebHR is a general HRMS that stores employee records as personnel files, while Bullhorn is a recruitment ATS and CRM purpose-built for staffing agencies. The core migration challenge is translating WebHR's employee records into Bullhorn's Candidate and ClientContact objects, with WebHR recruitment pipeline stages mapped to Bullhorn's JobOrder status and Placement tracking. We resolve the employee-to-candidate conversion during scoping, preserve WebHR's leave history as custom object records or notes on the Candidate, and flag that payroll, benefits, and e-signature data have no native Bullhorn equivalent so those records are migrated as structured documents or custom fields for admin review. Bullhorn's Custom Objects (up to 10 on Front Office Growth and Enterprise editions) handle any WebHR custom form data that cannot fit standard fields. Workflows, scheduling automation, and recruitment pipeline templates from WebHR do not migrate; we deliver a written inventory for the customer's admin to rebuild in Bullhorn's workflow builder.

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

WebHR logo

WebHR

What's pushing teams away

  • Frequent slowdowns and lags reported in G2 reviews frustrate users during peak times like payroll runs, with some noting the platform becomes unusable during high-activity windows.
  • Reporting and analytics are described as limited and shallow compared to competitors, making it difficult to generate the detailed HR reports that growing companies require.
  • Support responsiveness is inconsistent according to some reviewers, with critical issues taking too long to resolve during urgent payroll or compliance situations.
  • The platform lacks the advanced automation, AI features, and compliance depth that companies scaling beyond 200 employees typically need from enterprise HRMS vendors.

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

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

WebHR

Employee

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

WebHR Employee records map to Bullhorn Candidate records. We extract the full profile (name, contact, employment history, skills, resume) and map it to Bullhorn Candidate fields. WebHR's employee photo migrates as a Candidate attachment. The Candidate's status defaults to 'Active' if the WebHR employee is currently employed, or 'Placed' if a historical placement record exists. We preserve the original WebHR employee ID in a custom field webhr_employee_id__c for audit and reconciliation.

WebHR

Employee

maps to

Bullhorn ATS & CRM

ClientContact

1:1
Fully supported

WebHR Employee records may also represent internal client contacts if the organization uses WebHR to track relationships with external clients. We map these to Bullhorn ClientContact records linked to the corresponding ClientCorporation, with the employee role mapped to the ClientContact title field.

WebHR

Companies (Organization)

maps to

Bullhorn ATS & CRM

ClientCorporation

1:1
Fully supported

WebHR's CompaniesList endpoint maps directly to Bullhorn ClientCorporation. The organization name, address, and industry classification migrate as ClientCorporation fields. For multi-entity WebHR deployments, we extract each company as a separate ClientCorporation and preserve the parent-child hierarchy via ClientCorporation custom fields.

WebHR

Recruitment Candidate

maps to

Bullhorn ATS & CRM

Candidate + JobSubmission

1:1
Fully supported

WebHR Recruitment Candidates are created through the ATS module and include application stage, screening data, and attachments. We map these to Bullhorn Candidate records with the WebHR application stage preserved in a custom field webhr_stage__c. If the candidate is tied to an active job opening, we create a Bullhorn JobSubmission linking the Candidate to the corresponding JobOrder. WebHR pipeline stage names vary by customer configuration; we extract the actual stage names during discovery and map them to Bullhorn's standard submission status values.

WebHR

Recruitment Pipeline Stage

maps to

Bullhorn ATS & CRM

JobSubmission Status + Custom Object

lossy
Fully supported

WebHR's customer-defined pipeline stages (e.g., Screening, Technical Interview, Culture Fit) have no Bullhorn standard equivalent. We configure Bullhorn JobSubmission status values to match the customer's pipeline stages, creating custom status options where needed. For complex multi-stage pipelines with branching logic, we document the stage progression in a custom object or as a field mapping note for the admin to configure in Bullhorn's pipeline settings post-migration.

WebHR

Leaves and PTO

maps to

Bullhorn ATS & CRM

Note or Custom Object (LeaveHistory)

1:1
Fully supported

WebHR leave records (leave type, start/end dates, status, balance consumed) have no native Bullhorn equivalent because Bullhorn is a recruitment platform. We migrate leave history as Note records attached to the Candidate, or as a Bullhorn Custom Object (LeaveHistory__c) if the customer has Front Office Growth or Enterprise edition and wants structured leave data. Balance forward is calculated and noted. We flag any leave records that may contain sensitive HR data and recommend the customer's admin review before making them visible on candidate profiles.

WebHR

Performance Reviews

maps to

Bullhorn ATS & CRM

Custom Object (Review__c) or Note

1:1
Mapping required

WebHR Performance module stores review records linked to employees with ratings, goals, and feedback text. Custom review templates and rating scales differ across accounts. We map these to Bullhorn Custom Object records (Review__c) linked to the Candidate, or as structured Notes if the Bullhorn edition does not support Custom Objects. Rating scales are preserved as custom picklist fields; goals and feedback text migrate as long-text fields.

WebHR

Payroll Records

maps to

Bullhorn ATS & CRM

Placement Record + Note

1:1
Mapping required

WebHR payroll records (payslips, year-to-date earnings, deductions) are available via API only if the payroll add-on ($2/employee/month) is active. We migrate payroll summary data as structured fields on the Bullhorn Placement record (if the customer uses Bullhorn Back Office for placement payroll) or as Notes attached to the Candidate. Bullhorn does not have a payroll module for general HR payroll; the Back Office handles contractor and placement billing, not employer payroll.

WebHR

Time and Attendance

maps to

Bullhorn ATS & CRM

Placement + Custom Object (Timesheet)

1:1
Fully supported

WebHR clock-in/clock-out timestamps and approved timesheet data migrate to Bullhorn Placement records (for placed candidates) or a Custom Object (Timesheet__c) for tracking. We extract approved timesheet records and flag any unprocessed or pending entries that require manual resolution. Timesheet data linked to billable placements maps to Bullhorn time and expense records.

WebHR

Documents and Files

maps to

Bullhorn ATS & CRM

Candidate Attachment + ContentDocument

1:1
Mapping required

WebHR's Files module stores employee documents (contracts, IDs, certifications) as binary blobs. We enumerate all file metadata, download the blobs, and re-upload them as Bullhorn Candidate attachments and ContentDocument records, preserving filenames and original upload dates. Document type is mapped to Bullhorn's attachment description field.

WebHR

Benefits

maps to

Bullhorn ATS & CRM

Custom Object (BenefitEnrollment) or Note

1:1
Mapping required

WebHR benefit enrollment records (benefit type, coverage level, enrollment dates) migrate to Bullhorn Custom Object (BenefitEnrollment__c) linked to the Candidate, or as structured Notes if Custom Objects are unavailable. Dependent and beneficiary details map as sub-records or custom fields within the BenefitEnrollment object.

WebHR

eSignature Records

maps to

Bullhorn ATS & CRM

Note with Signature Metadata

1:1
Mapping required

WebHR eSignature records (signed documents, signatory, signing date, audit trail) are migrated as Notes attached to the Candidate with the original signatory, timestamp, and signature status preserved in the note body. Bullhorn's native e-signature capability via integrations (DocuSign, AdobeSign) can be re-connected post-migration; the migration preserves the historical record of signed agreements.

WebHR

Custom Forms

maps to

Bullhorn ATS & CRM

Custom Object

1:1
Mapping required

WebHR custom forms contain field data tied to specific employees. We export form response records and field values, mapping them to Bullhorn Custom Objects (one per form type) with custom fields matching the source form fields. Field types are mapped to equivalent Bullhorn custom field edit types (text, picklist, date, checkbox). If the destination Bullhorn edition supports fewer than the required custom objects, we prioritize the most operationally critical forms.

WebHR

Scheduler and Shifts

maps to

Bullhorn ATS & CRM

Event + Custom Object (Shift)

1:1
Mapping required

WebHR Scheduler module stores shift assignments, rosters, and shift swap records. We extract active shift patterns and map them to Bullhorn Event records (for scheduled activities) or a Custom Object (Shift__c) linked to the Candidate Placement. Recurring shift patterns are documented for the customer's admin to configure in Bullhorn's calendar or Bullhorn Onboarding (Able) if shift scheduling is a recurring operational need.

WebHR

Owner

maps to

Bullhorn ATS & CRM

User

1:1
Fully supported

WebHR users who created or owned records map to Bullhorn User records. We resolve WebHR users by email match against the Bullhorn User table. Any WebHR user without a matching Bullhorn User goes to a reconciliation queue for the customer's Bullhorn admin to provision before record import resumes. Inactive WebHR users are mapped to inactive Bullhorn Users to preserve assignment history.

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.

WebHR logo

WebHR gotchas

High

Payroll module is a paid add-on not included in base plan

High

Free tier limited to 5 employees with restricted module access

Medium

API lacks documented bulk export or batch endpoints

Medium

Custom review templates and pipeline stages vary by account configuration

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

  • WebHR employees do not map 1:1 to Bullhorn Candidates

    WebHR stores employee records as personnel files with payroll, benefits, and HR data. Bullhorn Candidate records are recruitment profiles optimized for placement tracking. Not every WebHR employee is a recruitment candidate; staffing firms may have placed candidates in WebHR that need to map to Bullhorn alongside internal employees. We resolve the employee-to-candidate classification during scoping by checking for WebHR Recruitment module activity, application history, and placement records. Employees without recruitment context are migrated as Bullhorn Candidates with a flag indicating they originated from HR records, not ATS activity.

  • Bullhorn Custom Objects require Bullhorn Support to provision

    Bullhorn Custom Objects (up to 10 on Front Office Growth/Enterprise, 2 on Bullhorn ATS, none on ATS Growth) must be set up by Bullhorn Support via a support ticket with a completed Custom Object Setup Spreadsheet. Unlike standard fields, they cannot be self-provisioned through the admin UI. We account for Bullhorn Support ticket processing time in the migration timeline and submit the Custom Object request early in the schema design phase so that provisioning runs parallel to other setup work. If the migration requires more Custom Objects than the edition allows, we prioritize the most operationally critical mappings and document the remainder for post-migration admin review.

  • WebHR payroll add-on must be active to access payroll data

    WebHR's Payroll module is a paid add-on at $2/employee/month. Historical payslips, year-to-date earnings, and deduction records are not accessible via the WebHR API if the customer's subscription does not include the payroll add-on. We scope the migration by checking the customer's active WebHR modules before committing to payroll data completeness. If payroll is not enabled, we advise migrating it as structured Notes or a post-migration manual entry task, or negotiate a temporary payroll upgrade for the migration window. Bullhorn does not have a general HR payroll module; placement payroll is handled by Bullhorn Back Office separately.

  • WebHR Workflows, Sequences, and Automations do not migrate

    WebHR workflow rules, recruitment automation, and scheduling rules are WebHR-specific and do not migrate to Bullhorn. Bullhorn uses its own workflow model (Tasks, Automated Actions, Bullhorn Automation formerly Herefish) that is structurally different from WebHR's rule builder. We deliver a written inventory of every active WebHR workflow and automation with its trigger, conditions, actions, and recommended Bullhorn equivalent for the customer's admin to rebuild post-migration. Scheduling automation from WebHR Scheduler maps to Bullhorn Onboarding (Able) shift management or manual calendar setup.

  • WebHR free tier limits migration scope to core employee records only

    WebHR's free tier caps at 5 employees and restricts access to base modules only. Advanced modules (Recruitment, Performance, Payroll, Scheduler, Benefits) are unavailable on free accounts. When migrating from a free-tier WebHR account, we can only extract core employee records and basic profile data. Customers must upgrade to a paid WebHR tier before we can access and migrate add-on module data. We verify the active WebHR tier during discovery and flag any modules that will require an upgrade before their data can be included in the migration scope.

Migration approach

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

  1. Discovery and tier verification

    We audit the source WebHR account across active modules (base HR, Recruitment, Performance, Payroll, Scheduler, Benefits), record counts per object type, and the current WebHR subscription tier. We verify whether the payroll add-on is active and whether any modules are inaccessible on the current tier. We also extract the WebHR recruitment pipeline stage configurations and custom form definitions. The discovery output is a written migration scope document specifying which WebHR objects will migrate, which require an upgrade, and which map to Bullhorn Custom Objects requiring Bullhorn Support provisioning.

  2. Bullhorn edition selection and Custom Object provisioning

    We recommend a Bullhorn edition based on the migration scope. Bullhorn Starter ($99/user/month) covers basic ATS and CRM migration. Bullhorn Core ($165/user/month) is required if custom fields and workflows are needed. Bullhorn Pro (custom pricing) is recommended if the customer plans to use AI matching, Bullhorn Automation, or advanced analytics. We submit the Bullhorn Custom Object Setup Spreadsheet to Bullhorn Support early in this phase to begin provisioning parallel to schema design. The Bullhorn admin provisions the initial User accounts and grants the migration user API access.

  3. Schema design and mapping rule definition

    We design the Bullhorn destination schema: custom fields on Candidate, ClientCorporation, JobOrder, Opportunity, and Placement (using the Bullhorn entity's allowed custom field count per edition); Custom Objects provisioned via Bullhorn Support (LeaveHistory__c, Review__c, BenefitEnrollment__c, Timesheet__c, Shift__c, CustomForms per form type); JobSubmission status values mapped to the customer's WebHR pipeline stages; and the employee-to-candidate classification rule based on WebHR module activity. Schema is validated in a Bullhorn Sandbox org before production migration begins.

  4. Sandbox migration and reconciliation

    We run a full migration into a Bullhorn Sandbox using production-like data volume. The customer's Bullhorn admin reconciles record counts (Candidates in, ClientCorporations in, JobSubmissions in, Placements in), spot-checks 25-50 random records against the WebHR source, and reviews the Custom Object data structure. Any mapping corrections and Custom Object field adjustments happen in this phase. The admin signs off on the schema and mapping before production migration begins.

  5. Owner reconciliation and User provisioning

    We extract every distinct WebHR user referenced on Employee, Recruitment Candidate, and document records and match by email against the Bullhorn destination org's User table. Any WebHR user without a matching Bullhorn User goes to a reconciliation queue. The customer's Bullhorn admin provisions missing Users (active or inactive based on whether the original WebHR user is still active). Migration cannot proceed to production until OwnerId references are resolvable on Candidate and ClientContact records.

  6. Production migration in dependency order

    We run production migration in record-dependency order: ClientCorporations (from WebHR Companies), Candidates (with employee-to-candidate classification applied and webhr_employee_id__c preserved), JobSubmissions (linked to Candidates and JobOrders), Custom Objects (LeaveHistory, Review, BenefitEnrollment, Timesheet, Shift, CustomForms), Documents and Files (as ContentDocument attachments), then Notes with payroll summary data and e-signature audit trails. Each phase emits a row-count reconciliation report before the next phase begins.

  7. Cutover, validation, and automation rebuild handoff

    We freeze WebHR writes during cutover, run a final delta migration of any records modified during the window, then enable Bullhorn as the system of record. We deliver the WebHR Workflow and Automation inventory document to the customer's Bullhorn admin. We support a one-week hypercare window where we resolve reconciliation issues raised by the customer's team. We do not rebuild WebHR workflows as Bullhorn Tasks, Automated Actions, or Bullhorn Automation inside the migration scope; that is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

WebHR logo

WebHR

Source

Strengths

  • Per-employee pricing starts at $2/month with a free 5-seat tier for evaluation before commitment
  • All-in-one HRMS covers employee management, payroll, recruitment, performance, time, benefits, and e-signature under one subscription
  • Cloud-only deployment eliminates on-premise IT requirements and enables 24/7 access from any browser
  • Social HR and internal communication tools reduce reliance on separate collaboration platforms for day-to-day HR tasks
  • 30%+ annual pre-pay discount makes the per-employee cost highly competitive for small businesses on annual budgets

Weaknesses

  • Frequent performance slowdowns and lag reported during peak usage periods like payroll processing
  • Reporting and analytics capabilities are shallow compared to enterprise HRMS competitors, limiting insight generation
  • Support responsiveness is inconsistent, with critical issues sometimes taking extended time to resolve
  • Limited advanced automation and AI features compared to Rippling, BambooHR, or UKG Pro
  • No documented public API rate limits or bulk export endpoints for programmatic large-scale data extraction
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. 1 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

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

  • Object compatibility

    B

    1 of 7 objects need a mapping; the rest are 1:1.

  • 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

    WebHR: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your WebHR 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 two and four weeks for organizations under 5,000 WebHR employee records with a single active recruitment pipeline and no complex custom form data. Migrations with multiple WebHR modules (Performance, Payroll, Scheduler), large candidate pools, historical placement records, or extensive custom form data requiring Bullhorn Custom Object provisioning move to six to ten weeks because of schema design, Bullhorn Support processing time for Custom Objects, and reconciliation scope.

Adjacent paths

Related migrations to explore

Ready when you are

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