HRMS migration

Migrate from JobScore to BambooHR

Field-level mapping, validation, and rollback between JobScore and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.

JobScore logo

JobScore

Source

BambooHR

Destination

BambooHR logo

Compatibility

70%

7 of 10

objects map 1:1 between JobScore and BambooHR.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from JobScore to BambooHR is a transition from a recruiting-centric ATS to a full HRIS that includes hiring and onboarding. The core schema shift is from JobScore's candidate-centric model (Candidates, Applications, Jobs, Interviews, Scorecards) to BambooHR's employee-centric model (Employees, Job History, Onboarding Packets, Documents). We export the full candidate and application set from JobScore's v2 REST API, resolve the stage mapping (JobScore's five-stage model collapses into BambooHR's Hiring pipeline statuses), and reattach resume and cover letter blobs as BambooHR Employee Documents. Custom application form fields from JobScore become BambooHR custom employee fields. Interview records and scorecards migrate as notes and file attachments. We do not migrate JobScore workflows, email templates, or job board posting configurations; these are documented in a rebuild inventory for your BambooHR admin.

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

JobScore logo

JobScore

What's pushing teams away

  • Customer support is described as 'minimal to borderline nonexistent' in some G2 reviews — phone calls go to voicemail and email response can take ~48 hours, frustrating teams with time-sensitive issues.
  • UI is described as 'clunky' and 'tedious to use' — basic actions like writing interview notes require multiple clicks per reviewer feedback.
  • Reporting and analytics are 'basic' — teams needing custom workforce planning or compliance reports outgrow JobScore's built-in dashboards.
  • Feature gating forces small teams to upgrade — templates, automation, and advanced offer tools sit behind higher plans, which can be painful for lean teams.
  • Additional fees for advanced tech support are documented in reviews — base subscriptions do not include premium support escalations.

Choosing

BambooHR logo

BambooHR

What's pulling them in

  • Lowest friction entry point for SMBs moving off spreadsheets — intuitive interface means most teams are functional within days, not weeks.
  • Consolidation value: BambooHR merges ATS, onboarding, HR records, time-off, and payroll into a single pane of glass that employees never need to leave.
  • Volume discounts applied automatically by headcount, so pricing scales predictably as the company grows without renewal negotiations.
  • BambooHR reports most customers go live in four to six weeks, making it a realistic commitment for under-resourced HR teams.
  • Award-winning Support Heroes cited frequently in reviews — responsive human support after implementation is a differentiator.

Object mapping

How JobScore objects map to BambooHR

Each row shows how a JobScore object lands in BambooHR, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

JobScore

Candidate

maps to

BambooHR

Employee

1:1
Fully supported

JobScore Candidate records map to BambooHR Employee records. Core fields (firstName, lastName, email, phone, address) migrate directly. Date fields (dateOfBirth, hireDate) map from JobScore's candidate birth date and accepted offer date. Ethnicity and gender migrate to BambooHR EEO fields if the destination account has EEO enabled. We reattach the candidate's resume and cover letter as Employee Document records under a 'Documents from JobScore' folder, matching the folder naming convention used by the native integration.

JobScore

Application

maps to

BambooHR

Hiring Candidate

lossy
Fully supported

JobScore Applications (the join table between Candidate and Job) map to BambooHR's Hiring module. The application date becomes the candidate submission date in BambooHR's hiring pipeline. JobScore stage history (New, Active, Declined, Withdrawn, Hired) maps to BambooHR Hiring Status values. Custom application form field responses stored at the Application level migrate as BambooHR custom employee fields with types preserved (text, date, dropdown, checkbox).

JobScore

Job

maps to

BambooHR

Job Opening

1:1
Fully supported

JobScore published Jobs map to BambooHR Job Openings. Only published jobs appear in JobScore's API and job feeds — we scope the export to the published set and flag any Draft or Unpublished jobs for manual capture. Job title, location, and department migrate to BambooHR's Job Opening fields. Active vs filled vs closed status maps to BambooHR's open/closed Hiring status.

JobScore

Interview

maps to

BambooHR

Note (on Employee record)

1:1
Fully supported

JobScore Interview records (date, interviewer assignment, interview type, outcome) have no direct BambooHR object equivalent. We migrate interviews as structured notes on the Employee record, preserving the date, interviewer name, interview type, and outcome text. This keeps interview history accessible on the employee profile in BambooHR after migration.

JobScore

Scorecard

maps to

BambooHR

Note or Document (on Employee record)

1:1
Fully supported

JobScore Scorecards (interviewer ratings, comments, and evaluation forms) have no direct BambooHR object equivalent. We export scorecard data as structured notes or as PDF file attachments on the Employee record, depending on whether the scorecard contains rich formatting. The parent Interview reference is embedded in the note body so the evaluation chain is reconstructable.

JobScore

Custom Application Form

maps to

BambooHR

Custom Employee Field

lossy
Fully supported

JobScore custom application form fields (created per job) store responses at the Application level. We extract the full custom field schema from the source account, map field types to their nearest BambooHR custom employee field equivalents (text, date, dropdown, checkbox, number), and pre-create the custom fields in BambooHR before application data loads. Dropdown values migrate as list options.

JobScore

Tag

maps to

BambooHR

Custom Employee Field (text)

lossy
Fully supported

JobScore Tags are freeform labels applied to Candidates with unlimited tagging. We extract all tag associations and store them as a comma-separated text field on the Employee record in BambooHR. For customers with fewer than 50 distinct tags, we evaluate whether a multi-select picklist is feasible based on BambooHR's field type support.

JobScore

Location

maps to

BambooHR

Location

1:1
Fully supported

JobScore Location records (address, city, state, country) map directly to BambooHR Locations. Location is assigned at the Job level in JobScore and at the Employee level (via Job Info) in BambooHR. We map JobScore Locations to their BambooHR equivalents during job migration and attach the correct location to the corresponding Employee record post-hire.

JobScore

User (Interviewer)

maps to

BambooHR

Employee (BambooHR user)

1:1
Fully supported

JobScore Users assigned as interviewers, owners, or recruiters are mapped by email to BambooHR Employee records. BambooHR uses email as the user identifier. Any JobScore user without a matching BambooHR Employee goes into a reconciliation queue for the customer's admin to provision before record import. We preserve the interviewer assignment on Interview notes migrated to the destination.

JobScore

Document (Resume/Cover Letter)

maps to

BambooHR

Employee Document

1:1
Fully supported

JobScore document blobs (resumes, cover letters) are exported as binary files and reattached to the corresponding BambooHR Employee record. File type (PDF, DOCX, RTF) is preserved. The native integration creates a 'Documents from JobScore' folder — we use the same folder convention to avoid creating duplicate structures. Documents without a matched Employee record are held in a document queue for manual resolution.

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.

JobScore logo

JobScore gotchas

High

Phone-number deduplication silently overwrites candidate records on import

High

Only published jobs surface in the API and job feeds

Medium

Job-count pricing model creates billing risk during high-volume hiring periods

Medium

v2 API rate limits are not publicly documented

Low

Custom workflow stages live only in the Active branch — standard stages are locked

BambooHR logo

BambooHR gotchas

High

Undocumented API rate limits can trigger 503 errors

High

Per-employee pricing model requires active record count verification

Medium

API credentials must be sent on every request to avoid extra round trips

Medium

Custom field schema varies per account and requires manual inventory

Low

Document and attachment exports are not covered by standard report exports

Pair-specific challenges

  • Only published jobs export from JobScore API

    JobScore only exposes published jobs in its v2 REST API and job feeds. Any job saved in Draft or Unpublished status is invisible to both the API and the Job Feed API. Before migration scoping begins, we require the customer to publish all roles they intend to move. We cross-reference the API export against the admin job list to surface any missing jobs. If a customer cannot publish a job before migration, we capture it as a supplementary data package (manual export) and note the gap in the migration manifest.

  • Phone-number deduplication silently overwrites candidates on import

    JobScore deduplicates Candidates by matching phone numbers during bulk imports. When a matching number is found, existing candidate data is overwritten without warning. During migration scoping, we query the full candidate set and flag every record where a phone-number collision exists. For each collision, we present the customer with a documented choice: skip the record, merge fields, or let the overwrite happen. The outcome is recorded in the migration manifest so there is a full audit trail of any data resolved this way.

  • BambooHR has no native interview scheduling or scorecard object

    BambooHR's hiring module supports candidate tracking and onboarding but does not have a first-class Interview or Scorecard object equivalent to JobScore's native Interview and Scorecard records. Interview history and scorecard evaluations are not dropped — we migrate them as structured notes or PDF attachments on the Employee record — but they do not appear as native interview calendar events or rating records in BambooHR. The customer's admin should rebuild interview scheduling through BambooHR's calendar integration or a third-party scheduling tool post-migration.

  • JobScore workflows and email templates do not migrate to BambooHR

    JobScore Workflows (property-triggered automation with stage actions, email triggers, and owner assignments) and email templates (personalized message templates with trigger conditions) have no direct BambooHR equivalent. BambooHR's automation model is task-based rather than workflow-rule-based. We export the full workflow and template inventory as a written document specifying each trigger, condition, action, and a recommended BambooHR replacement approach (task templates, email templates, or onboarding packet tasks). The customer's BambooHR admin rebuilds these post-migration.

  • JobScore v2 API rate limits are undocumented

    JobScore does not publicly document v2 API rate limits, making large migration scoping harder to plan. We assume conservative pacing of 1,000 requests per minute, implement exponential backoff with retry logic, and monitor for 429 responses at runtime. For accounts with more than 50,000 candidate records, we request a rate-limit increase through JobScore support before migration begins. The JobScore-to-BambooHR migration is a pull from JobScore and a push to BambooHR, so the bottleneck is the source-side export rate.

Migration approach

Six steps for a successful JobScore to BambooHR data migration

  1. Discovery and publish-requirement audit

    We audit the source JobScore account: plan tier, candidate count, job count (published vs unpublished), application count, interview and scorecard volume, custom form field schemas, tag taxonomy, and document attachment count. We flag every unpublished job that must be published before migration begins and set a publish deadline. We also review the destination BambooHR account: current employee count, existing custom fields, Hiring module configuration, and location structure. The discovery output is a written migration scope with record counts, a publish checklist, and a custom field schema map.

  2. Schema preparation in BambooHR

    We create the custom employee field schema in BambooHR to receive JobScore custom application form responses. Each JobScore custom field is mapped to a typed BambooHR custom field (text, date, dropdown, checkbox, or number). We also configure the Hiring pipeline statuses to map from JobScore's stage model (New, Active, Declined, Withdrawn, Hired). If the customer uses BambooHR EEO fields, we enable those in the destination account. Location records are pre-created in BambooHR to match JobScore Locations so that Job Opening assignment resolves at migration time.

  3. Candidate and document extraction

    We export JobScore Candidates via paginated v2 REST calls, applying conservative rate-limit pacing. Phone-number collision detection runs against the full candidate set and the collision report is delivered to the customer before data load. Resume and cover letter blobs are exported as binary files, matched to their parent Candidate records by file_id, and staged for reattachment. Interview records and scorecards are extracted as structured JSON and converted to note text or PDF format for destination attachment.

  4. Sandbox migration and reconciliation

    We run a full migration into the customer's BambooHR environment (using a test employee record set if a dedicated sandbox is not available) to validate field mapping, custom field creation, document reattachment, and interview note placement. The customer's HR lead spot-checks 25-50 candidate records against the JobScore source and confirms the custom field values, document filenames, and interview notes are accurate. Any mapping corrections are documented and applied before production migration begins.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Locations (first, as a dependency for Job Openings), Job Openings (published jobs only), Employees (candidate records with hire date and EEO data), Custom Employee Field values (application form responses), Hiring module candidates (application history linked to employees), Interview notes (linked to employees), Scorecard documents (linked to employees), and finally Employee Documents (resumes and cover letters). Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and workflow rebuild handoff

    We freeze JobScore candidate writes during cutover, run a final delta migration of any records modified during the migration window, then mark BambooHR as the system of record. Resume and cover letter document counts are reconciled against the staged file list. We deliver the Workflow and Email Template inventory document to the customer's BambooHR admin team. We support a one-week hypercare window for reconciliation issues. We do not rebuild JobScore workflows or email templates as BambooHR task templates or email templates inside the migration scope; that is documented separately as a rebuild task list.

Platform deep dives

Context on both ends of the pair

JobScore logo

JobScore

Source

Strengths

  • One-click posting to 40+ job boards reduces sourcing overhead for SMB recruiting teams.
  • Unlimited users, candidates, notes, and tags across all plans — no per-seat pricing surprises.
  • Resume parsing and scoring are included natively without requiring a premium add-on.
  • Email and calendar integration (Google and Microsoft) available on Scale tier and above.
  • Built by experienced in-house recruiters — the product reflects deep operational knowledge of hiring workflows.

Weaknesses

  • Pricing scales with the number of open jobs, not headcount — growing hiring velocity increases monthly cost.
  • No public documentation of API v2 rate limits, making large migration scoping harder to plan.
  • Phone-number deduplication on bulk import can silently overwrite existing candidate records.
  • Only published jobs appear in API responses and job feeds — unpublished roles require manual migration.
  • The platform lacks a publicly documented bulk export endpoint; data extraction relies on paginated REST calls.
BambooHR logo

BambooHR

Destination

Strengths

  • Single platform consolidating ATS, onboarding, HR records, payroll, and time-off reduces system sprawl for SMBs.
  • Fast implementation — BambooHR reports four to six weeks from kickoff to go-live for most customers.
  • Per-employee pricing with automatic volume discounts makes cost predictable as headcount grows.
  • Strong customer support reputation (Support Heroes) cited consistently across G2, Capterra, and direct testimonials.
  • Well-documented API with UTF-8 encoding, clear field types, and HTTPS-only access.

Weaknesses

  • Mobile application is significantly limited compared to the desktop experience, frustrating remote and field workers.
  • Companies above 150–200 employees frequently outgrow the platform's feature depth and customization surface.
  • Limited advanced reporting and analytics compared to enterprise HR platforms — custom report building is the ceiling.
  • PTO and profile customization are pain points — non-standard accrual policies and complex org structures require workarounds.
  • Document management and attachment handling lack the granularity of dedicated document-centric HR systems.

Complexity grading

How hard is this migration?

Standard HRMS migration. All 7 core objects map 1:1 between JobScore and BambooHR.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across JobScore and BambooHR.

  • Object compatibility

    A

    All 7 core objects map 1:1 between JobScore and BambooHR.

  • 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

    JobScore: Not publicly documented in v2 docs; v1 showed 3600 req/hr.

  • Data volume sensitivity

    B

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

Estimator

Estimate your JobScore to BambooHR 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 JobScore to BambooHR data migrations

Answers to the questions buyers ask most during JobScore to BambooHR migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your JobScore to BambooHR 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 accounts under 5,000 candidates, 500 jobs, and a straightforward custom field schema. Migrations with large document attachment sets (over 10,000 resume and cover letter files), complex custom application form schemas with 30+ fields, or multiple BambooHR locations move to six to ten weeks because of file extraction, reattachment, and custom field schema validation. The publish-requirement step (getting all target jobs to 'published' status) runs in parallel with scoping and can add one to two weeks if there are many unpublished jobs to address.

Adjacent paths

Related migrations to explore

Ready when you are

Move from JobScore.
Land in BambooHR, 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