HRMS migration

Migrate from Aotal to Recruit CRM & ATS

Field-level mapping, validation, and rollback between Aotal and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.

Aotal logo

Aotal

Source

Recruit CRM & ATS

Destination

Recruit CRM & ATS logo

Compatibility

40%

4 of 10

objects map 1:1 between Aotal and Recruit CRM & ATS.

Complexity

CModerate

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Aotal to Recruit CRM shifts from a New Zealand-focused talent management platform covering the full employment lifecycle (recruitment, onboarding, performance, learning) to a purpose-built recruitment agency CRM and ATS. The schema differences are significant: Aotal models the employment relationship with Employee, Role, Department, and Training Records; Recruit CRM models the recruitment relationship with Candidates, Clients, Jobs, and Placements. We resolve the schema gap during scoping, map historical role and competency data into Recruit CRM custom fields, and preserve effective dates so that a candidate's work history is readable in the new system. Binary documents and signed agreements migrate as attachment documentation rather than converted records, because Aotal's internal formats require case-by-case review. We do not migrate Aotal's onboarding workflows, performance review cycles, or learning module configurations as code; we deliver a written inventory of these for the customer's admin to rebuild in Recruit CRM.

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

Aotal logo

Aotal

What's pushing teams away

  • No publicly listed pricing — pricing requires a sales quote, which is friction for small NZ businesses comparison-shopping against published per-employee SaaS plans.
  • Limited public review footprint compared to global HRIS players — minimal G2/Capterra reviews makes due diligence hard for procurement teams that rely on peer feedback.
  • Regional focus means organizations expanding beyond Australia/New Zealand often outgrow the platform and migrate to global vendors like Workday, SAP SuccessFactors, or BambooHR.
  • Two-product surface area (SnapHire ATS + Talent App Store) can be confusing — customers unsure which product covers a given function may end up duplicating capabilities or buying apps they do not need.
  • Lack of public API documentation makes building custom integrations harder than with platforms that publish OpenAPI specs.

Choosing

Recruit CRM & ATS logo

Recruit CRM & ATS

What's pulling them in

  • Agencies choose Recruit CRM for its full customizability — pipelines, stages, and fields can be tailored to any recruitment workflow without developer involvement.
  • Small teams value the built-in CRM and ATS combined in one subscription, eliminating the need to purchase and sync separate systems.
  • The Chrome extension for one-click LinkedIn profile collection streamlines candidate sourcing and reduces manual data entry for recruiters.
  • Responsive customer support with fast issue resolution is consistently cited as a reason teams stick with the platform long-term.
  • Automation options including email sequences and workflow triggers allow recruitment agencies to reduce repetitive manual outreach tasks.

Object mapping

How Aotal objects map to Recruit CRM & ATS

Each row shows how a Aotal object lands in Recruit CRM & ATS, including any object-level transformations, lookup resolution, or schema-design dependencies.

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

Aotal

Employee

maps to

Recruit CRM & ATS

Candidate

1:1
Fully supported

Aotal Employee records map to Recruit CRM Candidate. We preserve name fields, contact information, employment status, and the original hire date as a custom field. The Employee's effective date on the most recent role assignment becomes the candidate's availability date in Recruit CRM. Any Aotal Employee records flagged as inactive (former employees with no active role) migrate with a status that the customer configures in Recruit CRM (archived candidate or separate pipeline).

Aotal

Role

maps to

Recruit CRM & ATS

Position / WorkHistory custom fields

lossy
Fully supported

Aotal Role records represent job titles and employment terms linked to an Employee. We extract each Role's title, start_date, and end_date and create work history entries on the corresponding Candidate in Recruit CRM as structured custom fields or a related sub-section. Current roles (no end_date) flag as the candidate's most recent position. Multiple sequential roles per employee produce multiple work history entries ordered by effective date.

Aotal

Department

maps to

Recruit CRM & ATS

Organisation / Team

lossy
Fully supported

Aotal Department records map to Recruit CRM Organisation or Team depending on whether the department represents a client organisation or an internal grouping. If the Department references external client companies, we map it to Recruit CRM Organisation with the department name as the Organisation name. Internal departments map to Team. The department hierarchy (parent-child) is preserved as nested Team relationships in Recruit CRM.

Aotal

Training Record

maps to

Recruit CRM & ATS

Candidate Training / Certification fields

1:1
Fully supported

Aotal Training Records linked to an Employee migrate as training and certification entries on the Candidate profile in Recruit CRM. The training name, completion date, expiry date, and certification ID map to corresponding fields. Expired certifications are flagged with a custom status field. Recruit CRM does not have a native training module; we use custom fields on the Candidate record to preserve the certification body and validity period.

Aotal

Performance Cycle

maps to

Recruit CRM & ATS

Candidate custom fields

lossy
Fully supported

Aotal performance review records contain ratings, review dates, and reviewer assignments. We map these to structured custom fields on the Candidate record in Recruit CRM, such as performance_rating__c, last_review_date__c, and reviewer_name__c. Recruit CRM is not an HR performance platform; we flatten multi-cycle performance history into the most recent and highest rating as custom fields rather than preserving a full cycle history.

Aotal

Competency Profile

maps to

Recruit CRM & ATS

Candidate Skills / Competency fields

1:1
Fully supported

Aotal competency profiles store assessed skills and proficiency levels per employee. We map these to Recruit CRM's native Skills fields on the Candidate record (which supports skill names and proficiency ratings as custom fields). Each competency in Aotal becomes a Skill entry in Recruit CRM with the proficiency level stored as a rating or custom field. Competency frameworks that do not map directly to Recruit CRM skill structures are documented for manual configuration review.

Aotal

Onboarding Record

maps to

Recruit CRM & ATS

Candidate Tasks / Notes

lossy
Fully supported

Aotal onboarding records track steps completed during employee onboarding. Recruit CRM does not have a native onboarding module. We migrate onboarding status and completion flags as custom fields on the Candidate record and document the original onboarding step sequence as a note for the customer's admin to rebuild as a Task checklist or as part of a Recruit CRM onboarding pipeline stage. Completed onboarding steps migrate as historical Task records.

Aotal

Custom Talent Fields

maps to

Recruit CRM & ATS

Custom Candidate fields

lossy
Fully supported

Aotal stores module-specific custom fields for talent objects. We audit every custom field during discovery, map them to equivalent custom fields in Recruit CRM, and pre-create the destination schema before migration. Fields without a direct Recruit CRM equivalent are documented with their data type, picklist values, and any conditional logic for manual configuration review before cutover. Custom fields referencing other Aotal objects require lookup resolution during migration.

Aotal

Binary Documents / Signed Agreements

maps to

Recruit CRM & ATS

Document / Attachment reference

1:1
Fully supported

Aotal stores binary documents and signed agreements in formats that require case-by-case review. We do not convert these documents. Instead, we produce a written inventory of every document record: the parent Aotal object, the document type, the storage reference, and the recommended Recruit CRM placement (as an attachment on the corresponding Candidate or Organisation record). The customer's admin reviews and attaches documents manually post-migration, or uploads them via Recruit CRM's document import.

Aotal

Organisation Structure (effective dates)

maps to

Recruit CRM & ATS

Candidate / Organisation effective date fields

lossy
Fully supported

Aotal preserves effective dates on role and department assignments to maintain historical accuracy of org structure. We migrate these dates as custom fields on both the Candidate (role_start_date__c, role_end_date__c) and the Organisation (effective_from__c, effective_to__c) to preserve the employment timeline. This is particularly important for candidates with long work histories where the chronological sequence of roles and departments matters for compliance or credentialing.

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.

Aotal logo

Aotal gotchas

High

Data lives in multiple microservices across the Talent App Store

Medium

SnapHire ATS and Talent App Store are distinct products with different data shapes

Medium

Vendor-assisted extraction is likely required given no public API docs

Recruit CRM & ATS logo

Recruit CRM & ATS gotchas

High

API rate limits are license-scaled and can throttle bulk migration

Medium

Custom field schemas vary per organization and require field-level mapping

Medium

Files and email attachments require separate extraction and re-upload

Low

Email sequences and automation logic do not transfer between platforms

Pair-specific challenges

  • Aotal custom talent fields lack direct Recruit CRM equivalents

    Aotal's strength is its module-specific custom field capability across talent, onboarding, performance, and learning objects. Recruit CRM supports custom fields on Candidate, Client, Job, and Placement, but has no native equivalent for competency frameworks, performance rating scales, or learning module configurations. We audit every custom field during discovery, map them where possible to Recruit CRM custom fields, and flag unmappable fields in a written handoff document. Fields with complex conditional logic or cross-module dependencies require manual configuration in Recruit CRM before cutover. Skipping this audit results in custom talent data being silently dropped or stored in unstructured notes fields.

  • Aotal training records have no native Recruit CRM home

    Aotal's learning module stores training records, certifications, and expiry dates linked to employees. Recruit CRM does not have a learning management or training record module; certifications are stored as custom fields on the Candidate record. We flatten the training history into the most recent and highest-priority certifications, but a full training transcript (multiple courses, completion sequences, expiry schedules) cannot map natively. We document the full training record structure for the customer's admin to decide whether to use Recruit CRM's custom fields extensively or maintain a separate learning record system.

  • Binary documents require manual reattachment post-migration

    Aotal stores binary documents and signed agreements in internal formats that do not export as standard PDFs or Word files. We do not convert these documents. We produce a written inventory of every document record with its parent Aotal object, document type, and storage reference, and we provide the recommended Recruit CRM placement for each. The customer's admin reviews the inventory, extracts or requests the documents from Aotal, and reattaches them to the corresponding Candidate or Organisation record in Recruit CRM. This step cannot be fully automated and adds a manual review phase to the migration timeline.

  • Org-structure dependency order must resolve before record load

    Aotal maintains foreign-key dependencies between Employees, Roles, Departments, and Training Records. Recruit CRM does not enforce these dependencies, but data integrity requires resolving them in the correct order: Departments (or Organisations) must exist before Roles can reference them, and Employees must exist before Training Records can link to them. We sequence the load order explicitly and flag any orphaned records (roles pointing to deleted departments, training records pointing to inactive employees) for reconciliation before final import.

  • Performance cycle history cannot replicate in Recruit CRM

    Aotal performance cycles contain multi-review histories with ratings, goals, and reviewer comments. Recruit CRM is a recruitment ATS and CRM, not an HR performance platform. We migrate the most recent performance rating and review date as custom fields on the Candidate, but the full review history (multiple cycles, goal tracking, development notes) does not have a native home in Recruit CRM. We document the full cycle structure for the customer's HR admin to evaluate whether a separate performance management tool or a Recruit CRM custom object configuration is appropriate post-migration.

Migration approach

Six steps for a successful Aotal to Recruit CRM & ATS data migration

  1. Discovery and custom field audit

    We audit the source Aotal environment across all active modules: employee records, role assignments with effective dates, department hierarchy, training records, performance cycle history, competency profiles, onboarding records, and custom talent fields. We document the data type, picklist values, conditional logic, and cross-module dependencies of every custom field. We extract a full record count per object and identify any records with missing required fields or broken foreign-key references. The discovery output is a written migration scope that includes the object dependency graph, custom field mapping decisions, and the attachment inventory for binary documents.

  2. Schema design and Recruit CRM custom field provisioning

    We design the destination schema in Recruit CRM. This includes provisioning all custom fields identified during discovery (mapped from Aotal custom talent fields, performance fields, and training fields), configuring the Organisation and Team hierarchy to match the Aotal department structure, and setting up Candidate custom fields for role history and competency data. We use Recruit CRM's custom field builder for each object (Candidate, Client, Job, Placement) before any data import. Schema design is validated against a Recruit CRM sandbox or trial account before production deployment.

  3. Attachment inventory and document handoff preparation

    We produce the written inventory of every binary document and signed agreement in Aotal: parent object, document type, storage reference, and recommended Recruit CRM placement. We do not extract or convert the documents during migration. The inventory is handed to the customer's admin team with instructions for manual reattachment post-migration. We verify the inventory completeness against the Aotal attachment count before moving to data migration.

  4. Staging migration and dependency reconciliation

    We run a full migration into a Recruit CRM staging environment using production-like data volume. The customer's team reconciles record counts (Candidates in, Organisations in, Jobs in, Placements in), spot-checks 20-30 random candidate records against Aotal source data, and validates that role history, training records, and competency profiles are readable in Recruit CRM. Any mapping corrections, orphaned records, or missing custom fields are resolved in staging before production migration begins. Data quality issues (duplicates, incomplete records, expired certifications) are flagged and cleaned or documented for exclusion.

  5. Production migration in dependency order

    We run production migration in the resolved dependency order: Organisations (from Aotal Departments), Candidates (from Aotal Employees with role_start_date and competency profile data resolved), Positions and work history entries, Training and certification records, Performance rating fields, Onboarding status and historical tasks, and custom talent fields. Each phase emits a row-count reconciliation report before the next phase begins. We handle Recruit CRM API rate limits with exponential backoff and batch chunking for large record sets.

  6. Cutover, validation, and onboarding workflow handoff

    We freeze Aotal writes during cutover, run a final delta migration of any records modified during the migration window, then enable Recruit CRM as the system of record. We deliver the onboarding workflow inventory document, the performance cycle structure document, and the attachment handoff inventory to the customer's admin team. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild Aotal onboarding workflows, performance review cycles, or learning configurations as Recruit CRM tasks or pipelines; those are separate engagements or internal admin tasks.

Platform deep dives

Context on both ends of the pair

Aotal logo

Aotal

Source

Strengths

  • Local NZ-based vendor with regional support, valued by Aotearoa corporates
  • Microservices model in Talent App Store lets customers buy only the modules they need
  • Broad functional coverage across ATS, onboarding, performance, learning, payroll, time, analytics, benefits, and self-service
  • SnapHire ATS has a long track record in the NZ corporate recruiting market
  • Pre-integrated app architecture reduces typical HR-tech integration headache

Weaknesses

  • No published pricing — every quote is sales-led
  • Limited public review footprint and small community resources
  • Regional focus limits suitability for multi-region/multi-country employers
  • Two-product split (SnapHire + Talent App Store) can confuse buyers
  • Public API documentation is not indexed, complicating custom integration builds
Recruit CRM & ATS logo

Recruit CRM & ATS

Destination

Strengths

  • Fully customizable pipelines, stages, and fields without requiring developer involvement
  • Combines recruitment CRM and ATS in one subscription for staffing agencies and small teams
  • Built-in email sequences and automation reduce manual outreach work
  • Chrome extension enables one-click LinkedIn profile collection directly into the CRM
  • Responsive customer support cited across multiple reviews with fast resolution times

Weaknesses

  • Several features are gated as paid add-ons rather than included in the base subscription
  • Email functionality has been reported as unreliable by multiple users
  • Interface occasionally lags during high-activity periods in large pipelines
  • Pricing is considered higher than comparable recruitment CRMs by some customers
  • Limited native reporting — users request pre-made report exports rather than manual data pulls

Complexity grading

How hard is this migration?

Moderate HRMS migration. 4 of 7 objects need a mapping; the rest are 1:1.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Aotal and Recruit CRM & ATS.

  • Object compatibility

    C

    4 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

    Aotal: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Aotal to Recruit CRM & ATS 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 Aotal to Recruit CRM & ATS data migrations

Answers to the questions buyers ask most during Aotal to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Aotal to Recruit CRM & ATS 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 10,000 employee and candidate records with straightforward role and department structures. Migrations with competency profile histories, multi-level department hierarchies, large training record sets, or extensive custom talent fields move to four to eight weeks because of the schema mapping, dependency resolution, and attachment inventory scope. The discovery and custom field audit typically adds one to two weeks before migration begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Aotal.
Land in Recruit CRM & ATS, 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