HRMS migration
Field-level mapping, validation, and rollback between Breathe and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
Breathe
Source
Crelate
Destination
Compatibility
10 of 12
objects map 1:1 between Breathe and Crelate.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Breathe to Crelate is a platform-type transition, not a同类替换. Breathe is an HR management system built around the Employee as the primary record — absence balances, sickness entries, performance reviews, onboarding tasks, and compensation data all attach to the employee. Crelate is an ATS and recruiting CRM built around the Candidate, Job Order, and Client as primary records; leave management, onboarding workflows, and HR-specific absence types are not native Crelate objects. We extract the full People Data Export from Breathe, map Employee records to Crelate Candidates, preserve absence history and sickness entries as custom fields and notes, transfer remuneration data as candidate custom fields, and document the HR-specific objects (onboarding workflows, performance review templates) that cannot migrate as automation and must be rebuilt in Crelate's workflow system or documented for manual execution. We do not migrate Breathe's document repository because Crelate's document model is attachment-based rather than a structured employee-document store. Workflows, approval chains, and Breathe Learn completion records do not migrate; we deliver a written inventory for the customer's admin to configure in Crelate post-cutover.
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 Breathe object lands in Crelate, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Breathe
Employee
Crelate
Candidate
1:1Breathe Employee records map to Crelate Candidate records. We extract name, contact details, job role, department, start date, employment status, and custom fields from the People Data Export and map them to Crelate's Candidate standard fields (FirstName, LastName, Email, Phone, Address) and custom Candidate fields for role-specific data. The candidate record in Crelate becomes the primary HR record in the destination system. Note that Crelate's Candidate object is optimised for talent acquisition workflows (sourcing, submissions, placements) rather than ongoing employment management; HR administrators should plan for this scope difference.
Breathe
Custom Fields (Employee)
Crelate
Candidate Custom Fields
1:1Breathe custom fields on Employee records migrate to Crelate Candidate custom fields. We extract the field name, data type, and value from the People Data Export and create equivalent Crelate custom fields of matching type (text, number, date, picklist, checkbox) during the pre-migration schema build. Any custom fields referencing non-standard modules or bespoke configurations are flagged during the data audit and documented separately for manual migration if the data is recoverable from the export.
Breathe
Absence / Leave records
Crelate
Candidate Custom Fields + Notes
1:manyBreathe absence records (annual leave, sick leave, other absence types) with dates, types, balances, and approval status merge into the Candidate record as custom fields and dated notes. Leave balances at migration date are stored as custom numeric fields (e.g., annual_leave_remaining__c, sick_leave_taken_ytd__c). Full absence history is preserved as dated notes on the Candidate record with type, date range, and status so that the HR continuity is visible without relying on a native absence management module that Crelate does not provide.
Breathe
Sickness records
Crelate
Candidate Notes
1:1Breathe sickness entries — distinct from standard absence records — migrate as dated notes on the Crelate Candidate record. We preserve dates, reason (where provided), and Fit Note references as note content. Sickness history is not a native Crelate object; the data is preserved as structured notes rather than a typed record, which limits future reporting within Crelate to note content searches rather than sickness-specific dashboards.
Breathe
Performance reviews
Crelate
Candidate Notes + Custom Fields
1:1Breathe performance review records (review cycle, ratings, comments) migrate as notes attached to the Candidate record with the review period and overall rating captured in custom fields. Review templates and the structured rating schema from Breathe are documented in the handoff deliverable so that the customer can recreate review cycles in Crelate's workflow system or a separate HR tool. Crelate does not have a native performance review module; this is an inherent gap for HR-centric use cases.
Breathe
Remuneration / Payroll data
Crelate
Candidate Custom Fields
1:1Breathe's Remuneration Report (salary, additional payments, benefits, auto-enrolment status) migrates as custom fields on the Crelate Candidate record. Fields include current_salary__c, additional_payments__c, benefit_details__c, and auto_enrolment_status__c. Payroll export data from Reports > Payroll exports is extracted as a structured record and mapped accordingly. Note that Crelate does not have a native payroll object; this data serves as candidate compensation history rather than an active payroll record.
Breathe
Onboarding
Crelate
Candidate Notes + Workflow Tasks
1:1Breathe onboarding task lists, document checklists, and workflow step completion status migrate as notes on the Candidate record with a summary of completed and pending items. The onboarding workflow definition itself is a configuration object in Breathe that does not migrate; we deliver a written inventory of the onboarding tasks and their completion status for the customer's admin to rebuild as Crelate workflow tasks or to manage manually. Candidates at the offer or onboarding stage in Breathe become Candidates with onboarding notes in Crelate.
Breathe
Documents (Company and Employee)
Crelate
Not migrated
1:1Breathe stores documents in two silos — Company documents (policies, handbooks, templates) and Employee documents (contracts, certifications, ID records) — with no bulk export API. Documents must be downloaded individually from the UI. We do not migrate documents as part of standard scope because Crelate's attachment model (linked to a specific record) does not support Breathe's dual-silo document structure. We deliver a guided checklist for manual document archiving, prioritising Employee documents (contracts, certifications) that are most critical for HR continuity. Company documents are documented as a separate manual step.
Breathe
Employment history
Crelate
Candidate Notes
1:1Breathe employment history records (job role changes, department transfers, promotions) attach to the Employee record and migrate as dated notes on the Crelate Candidate record. We preserve role title, department, effective date, and any notes from the employment history entry. This preserves the continuity of the employee's internal career record within the candidate timeline.
Breathe
Owner (HR Administrator)
Crelate
Crelate User
1:1Breathe users (HR administrators, managers) referenced on Employee records are mapped to Crelate User records by email match. We extract distinct owner references from the People Data Export and reconcile against the destination Crelate tenant's user list. Any Breathe user without a matching Crelate User is held in a reconciliation queue for the customer's admin to provision before migration resumes. Owner assignments on absence records and onboarding tasks resolve through this user mapping.
Breathe
Breathe Learn (training records)
Crelate
Candidate Notes
1:1Breathe Learn completion records (GDPR awareness, health and safety compliance training) may not be included in the standard People Data Export if the customer is on a lower Breathe tier. We audit the export during scoping and flag any missing training modules. Where data is available, completion records migrate as notes on the Candidate record with course name, completion date, and status. Compliance training documentation that requires audit evidence should be archived separately from the Crelate migration as part of the manual document step.
Breathe
Tier-gated modules (Insights, advanced reporting)
Crelate
Documented gap
lossyOrganisations on Breathe lower tiers may have advanced reporting, Insights dashboards, and API access points restricted or unavailable. We review the customer's current Breathe tier during scoping and request exports from the appropriate licensed module. Any data that is tier-gated and unavailable for export is documented as a gap in the migration scope and listed in the handoff deliverable so that the customer can evaluate whether the equivalent functionality is available in Crelate or requires a separate tool.
| Breathe | Crelate | Compatibility | |
|---|---|---|---|
| Employee | Candidate1:1 | Fully supported | |
| Custom Fields (Employee) | Candidate Custom Fields1:1 | Fully supported | |
| Absence / Leave records | Candidate Custom Fields + Notes1:many | Fully supported | |
| Sickness records | Candidate Notes1:1 | Fully supported | |
| Performance reviews | Candidate Notes + Custom Fields1:1 | Mapping required | |
| Remuneration / Payroll data | Candidate Custom Fields1:1 | Mapping required | |
| Onboarding | Candidate Notes + Workflow Tasks1:1 | Mapping required | |
| Documents (Company and Employee) | Not migrated1:1 | Not supported | |
| Employment history | Candidate Notes1:1 | Fully supported | |
| Owner (HR Administrator) | Crelate User1:1 | Fully supported | |
| Breathe Learn (training records) | Candidate Notes1:1 | Fully supported | |
| Tier-gated modules (Insights, advanced reporting) | Documented gaplossy | 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.
Breathe gotchas
No bulk document export — manual download required
No direct migration path between Breathe accounts
People Data Export may omit data in non-standard modules
Leave balance carry-forward requires manual verification
Tier-gated features may limit export coverage
Crelate gotchas
120 req/min API rate limit throttles bulk migrations
20 custom field per-entity cap forces data model decisions
15,000-record export ceiling on single operations
Sequences and automation workflows do not migrate
API key is a querystring parameter, not a header
Pair-specific challenges
Migration approach
Discovery and tier audit
We audit the source Breathe account across tier (Starter/Professional/Enterprise), active modules (onboarding, Breathe Learn, performance reviews, payroll exports), custom fields, absence history volume, document count across Company and Employee sections, and any known data in non-standard modules. We cross-reference the module list against the customer's Breathe tier to identify any tier-gated exports that require a pre-migration upgrade or a documented scope gap. The discovery output is a written migration scope document listing every object, its export method, its Crelate destination, and any gaps requiring manual work or pre-migration configuration.
Crelate schema build and custom field provisioning
We build the destination Crelate schema before any data loads. This includes provisioning all custom Candidate fields needed for absence balances, sickness history, remuneration data, performance review ratings, and employment history notes. We also configure the Crelate user list by matching Breathe owners (HR administrators, managers) to Crelate Users by email. Any Crelate User without a matching Breathe owner goes to a reconciliation queue for the customer's admin to provision before migration begins. The schema is built in a Crelate sandbox or test environment for validation before production migration.
Data export and pre-migration audit
We extract the People Data Export from Breathe as the migration anchor. We perform a row-count reconciliation against the customer's employee count, cross-referenced against absence records, sickness entries, and remuneration report rows. We audit the export for any missing modules or data anomalies (incomplete date fields, absent custom field values, records in non-standard modules). Any gaps are documented and escalated to the customer before we proceed to the transform phase. We also begin the document archive checklist in parallel with customer staff to initiate the manual document download workstream.
Data transform and leave balance verification
We transform Breathe data into Crelate-ready format: Employees map to Candidates with standard field mapping and custom field population; absence records merge into candidate-level custom fields and dated notes; sickness history becomes structured notes; remuneration data loads into compensation custom fields; performance review history becomes notes with ratings in custom fields; employment history becomes dated notes. We run the leave balance verification step — extracting entitlement settings and approval records independently, computing expected balances, and comparing against pre-calculated balance fields — and load verified values rather than raw export figures.
Test migration and reconciliation
We run a full migration into a Crelate test environment using production-like data volume. The customer's HR lead reconciles record counts (Candidates in, absence notes in, sickness notes in, compensation fields populated), spot-checks 25-50 random candidate records against the Breathe source export, and reviews the leave balance figures for accuracy. Any mapping corrections, missing fields, or data anomalies are resolved in the test environment before production migration begins. This step typically takes three to five business days and is a prerequisite for production cutover.
Production migration and cutover
We run production migration in dependency order: Crelate Users validated first, then Candidates with custom fields and absence, sickness, remuneration, performance review, and employment history notes. We freeze writes to Breathe during cutover, run a final delta migration of any records modified during the migration window, then confirm Crelate as the system of record for the migrated HR data. We deliver the onboarding workflow inventory, performance review template documentation, and document archive completion checklist as the handoff deliverables. We support a three-day hypercare window for reconciliation issues; we do not provide ongoing admin support or workflow rebuild as part of standard migration scope.
Platform deep dives
Breathe
Source
Strengths
Weaknesses
Crelate
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 Breathe and Crelate.
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
Breathe: Not publicly documented.
Data volume sensitivity
Breathe 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 Breathe to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your Breathe to Crelate migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Breathe
Other ways to arrive at Crelate
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.