HRMS migration

Migrate from Breathe to Zoho Recruit

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

Breathe logo

Breathe

Source

Zoho Recruit

Destination

Zoho Recruit logo

Compatibility

83%

10 of 12

objects map 1:1 between Breathe and Zoho Recruit.

Complexity

BStandard

Timeline

2-3 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Breathe to Zoho Recruit is an HR-to-ATS migration that requires careful object-model reconciliation because Breathe is structured around the Employee as the primary HR record, while Zoho Recruit's primary model centres on Candidates, Job Openings, and the hiring pipeline. We map Breathe Employee records to Zoho Recruit Candidates and the Corporate HR Department structure, transfer Absence and sickness histories into custom fields or Note records where no native equivalent exists, and preserve employment start dates, job roles, and salary data in typed Zoho Recruit fields. Documents (Company and Employee) cannot be bulk-exported from Breathe's UI and must be archived manually before migration; Zoho Recruit's Document Library accepts file attachments post-import. Workflows, Breathe Learn compliance training completions, and onboarding task definitions are configuration artefacts that do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Zoho Recruit'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

Breathe logo

Breathe

What's pushing teams away

  • Organisations with more than 200 employees report that Breathe lacks the advanced HR features — including rich performance management, payroll integration depth, and configurable workflows — needed for complex operations.
  • Users on G2 and Capterra describe the interface as not user-friendly, with continued usability issues that persist across updates, making day-to-day navigation frustrating for HR administrators.
  • Reviewers who switched away cite limited customisation: custom fields are supported but the platform does not expose a flexible object model for building custom workflows or integrating with non-standard HR processes.
  • Absence reports and advanced analytics require higher tiers or add-on modules, and the reporting interface lacks the drill-down capabilities that growing HR teams expect from modern platforms.

Choosing

Zoho Recruit logo

Zoho Recruit

What's pulling them in

  • Lowest cost entry point of any major ATS — a free tier with Candidates, Clients, Contacts, Interviews, and a career site lets small teams validate before committing to a paid plan.
  • Deep Zoho ecosystem integration — if the team already uses Zoho CRM, Sheets, or Analytics, candidate data flows between modules without re-keying or third-party middleware.
  • Customizable pipelines and stages — both agency and corporate editions let users define custom pipeline stages and assign candidates through drag-and-drop visual boards.
  • AI-assisted features via Zia — resume parsing, candidate summarization, and job-candidate matching are built in on paid tiers, reducing manual screening time.
  • Job board aggregation at no extra cost — paid tiers include postings to major job boards, extending reach without purchasing separate job ad bundles.

Object mapping

How Breathe objects map to Zoho Recruit

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

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

Breathe

Employee

maps to

Zoho Recruit

Candidate and Contact

1:1
Fully supported

Breathe Employee records map to Zoho Recruit Candidates in the first instance, with the option to convert to Contact (Corporate HR mode) once hired. We preserve name fields, contact details (email, phone), address, job title, department, employment start date, employment status, and salary band in typed Zoho Recruit fields. The Employee ID from Breathe is stored as a custom field for audit traceability. Custom fields on the Employee record (Professional tier and above) map to Zoho Recruit custom fields with type matching (text, picklist, date, number). Department structure from Breathe maps to Zoho Recruit's Departments module.

Breathe

Custom Fields

maps to

Zoho Recruit

Custom Fields

1:1
Mapping required

Breathe custom fields on the Employee record migrate to Zoho Recruit custom fields on the Candidate or Contact module. We extract field names and data types from the People Data Export, provision equivalent custom fields in Zoho Recruit via Setup > Customization > Modules before import, and map values during the CSV load. Multi-select picklist values from Breathe map to Zoho Recruit multi-select picklists; date fields map to date fields; numeric fields map to numeric fields. Note that custom fields are unavailable on Zoho Recruit's Free Edition; we recommend Standard tier ($25/recruiter/month) as the minimum for organisations with active custom field requirements.

Breathe

Absence / Leave records

maps to

Zoho Recruit

Custom Fields or Note records

1:many
Fully supported

Breathe's native Absence module (annual leave, sick leave, other leave types) has no direct Zoho Recruit equivalent. We handle this by creating a custom Absence History section on the Candidate or Contact record using custom fields for balance totals per leave type, and attaching structured Note records per absence entry with dates, type, and approval status. Leave entitlement settings migrate as typed custom fields. Balance carry-forward requires manual verification against the source export at the point of migration; we compute expected balances from entitlement settings and approval records rather than relying on pre-calculated fields alone.

Breathe

Sickness records

maps to

Zoho Recruit

Custom Fields on Candidate or Note records

1:1
Fully supported

Breathe sickness entries are a distinct record type linked to employees. We migrate sickness history as structured Note records attached to the Candidate or Contact, with key fields (sick dates, Fit Note reference where present, return-to-work date) captured in custom fields on the Note or as separate custom fields on the parent record. Fit Note attachments (PDFs) must be downloaded manually from Breathe's UI and re-uploaded to Zoho Recruit's Document Library post-import.

Breathe

Performance reviews

maps to

Zoho Recruit

Notes or custom module

1:1
Mapping required

Breathe's performance review module (Professional tier and above) stores review cycles, ratings, and reviewer comments. We extract historical review records and map them to Zoho Recruit Notes attached to the Candidate or Contact, preserving review date, overall rating, and reviewer name. Custom rating scales from Breathe map to Zoho Recruit picklist values, with a mapping table documented during scoping. Review template definitions are configuration artefacts that do not migrate; we document the template structure for the customer's admin to rebuild in Zoho Recruit.

Breathe

Onboarding

maps to

Zoho Recruit

Tasks and Notes

1:1
Mapping required

Breathe onboarding records track new-hire setup tasks, pending documents, and workflow step completion. We extract the task list and completion status as Zoho Recruit Tasks attached to the Candidate or Contact record, with task names and due dates preserved. Onboarding workflow definitions are configuration artefacts; we deliver a written inventory of active onboarding tasks and their completion status for the customer's admin to rebuild in Zoho Recruit's workflow rules or as a Task template.

Breathe

Remuneration / Payroll data

maps to

Zoho Recruit

Custom Fields on Candidate or Contact

1:1
Mapping required

Breathe's Remuneration Report (salary, additional payments, benefits, auto-enrolment) migrates to Zoho Recruit custom fields on the Candidate or Contact record. Salary fields map to currency fields, benefit flags map to checkbox fields, and auto-enrolment status maps to a picklist. We extract payroll data from Reports > Payroll exports and load it as structured rows during the main Employee migration phase. Note that Zoho Recruit does not have a native payroll module; payroll data is stored as reference fields rather than in a dedicated payroll object.

Breathe

Company Documents

maps to

Zoho Recruit

Document Library (manual)

1:1
Fully supported

Breathe Company-level documents (policies, handbooks, templates) are stored in a separate section from Employee documents and cannot be bulk-exported via API. We flag this as a manual step requiring the customer to download documents from Breathe's Company > Company documents section before the migration date. Downloaded files are uploaded to Zoho Recruit's Document Library under the appropriate module post-import. We provide a guided checklist of document sections to visit.

Breathe

Employee Documents

maps to

Zoho Recruit

Attachments on Candidate or Contact

1:1
Fully supported

Breathe Employee documents (contracts, certifications, ID documents) are stored per employee in the Profile > More > Documents section with no bulk export endpoint. We flag this as a manual archiving step at the scoping stage, provide a checklist of the UI sections to visit, and coordinate with the customer to complete downloads before migration. Individual files are attached to the corresponding Candidate or Contact record in Zoho Recruit post-import. This step is a common source of delay; we advise beginning document archiving four to six weeks before the planned migration date.

Breathe

Department

maps to

Zoho Recruit

Departments

1:1
Fully supported

Breathe's organisational structure (departments and reporting lines) maps to Zoho Recruit's Departments module in Corporate HR mode. We extract the department hierarchy from the People Data Export and create matching Department records in Zoho Recruit before Employee migration begins, ensuring that the department lookup on each Candidate or Contact record can be resolved at insert time.

Breathe

Owner / HR Admin

maps to

Zoho Recruit

Users

1:1
Mapping required

Breathe users who administer HR records map to Zoho Recruit User accounts. We resolve owners by email match. Any Breathe user without a matching Zoho Recruit User account is held in a reconciliation queue for the customer's admin to provision before Candidate and Contact import resumes. Inactive users are mapped to inactive Zoho Recruit User records to preserve assignment history.

Breathe

Breathe Learn (compliance training)

maps to

Zoho Recruit

Not applicable

lossy
Fully supported

Breathe Learn completion records (GDPR awareness, health and safety compliance training) are not supported by a direct Zoho Recruit equivalent. Zoho Recruit has no native learning management module. We document the completion status of each employee at migration time as a structured data deliverable (CSV), and the customer configures compliance tracking in Zoho Recruit custom fields or integrates a dedicated L&D platform post-migration. We do not migrate training content or course definitions as these are not data records.

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.

Breathe logo

Breathe gotchas

High

No bulk document export — manual download required

High

No direct migration path between Breathe accounts

Medium

People Data Export may omit data in non-standard modules

Medium

Leave balance carry-forward requires manual verification

Low

Tier-gated features may limit export coverage

Zoho Recruit logo

Zoho Recruit gotchas

High

Daily API rate limits are tier-gated and per-user capped

High

User import hard cap of 2,000 records

Medium

Attachment folder hierarchy must be preserved exactly

Medium

Resume parsing quota varies by plan and resets daily

Low

Custom fields unavailable in Free and Standard editions

Pair-specific challenges

  • No native Absence module in Zoho Recruit

    Breathe's Absence module with balance tracking, leave type categorisation, and approval status has no direct equivalent in Zoho Recruit. We handle this by mapping absence histories to a combination of custom fields (balance totals per type) and Note records (individual entries). This means absence management in Zoho Recruit will be record-based rather than a native leave management system. The customer's HR team will need to adjust absence-tracking workflows post-migration, and any Breathe absence approval automation must be rebuilt in Zoho Recruit's workflow rules or documented for manual handling.

  • No bulk document export from Breathe

    Breathe does not expose a bulk document export endpoint via its API. Company documents and Employee documents must be downloaded one-by-one from the UI, which is time-consuming for organisations with hundreds of employee records. We advise customers to begin document archiving four to six weeks before the planned migration date and provide a guided checklist of the Company > Company documents and Profile > More > Documents sections to visit. This step is the most common source of migration delay and must be treated as a parallel workstream, not a post-migration task.

  • Custom fields unavailable on Zoho Recruit Free Edition

    Zoho Recruit's Free Edition (Forever Free) does not support custom fields, which means Breathe custom fields on Employee records cannot be migrated to a Free-tier Zoho Recruit account. We recommend Standard tier ($25/recruiter/month) as the minimum for any migration involving custom fields. Organisations on Professional or Enterprise Breathe tiers with active custom field usage must confirm their Zoho Recruit destination edition before migration scoping begins. Custom field limits also vary by tier: 50 per module on Standard, 300 per module on Professional.

  • Breathe Learn compliance records have no Zoho Recruit equivalent

    Breathe Learn (GDPR awareness, health and safety compliance training) completion records are not transferable to Zoho Recruit because Zoho Recruit has no native learning management module. We extract completion status as structured data and deliver it as a CSV alongside the migration, but the customer's admin must configure compliance tracking in Zoho Recruit custom fields or select a separate L&D platform post-migration. Training content and course definitions are not data records and are excluded from migration scope.

  • People Data Export may omit non-standard module data

    The People Data Export packages the core employee dataset, but Breathe Learn completion records, custom third-party add-ons, and data in bespoke custom fields created outside the standard framework may not be included in the standard export. We perform a pre-migration data audit against the customer's module list and flag any modules that require additional extraction steps before we can guarantee full coverage. Tier-gated features (Advanced Reporting, Insights dashboards) on lower Breathe tiers may also limit the export scope; we review the customer's tier during scoping and request exports from the appropriate licensed module.

Migration approach

Six steps for a successful Breathe to Zoho Recruit data migration

  1. Discovery and edition alignment

    We audit the source Breathe account across tier (Starter/Professional/Enterprise), active modules, employee record count, custom field definitions, absence history volume, and document attachment count. We pair this with a Zoho Recruit edition assessment: Standard ($25/recruiter/month) covers custom field migrations and standard reports; Professional ($50/recruiter/month) is required for custom reports, advanced analytics with Zoho Analytics, and higher custom field limits (300 per module); Enterprise ($75/recruiter/month) adds custom roles, blueprints, and staffing portals. The discovery output is a written migration scope and a Zoho Recruit edition recommendation.

  2. Document archiving kickoff

    We deliver a guided checklist of all Breathe document sections (Company > Company documents and Profile > More > Documents per employee) and set a document archive deadline four to six weeks before the planned migration date. The customer's HR team completes manual downloads in parallel. We do not begin migration data processing until the document archive is complete or a written waiver acknowledging the limitation is received from the customer.

  3. Schema provisioning and custom field setup

    We provision the destination Zoho Recruit schema before any data import. This includes creating Department records from the Breathe organisational structure, provisioning custom fields on the Candidate and Contact modules to receive Breathe Employee custom fields, Absence histories, sickness records, and remuneration data, and configuring the Zoho Recruit Corporate HR module settings. Custom fields are deployed in a Sandbox or staging Zoho Recruit account first for validation.

  4. Sandbox migration and reconciliation

    We run a full migration into a Zoho Recruit Sandbox using production-like data volume. The customer's HR lead reconciles record counts (Employees in, Candidates out, Departments in), spot-checks 25-50 random records against the Breathe source export, and signs off the schema and field mapping before production migration begins. Any field type corrections or missing custom field definitions are addressed here, not in production.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Departments first (resolved by all downstream records), then Candidate and Contact records (with Employee data, custom fields, and department lookup resolved), Absence history as Note records and custom fields, sickness history, performance review Notes, remuneration data, and onboarding Tasks. Owner and HR admin resolution by email match occurs before record import resumes. Document attachments are uploaded after record migration using the archived files from the document archiving step.

  6. Cutover, validation, and configuration handoff

    We freeze Breathe as the system of record during cutover, run a final reconciliation pass to confirm all expected records are present in Zoho Recruit, and enable Zoho Recruit as the active system. We deliver a written inventory of active Breathe onboarding task definitions, Breathe Learn compliance training records, and absence approval workflows that require rebuild in Zoho Recruit. We support a one-week hypercare window for reconciliation issues. Workflow rebuilds, onboarding task template recreation, and L&D platform selection are outside migration scope.

Platform deep dives

Context on both ends of the pair

Breathe logo

Breathe

Source

Strengths

  • Transparent per-employee pricing with no hidden fees for core HR features
  • Covers the full SME HR lifecycle — onboarding, absence, performance, documents — in one platform
  • Breathe Learn satisfies standard compliance training (GDPR, health and safety) out of the box
  • Clear tiered feature table published publicly, simplifying purchase decisions
  • Document storage for both company-wide and employee-specific records is integrated rather than requiring a separate DMS

Weaknesses

  • Limited scalability: customers report Breathe works well only up to approximately 200 employees, after which advanced HR features are insufficient
  • No direct migration tool between two Breathe accounts; customers must export manually and re-import
  • Interface usability issues cited by multiple G2 reviewers as a persistent pain point
  • Bulk document export is not available via API; documents must be downloaded individually from the UI
  • Advanced analytics, custom reports, and payroll integration depth are tier-gated add-ons rather than core features
Zoho Recruit logo

Zoho Recruit

Destination

Strengths

  • Free tier includes full candidate management with a hosted career site, making it viable for very small staffing operations.
  • Multi-edition architecture splits agency and corporate HR workflows, with tier-gated features that scale predictably with headcount.
  • Per-user API rate limits (500–1000/day) are generous for mid-size migrations compared to competitors that gate by total org quota.
  • Zoho's own data migration tool supports CSV import from Bullhorn, CATS, Jobdiva, and Workable, validating interoperability with common ATS formats.
  • 45-day money-back guarantee and 15-day full-feature trial reduce financial risk for teams evaluating the platform.

Weaknesses

  • Free edition excludes custom fields, lookup relationships, and formula fields, making data model extensibility unavailable until a paid tier is purchased.
  • Resume parsing quotas are capped: 250/day on Standard, 500/day on Professional, unlimited only on Enterprise — bulk imports of large candidate pools will hit these limits.
  • No bulk/batch API endpoint for inserts or updates — large migrations rely on looping single-record API calls within daily rate limit windows.
  • Custom modules cannot be imported from external ATS; only standard modules (Users, Candidates, Clients, etc.) are in the supported migration list.
  • Attachments require a rigid folder hierarchy to re-associate with records, and any deviation in folder structure during extraction causes silent disassociation.

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 Breathe and Zoho Recruit.

  • 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

    Breathe: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Breathe to Zoho Recruit 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 Breathe to Zoho Recruit data migrations

Answers to the questions buyers ask most during Breathe to Zoho Recruit migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Breathe to Zoho Recruit 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 three weeks for accounts under 500 employees with no active Absence history export and a clean document archive already in place. Migrations with full absence and sickness histories, Breathe Learn completion record extraction, complex custom field sets, or organisations with over 500 employee records move to four to eight weeks because of the data audit work, custom field provisioning, and document archiving coordination that must run in parallel.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Breathe.
Land in Zoho Recruit, 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