CRM migration

Migrate from EXACT to Freshsales

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

EXACT logo

EXACT

Source

Freshsales

Destination

Freshsales logo

Compatibility

90%

9 of 10

objects map 1:1 between EXACT and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Exact is an ERP and accounting platform whose CRM capabilities are secondary to its financial-document and operations model. Freshsales is purpose-built for sales teams, with native leads, contacts, accounts, opportunities, and activity tracking. The migration challenge is structural: Exact stores contacts and companies within a financial-document context, while Freshsales models them as first-class CRM objects with lifecycle stages, contact scoring, and pipeline stages. FlitStack AI extracts CRM-relevant records from Exact — contacts, companies, deal records, and activities — translates the field names and data types into Freshsales' schema, creates any custom fields needed for Exact's custom properties, and loads everything via Freshsales' REST API with batch-size management to respect rate limits. Workflows, automations, and ERP-specific logic do not migrate and must be rebuilt in Freshsales. We deliver a field-level diff on a sample migration before committing the full run. During the delta-pickup window, your team continues entering data in Exact; FlitStack captures those new and modified records in a second migration pass to ensure no data is lost during cutover.

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

EXACT logo

EXACT

What's pushing teams away

  • Limited presence and support outside Europe (especially North America and APAC) push multinational growth-stage customers toward NetSuite, SAP Business One or Microsoft Dynamics.
  • Reporting capabilities lag competitors and frequently require Power BI add-on for advanced analysis — a friction point at renewal.
  • Some Exact Globe (on-premise) features have not fully migrated to Exact Online yet, frustrating long-time customers moving to the cloud.
  • API rate limits (60 calls/minute and 5,000 calls/day per app per company) constrain high-frequency integrations and force partners to negotiate higher limits.
  • Pricing escalates quickly when wholesale, manufacturing or project modules are added on top of base accounting, with full ERP packages reaching $554-$739/month.

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 EXACT objects map to Freshsales

Each row shows how a EXACT 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.

EXACT

Contact

maps to

Freshsales

Lead / Contact

1:many
Fully supported

Exact contacts do not have an inherent lifecycle stage. FlitStack routes each contact into Freshsales as either a Lead or a Contact based on a business rule you define — for example, contacts associated with closed won deals become Contacts; unengaged contacts become Leads. Email and name fields are preserved exactly; the split is the primary transformation at the object level.

EXACT

Company / Account

maps to

Freshsales

Account

1:1
Fully supported

Exact stores business entities as companies or account records with address, phone, website, industry, and employee count fields. Freshsales' Account object accepts these fields directly. FlitStack maps Exact's company name to Account Name, domain to Website, and industry to the Industry pick-list with value-by-value mapping for standard industry terms.

EXACT

Deal / Document (sales-related)

maps to

Freshsales

Opportunity

1:1
Fully supported

Exact tracks deal-value records within its financial-document model. Freshsales Opportunities use Name, Amount, Stage, Close Date, and OwnerId. FlitStack extracts the monetary value and document description from Exact's sales documents, maps them to the Opportunity object, and reconstructs the pipeline stage using a value-mapping you define for your sales process stages.

EXACT

Custom Field (on Contact)

maps to

Freshsales

Custom Field on Lead / Contact

1:1
Fully supported

Exact custom fields on contacts — such as region codes, product interests, or segmentation flags — have no direct Freshsales equivalent. FlitStack creates matching custom fields in Freshsales (Lead and Contact objects) using the same data type (text, number, pick-list, date) and migrates values record-by-record, preserving the original field label for admin reference.

EXACT

Custom Field (on Deal)

maps to

Freshsales

Custom Field on Opportunity

1:1
Fully supported

Exact custom properties on deal records — discount percentages, competitor references, procurement stage — do not exist in Freshsales' standard Opportunity schema. FlitStack creates custom fields on the Opportunity object in Freshsales and migrates values with type-aware mapping: percentages, currencies, and dates are preserved in their native formats.

EXACT

Document (notes and attachments)

maps to

Freshsales

Note / Attachment

1:1
Fully supported

Exact stores document notes and file attachments against records. FlitStack extracts note body text and file attachments and loads them into Freshsales Notes and Files respectively. File size limits of 25MB per file are enforced; larger files are flagged for manual re-upload to Freshsales Files.

EXACT

Phone Call Log

maps to

Freshsales

Sales Activity / Task

1:1
Fully supported

Exact records phone interactions in activity logs. Freshsales tracks calls as Sales Activities or Tasks with Type='Call', preserving original timestamps, duration, and owner. Subject and notes are mapped from Exact's call log description fields. Call recordings stored in Exact are flagged as files requiring re-upload.

EXACT

Email Interaction Log

maps to

Freshsales

Sales Activity / Task

1:1
Fully supported

Exact email tracking logs map directly to Freshsales Sales Activities with Type='Email', preserving the original sent date, recipient, subject, and body content for each interaction. Freshsales' built-in email tracking features replace Exact's email logging once the migration is complete, so your team transitions to native Freshsales email tools post-migration. All historical email content remains searchable in Freshsales after the transition.

EXACT

Owner / User

maps to

Freshsales

User (Owner)

1:1
Fully supported

Exact users who own records are matched to Freshsales users by email address. FlitStack resolves each Exact owner to a Freshsales User ID before migrating any record with an OwnerId. Unmatched owners are flagged before migration — your team either provisions a Freshsales account or assigns records to a fallback owner.

EXACT

Project

maps to

Freshsales

Custom Object / Deal

1:1
Fully supported

Exact projects do not have a native Freshsales equivalent — Freshsales is a CRM, not a project management system. FlitStack offers two paths: recreate project-level data as Freshsales Opportunities with a custom project-reference field, or flag the records as non-migratable and recommend a project management tool alongside Freshsales.

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.

EXACT logo

EXACT gotchas

High

Strict API rate limits gate bulk extraction

Medium

Exact Globe vs Exact Online feature drift

Medium

Workflow and signalling rules are not exportable

Low

OAuth token lifecycle requires careful handling

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

  • Exact has no native sales pipeline — deal records lack standard pipeline and stage fields

    Exact's deal or sales-document records do not include a pipeline or stage field as standard attributes. Freshsales Opportunities require a StageName from a pick-list tied to a specific pipeline. FlitStack creates a default Freshsales Sales Pipeline with standard stages (Prospecting, Qualification, Proposal, Negotiation, Closed Won, Closed Lost) and maps Exact deal records into it using a value-mapping you define for each document status that represents a deal stage. If Exact tracks deal progress in a custom field, FlitStack uses that field as the stage source. Teams with multiple distinct sales processes will need to define multiple Freshsales pipelines before migration.

  • Exact API enforces concurrent request limits that constrain bulk migration throughput

    Exact Online API throttles concurrent requests per account, requiring FlitStack to use reduced batch sizes when exporting data. Export jobs with more than 50,000 records must be chunked across multiple API sessions with back-off handling between requests. Freshsales' API accepts these chunks at its own rate limit of approximately 100 requests per minute. FlitStack manages both constraints — exporting from Exact in 200-record batches and loading into Freshsales in 50-record batches — and retries transient failures automatically. Very large Exact datasets (500k+ records) require scheduling the export phase during off-peak hours to avoid hitting Exact's concurrent session limits.

  • Exact custom fields do not auto-create in Freshsales — each requires explicit field creation and type mapping

    Exact allows custom fields on contacts, companies, and documents. Freshsales stores custom fields on each object separately — a custom field on an Exact Contact does not automatically exist on a Freshsales Lead or Contact. FlitStack inventories every Exact custom field before migration, creates the corresponding custom fields in Freshsales using the Admin Settings API, and matches data types: Exact text fields create Freshsales text fields, Exact pick-list fields create Freshsales dropdown fields, and Exact date fields create Freshsales date fields. The Freshsales admin must have permission to create custom fields in the target account — Enterprise plan or admin role required.

  • Freshsales lifecycle stages are single-valued per contact — Exact contact status histories do not carry forward as stage-transition logs

    Freshsales Contact Lifecycle Stages (Subscriber, Lead, MQL, SQL, Customer, Evangelist) are single-valued fields — each contact has one current stage. Exact contacts may have a history of status changes recorded across multiple fields or in a log table. FlitStack captures the most recent Exact contact status as the lifecycle stage value in Freshsales, preserving the final status value but not the transition history as a timeline. If your team requires stage-transition history for reporting, FlitStack can write each transition as a custom datetime field (e.g., Stage_MQL_Date__c) using Exact's status-change timestamps.

  • Exact projects have no native Freshsales equivalent — project data must be manually reconstructed

    Exact stores project records with tasks, milestones, and time entries. Freshsales is a CRM and does not include a native project management module. Project records from Exact do not map to any Freshsales standard object. FlitStack flags Exact project records as non-migratable by default and offers two reconstruction paths: either re-create project data as Freshsales Opportunities with custom project-reference fields, or export project data as a CSV for import into a dedicated project management tool alongside Freshsales. Your team decides which path before migration begins.

Migration approach

Six steps for a successful EXACT to Freshsales data migration

  1. Inventory Exact CRM data and design the Freshsales schema

    FlitStack connects to Exact via API using read-only credentials and inventories all CRM-adjacent records: contacts, companies, deal documents, activities, and custom fields. We produce a Data Inventory Report listing record counts per object, custom field definitions, and any data-quality flags (duplicate emails, missing required fields). From this, we design the Freshsales schema: which custom fields to create, which pipeline and stages to set up, and what lifecycle stage rules to apply. This report is the planning document your Freshsales admin uses to configure the destination account before data arrives.

  2. Resolve owners and provision Freshsales users

    Exact owner records are matched to Freshsales users by email address. FlitStack generates an Owner Resolution Report listing each Exact owner, their email, and the corresponding Freshsales user status (found, not found, or needs provisioning). Your team creates Freshsales user accounts for any unmatched owners before migration. No record migrates without a resolved owner — records belonging to unresolvable owners are assigned to a designated fallback Freshsales user and flagged in the post-migration audit log.

  3. Export Exact data in batches respecting API rate limits

    FlitStack exports Exact data in batches of 200 records per API call, using exponential back-off between requests to respect Exact's concurrent request limits. Large datasets (50k+ records) are split across multiple export windows. CRM-relevant records — contacts, companies, deal documents, activities, and attachments — are extracted with original timestamps, owner references, and custom field values intact. The export phase runs read-only and does not modify your Exact account. All export operations are logged with timestamps, record counts, and error rates.

  4. Run a sample migration with field-level diff

    A representative slice of 100–500 records migrates to Freshsales first — covering contacts, accounts, opportunities, and a sample of activities. FlitStack generates a field-level diff comparing source values against destination field values for every mapped property. You verify lifecycle stage routing, pipeline stage mapping, owner resolution, and custom field preservation before the full run proceeds. Any mapping corrections are made to the migration plan before the full dataset is touched. This step is the checkpoint that prevents post-migration data surprises.

  5. Execute full migration with delta-pickup cutover

    The full migration loads into Freshsales using batch inserts of 50 records per API call, respecting Freshsales' rate limits. A delta-pickup window of 24–48 hours runs concurrently: any records created or modified in Exact during the cutover are captured in a second, smaller migration pass. FlitStack produces a Migration Audit Log listing source record ID, destination record ID, timestamp, and operation type for every record. One-click rollback reverts the Freshsales org to its pre-migration state if reconciliation reveals critical issues.

Platform deep dives

Context on both ends of the pair

EXACT logo

EXACT

Source

Strengths

  • Native Dutch and Belgian VAT, annual accounts and regulatory filing — no add-ons needed in core EU markets
  • Integrated finance, CRM, project, HRM, inventory and accountancy modules on one cloud platform
  • Well-documented REST/OData API with 350+ marketplace integrations and OAuth 2.0
  • Cloud implementations in 2-4 weeks for typical SME deployments
  • Strong accountant-client collaboration baked into the accountancy product line

Weaknesses

  • Limited regional support and local-compliance coverage outside EU (especially North America and APAC)
  • Reporting depth lags competitors; advanced analytics typically requires Power BI add-on
  • Exact Globe (on-prem) feature parity is incomplete in Exact Online for some advanced modules
  • API rate limits of 60/minute and 5,000/day per app per company constrain high-volume integrations
  • Workflow and signalling-rule configurations cannot be exported and must be rebuilt during migration
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 EXACT 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

    EXACT: 60 API calls per minute AND 5,000 API calls per day, per app per company. Signalled via X-RateLimit-Minutely-Remaining/Reset and X-RateLimit-Daily-Remaining/Reset headers. HTTP 429 returned on overrun..

  • Data volume sensitivity

    A

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Exact-to-Freshsales migrations complete in 48–72 hours of clock time for under 50,000 CRM-adjacent records. Larger datasets exceeding 500,000 records or setups with extensive custom field counts extend the timeline to 5–7 days. The longest planning step is designing the Freshsales pipeline and stage mapping — this requires your team to define how Exact deal-document statuses map to Freshsales Opportunity stages before data moves.

Adjacent paths

Related migrations to explore

Ready when you are

Move from EXACT.
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