CRM migration

Migrate from Axelor CRM to Freshsales

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

Axelor CRM logo

Axelor CRM

Source

Freshsales

Destination

Freshsales logo

Compatibility

83%

10 of 12

objects map 1:1 between Axelor CRM and Freshsales.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Axelor CRM to Freshsales is a migration from a J2EE open-source platform with XML-defined domain models to a SaaS-first CRM with native AI capabilities and a documented REST API. Axelor organizes contacts as Third Parties (persons and organizations combined) with a Lead → Third Party → Opportunity pipeline, while Freshsales separates Leads, Contacts, and Accounts with a Deal object for pipeline management. The primary technical challenge is translating Axelor's XML-defined Studio custom objects and its many-to-many Lead-Agency routing concept into Freshsales' standard object model. Axelor's BPM workflows store automation logic as application configuration and do not export as data records; we document every workflow for your admin to rebuild in Freshsales. We do not migrate workflows, automations, or reporting dashboards as code.

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

Axelor CRM logo

Axelor CRM

What's pushing teams away

  • Functional coverage gaps in niche areas like event management and training module capabilities, pushing specialized teams toward purpose-built solutions.
  • Technical knowledge required for installation and ongoing configuration, making it less accessible for non-technical admin teams compared to SaaS-first alternatives.
  • Graphic style customization is intentionally limited; teams wanting full UI theming or brand-aligned interfaces report frustration with the constrained styling options.
  • Support ecosystem relies heavily on partner integrators in markets outside France, making local expertise scarce and increasing implementation costs for international teams.

Choosing

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How Axelor CRM objects map to Freshsales

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

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

Axelor CRM

Lead

maps to

Freshsales

Lead

1:1
Fully supported

Axelor Leads map directly to Freshsales Leads with the original lead source, status, and assigned owner preserved. The Axelor Lead record is the entry point in both systems' pipeline models. Lead creation dates and last modified timestamps transfer to Freshsales' created_at and updated_at fields. If the customer used the 'Manage recurrent revenue on opportunities' setting, that configuration is evaluated at the Opportunity level rather than Lead.

Axelor CRM

Third Party (Person)

maps to

Freshsales

Contact

1:1
Fully supported

Axelor Third Parties with type 'person' map to Freshsales Contact. We resolve the parent-child Contact-to-Third-Party relationship during migration by matching the Contact's email address or full name against the Third Party record, then create the Contact with the parent Third Party's organization data as the Contact's Account field in Freshsales.

Axelor CRM

Third Party (Organization)

maps to

Freshsales

Account

1:1
Fully supported

Axelor Third Parties with type 'company' or 'organization' map to Freshsales Account. Company name, website, address fields, and industry classification migrate directly. The Account record is created before any Contact import so that the Contact-Account lookup relationship is satisfied at the moment of Contact insert.

Axelor CRM

Contact (linked child)

maps to

Freshsales

Contact

1:1
Fully supported

Axelor Contacts are distinct from Third Parties and link to a parent Third Party. We preserve the parent-child relationship by resolving the parent Third Party to its Freshsales Account equivalent at migration time, then writing the Contact record with the AccountId populated. If the parent Third Party is a person-type record, we create the Account first from the parent organization name before inserting the Contact.

Axelor CRM

Opportunity

maps to

Freshsales

Deal

1:1
Fully supported

Axelor Opportunities map to Freshsales Deals. The Opportunity name, amount, stage, expected close date, and probability migrate directly. Axelor's stage sequence maps to Freshsales Deal stages, and we configure the Freshsales pipeline stages during schema setup before migration. If the 'Manage recurrent revenue on opportunities' setting is active, we detect the recurring amount and period fields during scoping and create matching custom fields on the Deal object.

Axelor CRM

Lead Agency

maps to

Freshsales

Tag

lossy
Fully supported

Axelor's Lead-to-Agency routing is a many-to-many relationship between Leads and Agencies. Freshsales has no native Agency object, so we create a Tag for each unique Agency record, then apply those Tags to the corresponding Lead records in Freshsales. The junction export (Lead ID to Agency ID mapping) is generated during the Axelor data extract and applied as Tag assignments during migration. Agencies that represent a team or territory map conceptually to Freshsales' Sales Team or Territory fields if the customer licenses the Enterprise tier.

Axelor CRM

Agency

maps to

Freshsales

Tag (organization level)

lossy
Fully supported

Axelor Agency records represent routing units or partner organizations. We export all Agencies as Tags with a naming prefix (e.g., 'Agency: [name]') so they are visually distinguishable from other tags in Freshsales. If the customer used Agencies to segment their partner or reseller network, the Tag preserves that segmentation for reporting and assignment rules in Freshsales.

Axelor CRM

Catalogue

maps to

Freshsales

Attachment or Note

1:1
Fully supported

Axelor PDF catalogues are linked metadata records attached to Third Parties. We extract catalogue metadata (title, description, file reference) and create Freshsales Note records on the corresponding Account or Contact. The actual binary PDF files require separate file-transfer handling outside the API migration scope; we provide guidance on the file storage location and a recommended file transfer method for the customer's IT team.

Axelor CRM

Custom Object (Studio)

maps to

Freshsales

Custom Object

1:1
Fully supported

Axelor Studio creates entirely new objects defined in XML and compiled to JPA models. We inspect the XML model definitions during the scoping phase to infer field names, data types, and relationships. The destination Freshsales custom object is pre-created before migration with matching field names and types. Custom object relationships (lookups to standard objects) are configured as Freshsales lookup fields. If the custom object references other custom objects, we resolve the creation order to satisfy foreign key constraints during import.

Axelor CRM

Recurrent Revenue Fields

maps to

Freshsales

Custom Fields on Deal

1:1
Mapping required

The recurring revenue fields on Axelor Opportunities (expected recurring amount and default recurring period) are only present when the 'Manage recurrent revenue on opportunities' checkbox is activated in Axelor CRM settings. We detect this configuration during scoping by inspecting the Opportunity XML schema for the recurring revenue fields. If present, we create matching custom fields in Freshsales Deals (recurring_amount__c, recurring_period__c) before migration and transfer the values.

Axelor CRM

BPM Workflow

maps to

Freshsales

(Documentation only)

1:1
Fully supported

Axelor BPM workflows store automation logic as application configuration in the Studio and J2EE deployment layer. The AppLoader can package DMN models as XML for deployment, but this is application deployment, not data migration. We do not migrate BPM workflows. We inspect the Axelor application configuration during scoping, document every identified workflow trigger, condition, and action as a written specification, and deliver that document to the customer for rebuild in Freshsales' workflow automation builder.

Axelor CRM

Document/Attachment

maps to

Freshsales

Attachment

1:1
Fully supported

Axelor DMS stores documents linked to CRM records (Leads, Third Parties, Opportunities). Binary attachments export separately from data records. We extract document metadata (filename, DMS reference, linked record type and ID) and include it in the migration scope as Freshsales Attachment records linked to the migrated record via the Freshsales API. The actual binary files require separate file-transfer handling outside the standard migration scope.

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.

Axelor CRM logo

Axelor CRM gotchas

High

Version-to-version migration breaks schema and workflows

High

BPM workflows and business rules do not export as data

Medium

No publicly documented API rate limits or developer portal

Medium

Custom Studio objects have no standard export format

Low

Recurrent revenue fields are configuration-dependent

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • BPM workflows do not export as data records

    Axelor's BPM engine stores workflow logic as application configuration tied to the Studio module and J2EE deployment, not as records in the database. The AppLoader can package DMN models as XML for application deployment, but this is not a data export in the migration sense. We do not migrate BPM workflows. Every identified Axelor BPM workflow is documented as a written specification with its trigger, conditions, actions, and recommended Freshsales workflow automation equivalent. The customer's admin rebuilds the automation logic in Freshsales after migration.

  • Agency-lead routing requires manual reconstruction in Freshsales

    Axelor's Lead Agency is a distinct many-to-many routing concept where a Lead can be associated with multiple Agencies. Freshsales has no native Agency object, so the routing relationships cannot map directly. We export the junction records (Lead ID to Agency ID pairs), create an Agency Tag for each unique Agency name, and apply the Tags to the corresponding Leads during migration. However, this is a functional reduction: fresh leads routed by Agencies in Axelor will require a different routing strategy in Freshsales, such as assignment rules based on Tags, territories, or custom fields.

  • Custom Studio objects require XML schema inspection before extraction

    Axelor Studio objects are defined in XML and compiled to JPA models at deployment time. They have no standard export format visible through the standard AppLoader data export. We perform a schema inspection step during scoping that reads the XML model definitions, infers the field structure, maps JPA data types to Freshsales field types, and generates a field map before any data is extracted. Without this step, custom objects are either missed or incorrectly mapped.

  • Axelor has no documented API rate limits

    Unlike Freshsales, Axelor does not publish API rate limits or maintain a developer portal in the standard research-visible surface area. We throttle our extraction reads conservatively and monitor for error responses, adjusting batch sizes dynamically. Without documented limits, we cannot pre-configure fixed batch sizes and must rely on reactive throttling, which may extend the extraction timeline for large datasets.

  • Version-to-version schema changes affect upgrade paths

    Axelor has documented breaking changes between 6.1.x, 6.2.x, 6.3.x, and 6.5.x versions, with the Axelor forum confirming that minor version upgrades can cause login and module access issues depending on the source and target versions. When migrating from Axelor, we scope the specific Axelor version first to identify any schema variants that affect the export format. This does not block migration but requires version-aware field mapping.

Migration approach

Six steps for a successful Axelor CRM to Freshsales data migration

  1. Discovery and Axelor version scoping

    We audit the source Axelor instance for version number (6.1.x through 7.x), installed modules, export method (AppLoader data package or REST API), custom Studio objects, active BPM workflows, and the presence of the recurrent revenue configuration on Opportunities. We also identify the Axelor deployment type (cloud-hosted or on-premise) and confirm the data export mechanism available to the customer. The discovery output is a written scope document that includes the Axelor version, schema inventory, and BPM workflow count.

  2. XML schema inspection for custom Studio objects

    For Axelor instances with Studio custom objects, we inspect the XML model definitions to extract field names, data types, and inter-object relationships. We map JPA data types (String, Integer, LocalDate, ManyToOne, OneToMany) to Freshsales field types (text, number, date, lookup). The inspection output is a custom object schema document that we use to pre-create the Freshsales custom objects and fields before any data extraction begins.

  3. BPM workflow inventory and Freshsales mapping design

    We inspect the Axelor application configuration for all active BPM workflows, DMN models, and business rules. We document each workflow's trigger event, conditions, and downstream actions. We then design the Freshsales workflow equivalents using Freshsales' automation builder vocabulary so the customer's admin has a reference specification for rebuild. BPM workflows are not migrated as code; this step produces the written inventory only.

  4. Test migration to Freshsales sandbox

    We run a full migration into a Freshsales sandbox environment using production-like data volume. The customer's lead validates record counts (Leads in, Third Parties split to Contacts and Accounts, Deals in), spot-checks 20-30 records against the source Axelor data, and confirms the Agency-tag mapping is applied correctly. Any field mapping corrections, custom object field type adjustments, or stage name conflicts are resolved in the sandbox before production migration begins.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Accounts (from Axelor organization-type Third Parties), Contacts (from Axelor person-type Third Parties and linked Contact children with AccountId resolved), Leads (with Agency Tags applied from the junction export), Deals (with stage mapping and OwnerId resolved), custom object records (with their lookup relationships to standard objects), and document metadata as Freshsales Attachments or Notes. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and workflow rebuild handoff

    We freeze Axelor writes during cutover, run a final delta migration for any records modified during the migration window, then enable Freshsales as the system of record. We deliver the BPM workflow inventory document to the customer's admin team with Freshsales automation builder equivalents. We support a one-week hypercare window for reconciliation issues. We do not rebuild Axelor BPM workflows as Freshsales automation builder rules inside the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Axelor CRM logo

Axelor CRM

Source

Strengths

  • True open-source AGPL license with identical community and enterprise codebases — no feature-gating in the OSS edition.
  • Low Code Studio enables screen, form, workflow, and business-rule changes without recompiling the J2EE backend.
  • Single platform combines CRM, ERP, BPM, BI, web portals, and document management under one schema, reducing tool sprawl.
  • Modular install path lets teams start with CRM only and expand into Finance, Inventory, or HR without re-platforming.
  • Deployment flexibility — cloud-hosted, on-premise, or hybrid with mobile access included — fits data-residency and offline requirements.

Weaknesses

  • Steep technical onboarding curve for teams without J2EE or partner integrator access.
  • Limited UI/theming customization compared to modern SaaS CRM platforms.
  • Niche functional modules (event management, training) have reduced feature depth versus specialists.
  • No publicly documented API rate limits or developer portal, making integration planning harder.
  • Partner ecosystem for implementation and support is concentrated in France and French-speaking markets.
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 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 Axelor CRM and Freshsales.

  • Object compatibility

    B

    2 of 8 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

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Axelor CRM: Not publicly documented.

  • Data volume sensitivity

    A

    Axelor CRM exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your Axelor CRM to Freshsales 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 Axelor CRM to Freshsales data migrations

Answers to the questions buyers ask most during Axelor CRM to Freshsales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Axelor CRM to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

No. Axelor stores workflow automation logic as application configuration in the Studio and J2EE deployment layer, not as records in the database. This is not a data migration in the technical sense — it is an application deployment action. We do not migrate BPM workflows. We inspect the Axelor application configuration, document every active workflow with its trigger, conditions, and actions, and deliver a written specification with Freshsales automation builder equivalents so your admin can rebuild them. This documentation deliverable is included in the migration scope.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Axelor CRM.
Land in Freshsales, 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