HRMS migration
Field-level mapping, validation, and rollback between Payroll Automation and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Payroll Automation
Source
Bullhorn ATS & CRM
Destination
Compatibility
7 of 12
objects map 1:1 between Payroll Automation and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from a standalone Payroll Automation platform to Bullhorn is a staffing back-office consolidation, not a simple record copy. Payroll Automation platforms store employee compensation, tax withholdings, benefit deductions, and garnishment orders with paycheck-level granularity. Bullhorn ATS stores candidate, contact, company, job, and placement records with an integrated back-office layer for time management and payroll export. We bridge the two by extracting at the paycheck line level from the source, mapping employees to Bullhorn candidate and contact records, preserving compensation history and garnishments in Bullhorn custom fields, and sequencing the migration so that existing placements in Bullhorn have time records and pay rates reconciled before the first payroll export. Bullhorn Automation workflows and the Herefish/Bullhorn Automation suite do not migrate; we deliver a written inventory of every active automation for the customers admin to rebuild 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 Payroll Automation 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.
Payroll Automation
Employee
Bullhorn ATS & CRM
Candidate + Contact (dual-record mapping)
1:manyPayroll Automation employee records map to Bullhorn Candidate (for recruiting pipeline and sourcing history) and Bullhorn Contact (for back-office and billing relationships). The mapping uses SSN or employee ID as the dedupe key. We preserve the full employee address, tax withholding status (W-4 equivalents), and emergency contact data in Bullhorn custom fields on both records. The customer's Bullhorn admin determines whether the employee also requires a separate Contact record for client-billing purposes or whether the Candidate record alone carries the payroll data.
Payroll Automation
Compensation History
Bullhorn ATS & CRM
Placement custom fields
1:1Wage rates, salary changes, bonus schedules, and overtime rules from the Payroll Automation source migrate as custom fields on the Bullhorn Placement record. Bullhorn Placement stores payRate, billRate, and margin; compensation history beyond the current rate is stored in Bullhorn custom fields (customText or currency fields) since the standard Placement object does not natively track historical pay changes. We sequence compensation history import after the Placement record is created so the lookup is satisfied at insert time.
Payroll Automation
Payroll Run
Bullhorn ATS & CRM
Time & Labor + Payroll Export
lossyBullhorn does not run payroll internally; it exports time and labor data to a payroll provider via Bullhorn Time & Labor. We map Payroll Automation pay run headers to Bullhorn time period configurations and map individual pay run lines to Bullhorn time entries (RTE or Transaction Uploader format) so that historical payroll data feeds into the Bullhorn time record structure. The export format aligns with Bullhorns Payroll Export and Accounts Payable Export processes.
Payroll Automation
Tax Withholdings
Bullhorn ATS & CRM
Candidate/Contact tax configuration fields
1:1Federal, state, and local tax withholding configurations from the Payroll Automation source migrate to Bullhorn custom fields on the Candidate or Contact record. Bullhorns standard ATS does not include a native tax withholding configuration object, so we use custom fields to store tax jurisdiction, filing status, and allowances. For customers using Bullhorn with Greenshades or another integrated payroll partner, we map these to the partners tax configuration schema instead.
Payroll Automation
Benefit Deductions
Bullhorn ATS & CRM
Placement custom fields + Bullhorn deduction codes
1:manyHealth insurance contributions, 401(k) deferrals, HSA and FSA deductions, and voluntary benefit deductions from Payroll Automation map to Bullhorn Placement custom fields and custom deduction codes in Bullhorns back-office configuration. Each deduction type (medical, dental, vision, retirement, HSA, FSA) gets its own code to support W-2 generation and payroll export. Employer match logic is preserved as notes on the Placement record for the back-office team to configure in the payroll export layer.
Payroll Automation
Garnishments
Bullhorn ATS & CRM
Placement custom fields + compliance notes
1:1Child support orders, tax levies, and wage garnishment orders carry effective dates, dollar limits, and statutory deduction percentages that cannot be approximated. We extract garnishment records from Payroll Automation with effective date, expiration date, maximum deduction per period, and court order reference, and map them to Bullhorn Placement custom fields with a garnishment compliance flag. Bullhorns back-office team uses these to configure garnishments in the payroll export layer. We do not file garnishment order notifications; that is a legal compliance step the customer handles directly.
Payroll Automation
PTO Balances
Bullhorn ATS & CRM
Bullhorn custom fields or third-party PTO module
1:1Accrued PTO, sick leave, and other leave balances from Payroll Automation migrate to Bullhorn custom fields on the Candidate or Contact record. Bullhorn ATS does not include a native PTO accrual engine; we store current balance and accrual rate for reference. If the customer uses Bullhorn with a third-party PTO management integration, we map the balance data to the integration's required fields. For staffing firms where PTO is managed by the worksite employer rather than the staffing agency, we scope this object based on the customer's operational model.
Payroll Automation
Org Structure
Bullhorn ATS & CRM
Department + Bullhorn user teams
1:1Departments, cost centers, job titles, and reporting hierarchies from Payroll Automation map to Bullhorn Department and to Bullhorn team-based user permissions. Bullhorn does not have a native org chart object, but Department is used for branch-level time approval routing, billing segmentation, and user visibility controls. We map cost centers to Bullhorn custom fields on Placement for back-office billing reports.
Payroll Automation
Direct Deposit / Banking Information
Bullhorn ATS & CRM
Bullhorn back-office payroll export
lossyEmployee banking information for direct deposit from Payroll Automation is extracted and mapped for import into the customer's payroll provider (Greenshades, ADP, or another). Bullhorn does not store banking details internally; it passes payroll data to the export layer. We extract the bank name, routing number, account number, and deposit allocation (percentage or flat amount) and deliver it as a structured CSV for the payroll provider onboarding team. We do not store banking data in Bullhorn.
Payroll Automation
Worker Classification
Bullhorn ATS & CRM
Placement recordType
lossyW-2 employee versus 1099 contractor classification from Payroll Automation maps to Bullhorn Placement recordType. Staffing firms distinguish between regular W-2 placements (paid through payroll export) and 1099 contractor assignments (paid through accounts payable export). We map the source classification to Bullhorn Placement recordType so that the back-office payroll versus AP routing is set correctly at migration time.
Payroll Automation
Job Order / Position
Bullhorn ATS & CRM
JobOrder
1:1Active job orders or position records from the Payroll Automation source that represent open headcount migrate to Bullhorn JobOrder. JobOrder captures job title, requirements, department, and status. For staffing firms, JobOrder is the recruiting-side record paired with Placement (the filled, billable assignment). We map open positions to Bullhorn JobOrder with status set appropriately based on whether the position is still recruiting or has been filled and transitioned to a Placement.
Payroll Automation
Time Entry Records
Bullhorn ATS & CRM
Bullhorn Time & Labor entries
1:1Historical time entries from Payroll Automation migrate to Bullhorn Time & Labor format (BTE). Bullhorn supports VTC, Web Time Entry, Rapid Time Entry, and Transaction Uploader formats. We map source time entries to RTE or Transaction Uploader format depending on whether the source data includes individual punch records or summary hours. Each time entry links to the corresponding Bullhorn Placement record via the assignment ID. Overtime hours, holiday rates, and double-time flags map to Bullhorn earn codes for correct payroll export.
| Payroll Automation | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Employee | Candidate + Contact (dual-record mapping)1:many | Fully supported | |
| Compensation History | Placement custom fields1:1 | Mapping required | |
| Payroll Run | Time & Labor + Payroll Exportlossy | Fully supported | |
| Tax Withholdings | Candidate/Contact tax configuration fields1:1 | Fully supported | |
| Benefit Deductions | Placement custom fields + Bullhorn deduction codes1:many | Mapping required | |
| Garnishments | Placement custom fields + compliance notes1:1 | Mapping required | |
| PTO Balances | Bullhorn custom fields or third-party PTO module1:1 | Mapping required | |
| Org Structure | Department + Bullhorn user teams1:1 | Fully supported | |
| Direct Deposit / Banking Information | Bullhorn back-office payroll exportlossy | Fully supported | |
| Worker Classification | Placement recordTypelossy | Fully supported | |
| Job Order / Position | JobOrder1:1 | Fully supported | |
| Time Entry Records | Bullhorn Time & Labor entries1:1 | 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.
Payroll Automation gotchas
Native exports flatten paycheck detail into summary amounts
Per-change and per-employee fees inflate migration costs
Mid-year migration creates catch-up tax filing obligations
Tax penalty protection is tier-gated and does not cover all jurisdictions
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 payroll split decision
We audit the Payroll Automation source across employee record volume, paycheck history depth (number of pay periods), active deduction codes, active garnishment orders, PTO balance inventory, and tax jurisdiction count. We pair this with a Bullhorn edition review (Front Office Growth/Enterprise vs Bullhorn ATS vs ATS Growth) to confirm the custom object ceiling matches the migration scope. We also identify the target payroll provider for the back-office split (Greenshades, ADP, UKG, Paylocity, or another) and confirm the export format requirements. The discovery output is a written migration scope that defines what moves to Bullhorn, what moves to the payroll provider, and what requires manual re-entry.
Schema design and custom object provisioning
We design the Bullhorn destination schema including custom fields on Candidate, Contact, and Placement for compensation history, tax withholding, benefit deductions, garnishment orders, PTO balances, and cost center data. If the migration requires more custom objects than the Bullhorn edition supports, we identify which data lives in custom fields versus custom objects and document the trade-off. We submit the Custom Object Setup Spreadsheet to Bullhorn Support and coordinate provisioning before data migration begins. Schema design also includes mapping Bullhorn Placement recordTypes for W-2 versus 1099 classification and configuring earn codes for overtime, holiday, and double-time rates.
Sandbox migration and reconciliation
We run a full migration into a Bullhorn Sandbox using production-like employee and payroll run data volume. The customers Bullhorn admin reconciles record counts (Candidates in, Contacts in, Placements in, time entries in), spot-checks 25-50 random employee records against the Payroll Automation source, and validates that pay rates, tax withholdings, and garnishment amounts are accurate in the Bullhorn custom fields. Any mapping corrections happen in sandbox before production migration begins.
Payroll provider coordination and export preparation
We extract employee banking information, tax withholding configurations, and garnishment order details from the Payroll Automation source and format them for import into the target payroll provider. This step runs in parallel with the Bullhorn migration and requires the customers payroll provider account to be active and configured for onboarding. We deliver a structured CSV of direct deposit allocations, tax jurisdiction data, and garnishment records to the payroll provider onboarding team. Bullhorn does not store banking data; it passes through to the payroll export layer.
Production migration in dependency order
We run production migration in record-dependency order: Placement records first (with recordType, payRate, and billRate), then Candidate and Contact records (with compensation history and tax configuration), then time entries linked to Placements via assignment ID, then garnishment records and PTO balances as Placement custom fields. Direct deposit and banking data are delivered separately to the payroll provider and are not stored in Bullhorn. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation rebuild handoff
We freeze Payroll Automation writes during cutover, run a final delta migration of any employee or time records modified during the migration window, then enable Bullhorn as the recruiting and placement system of record with time data flowing to the payroll provider. We deliver the Bullhorn Automation inventory document to the customers admin team. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild Bullhorn Automation workflows, time approval routing rules, or payroll export configurations inside the migration scope; those are separate configuration or implementation engagements.
Platform deep dives
Payroll Automation
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Payroll Automation and Bullhorn ATS & CRM.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
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
Payroll Automation: Not publicly documented..
Data volume sensitivity
Payroll Automation 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 Payroll Automation to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Payroll Automation 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 Payroll Automation
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.