HRMS migration
Field-level mapping, validation, and rollback between iTrent and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
iTrent
Source
Bullhorn ATS & CRM
Destination
Compatibility
4 of 12
objects map 1:1 between iTrent and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Migrating from iTrent to Bullhorn is a platform-category shift from an HR and payroll system to a recruitment ATS and CRM. iTrent stores the employee lifecycle as a single core record with cyclical payroll periods, configurable leave rules, and benefit elections. Bullhorn separates candidates, clients, jobs, and placements into distinct objects with no native payroll engine. We resolve this structural mismatch by mapping iTrent employee records to Bullhorn Candidate and Contact objects, isolating payroll and absence history as custom object fields rather than native records, and requesting MHR-assisted data exports because iTrent lacks comprehensive public API documentation. Bullhorn Custom Objects handle iTrent benefit enrolment and auto-enrolment pension data that has no direct Bullhorn equivalent. Approval workflows and ESS portal configurations are platform configuration and do not migrate as data; we deliver a written inventory for the customer's admin to rebuild 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 iTrent 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.
iTrent
Employee
Bullhorn ATS & CRM
Candidate or Contact
1:manyiTrent Employee records split into Bullhorn Candidate (for workers who are candidates for roles) and Contact (for client companies, hiring managers, and HR administrators stored in iTrent). We use the employment_status, employee_type, and department fields from iTrent to route each record: internal employees become Bullhorn Candidates with a custom field employment_type__c; external contacts from iTrent's third-party or contractor lists become Bullhorn Contacts. Name, email, phone, address, and right-to-work fields map directly to Bullhorn's standard Candidate and Contact field names. NI numbers map to a custom Candidate field national_insurance__c for compliance reference.
iTrent
Employee
Bullhorn ATS & CRM
Client Corporation
1:1Where iTrent stores organisations as employer entities and the migration scope includes multi-company or multi-entity configurations, iTrent employer companies map to Bullhorn Client Corporation records. The iTrent company_name and registration_number map to Bullhorn name and billingAddress respectively. This mapping applies when the migration moves an internal HR team onto Bullhorn CRM to track client relationships alongside internal workforce data.
iTrent
Payroll Record
Bullhorn ATS & CRM
Custom Object (Payroll History)
lossyiTrent payroll history is stored as cyclical pay-period rows with earnings codes, deductions, tax codes, BACS references, and net pay. Bullhorn has no native payroll object on the ATS/CRM tiers. We create Bullhorn Custom Objects named itrent_payroll_history__c and itrent_payslip__c scoped to the Candidate record, with fields for pay_period, earnings_gross, tax_deducted, national_insurance_employee, national_insurance_employer, pension_contribution, net_pay, and bacs_reference. We snapshot at the nearest pay-period boundary to avoid split-cycle records and flag any in-progress period for manual confirmation post-migration.
iTrent
Time Off and Absence
Bullhorn ATS & CRM
Custom Object (Absence Entitlements)
lossyiTrent leave-year configurations, entitlement balances, and absence events have no Bullhorn native equivalent. We create a Bullhorn Custom Object itrent_absence__c scoped to Candidate with fields for leave_type, entitlement_total, entitlement_used, entitlement_remaining, accrual_rate, and leave_year_end. Active absence events at migration time are inserted as records with status in_progress. Completed absence cycles are migrated as historical records. Leave-type picklist values (Annual Leave, Sick Leave, Carers Leave, etc.) are recreated as Bullhorn custom field dropdowns before import.
iTrent
Benefits and Enrolments
Bullhorn ATS & CRM
Custom Object (Benefits Enrolment)
lossyiTrent benefit elections (private medical, life assurance, cycle-to-work, voluntary benefits) and auto-enrolment pension data map to a Bullhorn Custom Object itrent_benefits__c scoped to Candidate. Auto-enrolment pension staging and contribution rate history migrate as separate records within the object with fields for pension_scheme, staging_date, contribution_employee_percent, contribution_employer_percent, and opt_out_date. Voluntary benefits and salary sacrifice schemes migrate as benefit_type and employee_contribution fields. Benefit provider links are stored as text fields pointing to the external provider reference.
iTrent
Documents
Bullhorn ATS & CRM
ContentDocument and ContentDocumentLink
1:1iTrent document repository stores contracts, offer letters, and policy documents. We export file blobs alongside their metadata and ingest them into Bullhorn's ContentDocument system, linking each document to the relevant Candidate or Contact record via ContentDocumentLink. File type, original upload date, and document category migrate as ContentVersion fields. Bullhorn's 60 MB per file limit applies; documents exceeding this are flagged for manual splitting or alternative storage before migration.
iTrent
Organisational Structure
Bullhorn ATS & CRM
Corporation and Department custom fields
1:1iTrent departments, cost centres, locations, and reporting lines map to Bullhorn Client Corporation (for employer entities) and custom fields on Candidate (for internal org structure). The reporting_line from iTrent maps to a custom Candidate field manager__c which we resolve to a corresponding Candidate record by email match. Cost centre codes migrate as text fields on the Corporation record for financial reporting alignment.
iTrent
Employee Self-Service Settings
Bullhorn ATS & CRM
Configuration inventory
lossyiTrent ESS portal configuration determines which fields employees can view and update. Bullhorn ESS does not replicate this model. We extract the ESS-visible field list and permission structure from iTrent during scoping and deliver it as a written configuration inventory noting which Bullhorn standard or custom fields provide equivalent visibility for candidate-facing ESS on the Bullhorn Recruitment CRM platform. Salary display values derived from user calculations in iTrent ESS are flagged as display-derived data requiring manual reconciliation in Bullhorn.
iTrent
Talent and Performance
Bullhorn ATS & CRM
Custom Object (Performance Reviews)
lossyiTrent performance review cycles, objectives, and competency ratings migrate to Bullhorn Custom Objects. We create itrent_review__c (for review cycle metadata) and itrent_objective__c (for individual objectives linked to the review) scoped to Candidate. Custom rating scales from iTrent are mapped explicitly to numeric values with a translation table because Bullhorn does not support arbitrary rating scales natively. Reviewer assignments migrate as linked Contact records.
iTrent
Recruitment and Onboarding
Bullhorn ATS & CRM
Job Order, Placement, and Onboarding Task
1:1Where iTrent stores vacancies, applications, and onboarding tasks (typically for organisations that use iTrent's optional recruitment module), these map to Bullhorn Job Order, Job Submission, and Onboarding (via Bullhorn Onboarding, formerly Able Teams WFM). Active vacancies migrate as Bullhorn Job Order records with status migrated; pending onboarding tasks migrate as Bullhorn Onboarding checklist items linked to the Placement record. Completed workflows are flagged as closed in Bullhorn with a status reason field carrying the original completion date.
iTrent
Custom Calculation Rules
Bullhorn ATS & CRM
Configuration inventory
lossyiTrent user-defined salary and benefit calculation rules are platform configuration rather than data records. We extract them as structured artefacts during scoping and deliver a written inventory mapping each calculation to either a Bullhorn Custom Object field formula (if the calculation can be expressed as a formula field) or a manual reconciliation note for the customer's HR admin. Rules that depend on historical payroll outputs are flagged for compensation review before Bullhorn go-live.
iTrent
Workflow and Approval Chains
Bullhorn ATS & CRM
Configuration inventory
lossyiTrent conditional approval chains and authorisation rules are platform configuration extracted by MHR during the discovery phase as workflow XML or equivalent artefacts. Bullhorn Automation (formerly Herefish) handles workflow and task automation differently. We do not migrate workflows as code. We deliver a written inventory of every iTrent approval workflow with its trigger conditions, routing rules, and action types, plus a recommendation for Bullhorn Automation equivalents where the customer licenses that add-on. The customer's Bullhorn admin or a Bullhorn partner rebuilds approval logic post-migration.
| iTrent | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Employee | Candidate or Contact1:many | Fully supported | |
| Employee | Client Corporation1:1 | Fully supported | |
| Payroll Record | Custom Object (Payroll History)lossy | Fully supported | |
| Time Off and Absence | Custom Object (Absence Entitlements)lossy | Mapping required | |
| Benefits and Enrolments | Custom Object (Benefits Enrolment)lossy | Mapping required | |
| Documents | ContentDocument and ContentDocumentLink1:1 | Mapping required | |
| Organisational Structure | Corporation and Department custom fields1:1 | Fully supported | |
| Employee Self-Service Settings | Configuration inventorylossy | Mapping required | |
| Talent and Performance | Custom Object (Performance Reviews)lossy | Mapping required | |
| Recruitment and Onboarding | Job Order, Placement, and Onboarding Task1:1 | Mapping required | |
| Custom Calculation Rules | Configuration inventorylossy | Mapping required | |
| Workflow and Approval Chains | Configuration inventorylossy | 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.
iTrent gotchas
Pay period cycle boundary alignment
Custom field proliferation and schema variance
Limited public API and export tooling
ESS salary breakdown configuration dependency
Workflow definitions not stored as data
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
Discovery and MHR export coordination
We audit the source iTrent tenant across custom field inventories, leave-year configurations, benefit scheme count, payroll period structure, ESS visibility settings, and document repository volume. We identify which Bullhorn edition the customer has licensed and confirm available Custom Object slots. We then engage MHR to request a structured data export covering all standard and custom employee properties, payroll history rows, absence entitlement snapshots, and benefit enrolments. Discovery produces a written scope with object-by-object record counts and a Bullhorn edition recommendation if the customer's data model exceeds available Custom Object capacity.
Schema design and Custom Object provisioning
We design the destination Bullhorn schema before any data moves. This includes creating Custom Objects (itrent_payroll_history__c, itrent_absence__c, itrent_benefits__c, itrent_review__c) via Bullhorn Admin with all required fields, edit types, and required-field constraints. Standard Bullhorn Candidate and Contact fields are mapped from iTrent employee records. We configure any additional custom fields on Candidate and Client Corporation to absorb iTrent properties that exceed the Custom Object slot limit. Bullhorn custom field dropdown values are populated from iTrent picklist sources before import begins.
Sandbox migration and reconciliation
We run a full migration into a Bullhorn sandbox using production-like record volumes. The customer's HR lead and Bullhorn admin reconcile record counts (Candidates in, Contacts in, Custom Object rows in), spot-check 25-50 random records against the iTrent source, and validate that absence balances, benefit enrolments, and payroll history rows are correctly typed and attributed to the right Candidate. Any field mapping corrections, value translation issues, or drop-down mismatches are resolved in this sandbox phase. Production migration does not begin until written sign-off.
Owner reconciliation and Bullhorn user provisioning
We extract every distinct iTrent owner (line manager, HR administrator, payroll processor) referenced on employee records and match by email against the Bullhorn destination User table. Any iTrent owner without a matching Bullhorn User goes to a reconciliation queue. The customer's Bullhorn admin provisions missing Users before record import resumes. We also identify the Bullhorn recruiter or admin who will own migrated Candidate records post-migration and assign OwnerId accordingly during import.
Production migration in dependency order
We run production migration in record-dependency order: Client Corporations (from iTrent employer entities), Candidates (from iTrent employee records with employment_type routing applied), Contacts (from iTrent external contacts), itrent_payroll_history__c rows (with period-boundary snapshot applied), itrent_absence__c records (with in-progress events flagged), itrent_benefits__c records, Documents (via ContentDocument and ContentDocumentLink), itrent_review__c and itrent_objective__c records, and finally Job Orders and Onboarding tasks (from iTrent recruitment module if present). Each phase emits a row-count reconciliation report. MHR exports are processed in overnight batches to align with the 24-48 hour export window MHR typically requires.
Cutover, delta sync, and workflow handoff
We freeze writes in iTrent during the final cutover window, run a delta migration of any records modified since the last batch, then set Bullhorn as the system of record for migrated workforce data. Documents are validated for completeness against the iTrent export manifest. We deliver the ESS configuration inventory, approval workflow artefact, and custom calculation rules document to the customer's Bullhorn admin. We support a one-week hypercare window for reconciliation issues. We do not rebuild iTrent workflows as Bullhorn Automation inside the migration scope; that work is a separate engagement.
Platform deep dives
iTrent
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between iTrent and Bullhorn ATS & CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across iTrent and Bullhorn ATS & CRM.
Object compatibility
All 7 core objects map 1:1 between iTrent 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
iTrent: Not publicly documented.
Data volume sensitivity
iTrent 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 iTrent to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your iTrent 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 iTrent
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.