CRM migration

Migrate from Formitize to Microsoft Dynamics 365 Sales

Field-level mapping, validation, and rollback between Formitize and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .

Formitize logo

Formitize

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

92%

11 of 12

objects map 1:1 between Formitize and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

72–96 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Formitize operates as a field-service and business-management platform where Clients, Contacts, and Jobs form the operational core, supplemented by Assets, Smart Tables, and custom variables that extend the data model per industry pack. Dynamics 365 Sales structures its universe around Accounts, Contacts, Leads, and Opportunities—built on Dataverse with its own rules for lookups, ownership, and custom table creation. The migration challenge is threefold: collapsing Formitize's Client-Contact hierarchy into Dynamics 365's Account-Contact parent-child model, translating Formitize Jobs (which carry status, location, and client associations) into either Dynamics 365 Opportunities or the Case entity depending on their commercial nature, and mapping Formitize custom variables and Smart Table exports to Dataverse custom columns with type-aware conversions. FlitStack AI uses Formitize's REST API to export Clients, Contacts, Jobs, Assets, and Smart Table records, transforms them according to the field mapping plan, and bulk-upserts into Dynamics 365 via the Dataverse Web API. Workflows, form builders, Zapier integrations, and document-management logic do not migrate—they must be rebuilt in Power Automate and Power Apps post-cutover. A 24–48 hour delta-pickup window captures any records modified during the cutover window.

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

Formitize logo

Formitize

What's pushing teams away

  • Performance degrades when multiple forms are chained into a single workflow, frustrating users who need complex multi-step processes on mobile devices.
  • Custom contact fields and asset custom fields require manual setup per account — no shared configuration templates across an organization.
  • Export capabilities are limited: Smart Table CSV exports are available but there is no unified bulk data export across all modules, complicating data portability.
  • The platform is Australian-focused with GST pricing and regional billing conventions, creating friction for non-Australian customers evaluating the platform.

Choosing

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

What's pulling them in

  • Deep Microsoft 365, Teams, and Outlook integration makes Microsoft Dynamics 365 Sales a natural fit for Microsoft-first organizations already invested in that ecosystem
  • Sales Enterprise and Premium tiers offer unlimited custom tables and advanced AI-driven forecasting and predictive analytics not available in lower tiers
  • Professional tier pricing at $65 per user per month offers a lower entry cost than Salesforce for SMB teams with straightforward CRM needs
  • Flexible customization options allow businesses to build bespoke apps, tailor forms and views, and integrate with other Dynamics 365 modules
  • Microsoft Copilot AI tools are embedded directly into the sales workflow on Enterprise and Premium, automating routine tasks and providing deal intelligence

Object mapping

How Formitize objects map to Microsoft Dynamics 365 Sales

Each row shows how a Formitize object lands in Microsoft Dynamics 365 Sales , including any object-level transformations, lookup resolution, or schema-design dependencies.

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

Formitize

Client

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Formitize Client maps directly to Dynamics 365 Account. The Client name becomes Account.Name; billing address maps to Address fields; website/domain maps to Website field. Parent-child Client hierarchies map to Account.ParentAccountId where present. Multi-location Clients map as separate Account records linked by the parent field.

Formitize

Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Formitize Contact maps 1:1 to Dynamics 365 Contact. Each Contact requires an AccountId lookup to its parent Client (resolved as Account). Name, email, phone, job title, and address fields map directly. Formitize Contact custom variables migrate as Dataverse custom columns on the Contact table.

Formitize

Job

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Formitize Job is the core commercial record in Formitize but has no direct Dynamics 365 equivalent—it's a blend of Opportunity and Case. We translate Job.name or Job.reference to Opportunity.Name, Job.amount or total line items to Opportunity.Amount, Job.status to Opportunity.StageName via value mapping, and Job.closedate to Opportunity.CloseDate. If Jobs are service-only with no sales value, they map to the Case entity instead.

Formitize

Job (service-only)

maps to

Microsoft Dynamics 365 Sales

Incident (Case)

1:many
Fully supported

Jobs that contain no commercial amount, invoice, or quote data—purely service or compliance records—are identified by Formitize Job Type and routed to Dynamics 365 Case (Incident) instead of Opportunity. The Case.Title receives the Job name; Case.AccountId links to the Account. Cases are routed by Formitize priority using Dynamics 365 Case Type and Priority Option Sets.

Formitize

Asset

maps to

Microsoft Dynamics 365 Sales

Asset

1:1
Fully supported

Formitize Asset maps to Dynamics 365 Asset (field-service entity) when the destination includes Field Service. For Sales-only deployments, Asset data migrates as a custom table (new_asset) in Dataverse with fields for name, client/account link, location zone, GPS coordinates (as custom lat/long columns), and custom attribute columns mirroring Formitize Asset custom fields.

Formitize

Smart Table

maps to

Microsoft Dynamics 365 Sales

Custom Table (Dataverse)

1:1
Fully supported

Formitize Smart Tables are arbitrary data grids exported from Formitize's reporting module. Each Smart Table becomes a custom Dataverse table. Column headers map as table columns with appropriate Dataverse data types (string, integer, decimal, datetime, boolean, OptionSet). Lookup columns in Smart Tables resolve to corresponding Account or Contact records by key field matching.

Formitize

Contact Custom Variable

maps to

Microsoft Dynamics 365 Sales

Contact (custom column)

1:1
Fully supported

Formitize Contact Custom Variables—user-defined fields on Contacts such as birthday, client_rating, or referral_source—migrate as Dataverse custom columns on the Contact table. Each variable becomes a column with the type closest to its Formitize data type (text → string, number → integer or decimal, date → datetime). The exact column names are sourced from the Formitize Custom Fields API export.

Formitize

Client Custom Variable

maps to

Microsoft Dynamics 365 Sales

Account (custom column)

1:1
Fully supported

Client-level custom variables (industry_pack extensions, billing tier, zone assignments) migrate as Dataverse custom columns on the Account table. Zone-related variables may map to Option Set values if zone lists are finite, or remain as free-text custom columns for manual categorization in Dynamics 365.

Formitize

Document

maps to

Microsoft Dynamics 365 Sales

Note (with file attachment)

1:1
Fully supported

Formitize Documents attached to Jobs, Clients, or Contacts are downloaded from Formitize storage and re-uploaded as Dynamics 365 Note records with file attachments. Document titles become Note.Subject; the attachment binary re-stored under Note.Body or as a SharePoint-connected file if the destination tenant has SharePoint integration enabled.

Formitize

User (owner)

maps to

Microsoft Dynamics 365 Sales

User (OwnerId)

1:1
Fully supported

Formitize Users are matched to Dynamics 365 Users by email address. Unmatched users are flagged before migration; the destination admin either creates the user in Dynamics 365 first or assigns their records to a fallback owner. This resolution runs before any record insert to satisfy Dynamics 365 OwnerId NOT NULL constraint.

Formitize

Quote / Invoice

maps to

Microsoft Dynamics 365 Sales

Quote / Order

1:1
Fully supported

Formitize Quotes and Invoices associated with Jobs migrate as Dynamics 365 Quotes and SalesOrders linked to the corresponding Opportunity (mapped from the Job). Line items translate to QuoteDetail and SalesOrderDetail records. Invoice status and totals map to the respective Dynamics 365 entity fields. Outstanding invoice amounts and balances become custom financial fields on the Order.

Formitize

Workflow

maps to

Microsoft Dynamics 365 Sales

Power Automate

1:1
Fully supported

Formitize Workflows (multi-stage compliance and process automation) have no migration path to Dynamics 365. The workflow definitions, triggers, and stage configurations cannot be exported from Formitize's API. We provide a Workflow Export Summary document listing every active Formitize workflow by name, trigger type, and stages so your Dynamics 365 admin can recreate them in Power Automate from scratch.

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.

Formitize logo

Formitize gotchas

High

Limited bulk export mechanism complicates migration scoping

Medium

Custom field schemas are per-account, not organizational templates

Medium

Workflow definitions do not transfer between platforms

Low

Asset zone and GPS data requires explicit extraction

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales gotchas

High

Professional tier 15-table custom table limit blocks migrations

High

October 2024 pricing increase applies at renewal for all customers

Medium

Custom fields must be created in the UI before API writes

Medium

Power Platform request limits apply to bulk migrations

Medium

Activity records orphaned to inactive owners fail silently

Pair-specific challenges

  • Smart Table exports require manual Dataverse schema creation before data lands

    Formitize Smart Tables are ad-hoc data grids with arbitrary columns defined by the user. There is no API endpoint that exports the Smart Table schema (column names and types) alongside the row data in a single call. FlitStack AI exports the rows first, infers column types from sample values, and then creates matching Dataverse custom table definitions. If a Smart Table contains a column that doesn't map to any Dataverse type (e.g., a JSON blob stored as a string in Formitize), it lands as a free-text column and must be manually restructured post-migration if a relational structure is needed.

  • Formitize Location Zones map to text fields, not native geospatial types in Dataverse

    Formitize's Location Zone feature assigns named zones to addresses for field-routing purposes. Dynamics 365 Sales and Dataverse do not have a native Zone assignment field on Account or Contact. FlitStack migrates zone assignments as a custom OptionSet or text column on the Account record. This means field-service routing logic that depends on zone matching in Formitize must be rebuilt in Dynamics 365 Field Service's Resource Scheduling Optimization tool using the migrated zone data as a custom dimension—not an automatic translation.

  • Formitize API rate limits apply during the export phase and can extend timeline

    Formitize's API enforces request-per-minute limits that vary by account tier. For Formitize Business plans, the export throughput is throttled to approximately 100–200 records per minute depending on payload size and concurrent connections. Large exports of Jobs with line-item detail or Smart Tables with 50+ columns may require pagination across multiple API sessions. We implement exponential backoff and chunked extraction to stay within limits, but this adds overhead to the export window—teams with more than 50,000 records should expect the export phase to run overnight or across a weekend to avoid hitting rate-limit retry loops.

  • Workflow definitions cannot be extracted from Formitize and have no migration path

    Formitize Workflows store their logic server-side with triggers, conditions, and stage-transition rules that are not exposed via the Formitize API. The export APIs provide record data but not the automation configuration. Dynamics 365 has no equivalent workflow import format. We produce a Workflow Inventory Document listing every active Formitize workflow by name, trigger event (form submission, status change, date trigger), and stage list. Your Dynamics 365 admin or Power Automate consultant uses this as a rebuild specification. There is no shortcut—this is a 100% manual rebuild for any team using Formitize's Workflows module.

  • Zapier integrations and third-party connections do not migrate and must be rebuilt

    Formitize's Zapier integration connects the platform to tools like Google Sheets, QuickBooks, Slack, and Calendly. These connections are stored in Zapier's infrastructure, not in Formitize. The migration does not affect Zapier itself, but every Zap that triggers on a Formitize event (new contact, job completed, invoice sent) must be re-created with a Dynamics 365 trigger step instead. We provide a Zapier Inventory listing all active Zaps by trigger and action, with the equivalent Dynamics 365 connector guidance for each.

Migration approach

Six steps for a successful Formitize to Microsoft Dynamics 365 Sales data migration

  1. Audit Formitize data and build the migration schema plan

    FlitStack AI connects to Formitize via API using scoped read credentials and exports the full record inventory: Clients, Contacts, Jobs, Assets, Smart Tables, Quotes, Invoices, and custom variable definitions. We produce a Migration Schema Plan that documents every Formitize field, its inferred Dataverse type, the proposed column name, and any transformation logic. This plan is reviewed with your admin before any data moves. Smart Table schema is inferred from row data exports and validated against a sample of 50+ rows per table to confirm column type consistency.

  2. Create Dataverse custom tables and columns for non-standard Formitize objects

    Before data ingestion, FlitStack creates the required Dataverse custom tables and columns to host Formitize data that has no native Dynamics 365 equivalent. This includes custom datetime columns for original create dates, custom text columns for Formitize IDs, custom OptionSets for zone and job-type value mappings, and custom tables for Smart Table exports. Custom column creation uses the Dataverse Web API and requires a Dynamics 365 user with Environment Maker or System Customizer privileges. We deliver a pre-flight checklist confirming all custom schema is live in the target environment before the migration run begins.

  3. Resolve Formitize Users to Dynamics 365 Users by email

    FlitStack exports all Formitize Users and attempts to match each one to a Dynamics 365 User record by email address. Unmatched users are flagged in a Resolution Report with the Formitize user name, email, and role. Your Dynamics 365 admin either creates the missing user in the destination tenant or assigns those records to a fallback owner. No record is inserted without a valid OwnerId. Owner resolution runs before the main migration phase so that every record lands with the correct Dynamics 365 owner from day one.

  4. Run sample migration with field-level diff before the full cutover

    A representative sample—typically 200–500 records across Clients, Contacts, Jobs, and Assets—migrates first. FlitStack generates a field-level diff report comparing every source field value against the destination field value. You verify that job statuses map to the correct Opportunity StageName values, that Location Zone data lands in the custom column, and that owner resolution is complete. Approval of the diff report gates the full migration run. Any mapping errors discovered at this stage are corrected in the migration schema before the full volume runs.

  5. Execute full migration with delta-pickup window and audit log

    The full record set migrates in sequenced batches respecting Dataverse API throughput limits. A 24–48 hour delta-pickup window opens at the cutover point and captures any Formitize records created or modified during the migration run. Every operation is logged to the FlitStack audit log: record count, error codes, and retry history. If reconciliation identifies missing or mismatched records, one-click rollback reverts the Dataverse environment to its pre-migration state. The rollback uses the audit log to undo inserts and restore original values, allowing a clean re-run without data contamination.

Platform deep dives

Context on both ends of the pair

Formitize logo

Formitize

Source

Strengths

  • All-in-one FSM platform combines CRM, forms, scheduling, assets, quoting, and invoicing without separate tool subscriptions.
  • Mobile companion app with real-time job status updates keeps field teams synchronized with office operations.
  • Pre-built industry packs for regulated verticals (pest control, food safety, building inspection) reduce initial configuration time.
  • Automation assistants handle recurring tasks: lead follow-up, invoice chasing, appointment reminders, and form actions without manual triggers.
  • JobLink client portal gives customers self-service access to job details, invoices, and documents without contacting the office.

Weaknesses

  • Performance slows noticeably when multiple forms are chained in a single workflow, limiting complex process automation on mobile.
  • Bulk data export across all modules is not natively supported — Smart Table CSV export is the primary extraction method.
  • No public API rate limit documentation creates uncertainty for customers planning automated integrations or migration scripts.
  • Feature request for exporting User Qualifications, Training, Uploads, and Notes to CSV remains unimplemented as of the latest release.
  • Regional pricing in AUD with GST exclusion adds complexity for non-Australian buyers evaluating total cost.
Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

Destination

Strengths

  • Native integration with Microsoft 365, Teams, Outlook, and SharePoint for unified productivity workflow
  • Unlimited custom tables and complex workflows on Enterprise tier enable deep customization for complex sales processes
  • AI-driven predictive analytics and deal intelligence on Enterprise and Premium tiers help sales teams prioritize pipeline
  • Dataverse unified data layer provides a consistent API and data model across all Dynamics 365 and Power Platform apps
  • Strong security model with Field-Level Security and Record Ownership rules for governance-conscious enterprises

Weaknesses

  • Sales Professional tier caps custom tables at 15, creating a migration ceiling for highly customized SMB environments
  • October 2024 pricing increases of $15 per user across all tiers apply to existing customers upon renewal
  • Implementation typically requires costly certified partners, adding 30–50% to total project cost
  • Updates and platform releases can disrupt customizations and plugins, requiring regression testing after each wave
  • Non-Microsoft integrations require additional configuration or middleware, limiting flexibility for heterogeneous tech stacks

Complexity grading

How hard is this migration?

Standard CRM migration. 1 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 Formitize and Microsoft Dynamics 365 Sales .

  • Object compatibility

    B

    1 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

    Formitize: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Formitize to Microsoft Dynamics 365 Sales 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 Formitize to Microsoft Dynamics 365 Sales data migrations

Answers to the questions buyers ask most during Formitize to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Formitize to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Formitize-to-Dynamics 365 migrations complete in 72–96 hours of clock time for under 25,000 total records. Larger datasets exceeding 100,000 records or complex Smart Table setups with 20+ columns extend the timeline to 7–14 days. The longest planning step is the Smart Table schema review—if a Smart Table has 40+ columns or stores JSON-like payloads, Dataverse custom table creation adds a day or two before data can land. The export phase from Formitize is rate-limited by the platform API, so large record sets may run across an overnight window to stay within throughput limits.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Formitize.
Land in Microsoft Dynamics 365 Sales , 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