CRM migration

Migrate from ZeyOS to Microsoft Dynamics 365 Sales

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

ZeyOS logo

ZeyOS

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

75%

9 of 12

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

Complexity

BStandard

Timeline

4-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from ZeyOS to Microsoft Microsoft Dynamics 365 Sales is a structural migration from a REST-only, token-authenticated PostgreSQL-backed platform to a Dataverse-backed CRM with per-user licensing and Azure integration. ZeyOS exposes only a REST API at cloud.zeyos.com with no bulk import endpoint, requiring us to paginate through all record types individually and parallelize inserts where possible. Unix epoch timestamps stored as int8 in ZeyOS must be explicitly converted to ISO 8601 datetime strings compatible with Dataverse. Financial records in ZeyOS carry an audit-lock flag that prevents post-booking edits; we sequence Quotes, Orders, and Invoices in chronological order and flag any out-of-sequence records for manual review before import. Workflows, automations, and custom iXML scripting do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Power Automate or Dynamics 365 workflows.

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

ZeyOS logo

ZeyOS

What's pushing teams away

  • Very limited public review presence (only 1 verified G2 review, sparse Capterra coverage) makes it hard for prospective customers to gauge long-term reliability.
  • Smaller vendor footprint compared to Odoo, NetSuite, or HubSpot raises concerns about long-term product support and roadmap stability.
  • Custom iXML scripting layer adds development overhead for teams that want standard integrations without writing custom code.

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 ZeyOS objects map to Microsoft Dynamics 365 Sales

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

ZeyOS

Account

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

ZeyOS Accounts map directly to Microsoft Microsoft Dynamics 365 Sales Account (the company-level record). We use the account name as the primary dedupe key during import and preserve any external ID from ZeyOS's extdata fields as a custom field on the Dynamics 365 Account for cross-system reference. Account is imported before Contact to satisfy the primary contact lookup relationship.

ZeyOS

Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

ZeyOS Contacts map to Microsoft Dynamics 365 Sales Contact. The parent Account reference resolves at import time by matching the ZeyOS account FK to the newly created Dynamics 365 Account record ID. We preserve ZeyOS nickname and address fields from extdata as custom Contact fields and convert any date fields from Unix epoch to Dataverse datetime format.

ZeyOS

Lead

maps to

Microsoft Dynamics 365 Sales

Lead

1:1
Fully supported

ZeyOS Leads are a distinct CRM object and map to Microsoft Dynamics 365 Sales Lead. Lead status and lead score values from ZeyOS custom fields migrate as custom Lead properties. Any ZeyOS lead-specific fields that have no direct Dynamics 365 equivalent become custom fields on the Lead entity.

ZeyOS

Deal

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

ZeyOS Deals map to Microsoft Dynamics 365 Sales Opportunity. The ZeyOS dealstage property maps to Dynamics 365 StageName. Pipeline assignments from ZeyOS map to Opportunity Record Types or Sales Processes that we configure before migration. Closed-Lost and Closed-Won reasons migrate as custom Opportunity fields.

ZeyOS

Item

maps to

Microsoft Dynamics 365 Sales

Product2

1:1
Fully supported

ZeyOS Items (inventory and product catalog) map to Microsoft Dynamics 365 Sales Product2 records. The ZeyOS barcode and model fields migrate as custom Product2 fields. Stock quantities from ZeyOS's automated inventory tracking require customer review for mapping to Dynamics 365 Inventory Management or a separate inventory module.

ZeyOS

Ticket

maps to

Microsoft Dynamics 365 Sales

Incident (Case)

1:1
Fully supported

ZeyOS Tickets map to Microsoft Dynamics 365 Sales Case (Incident entity in Dataverse). Ticket pipeline stages become Case status values, and ticket conversations migrate as EmailMessage records linked to the Case. Subject line ticket-number associations are preserved as a custom Case field.

ZeyOS

Project

maps to

Microsoft Dynamics 365 Sales

BookableResource (Project Service)

lossy
Fully supported

ZeyOS Projects map to Dynamics 365 Project Service entities. The project hierarchy (parent project with child Tasks and time entries) requires configuration in the destination environment to set up the correct project structure. Time entries from ZeyOS map to the BookableResourceBooking entity. Customer chooses whether Project Service licensing is required or if Tasks serve as the project tracking equivalent.

ZeyOS

Task

maps to

Microsoft Dynamics 365 Sales

Task

1:1
Fully supported

ZeyOS Tasks belong to Projects and map to Microsoft Dynamics 365 Sales Task. Parent-Project linkage preserves through the project configuration step. Task assignees resolve by matching ZeyOS owner email to the User record in the destination org.

ZeyOS

Document

maps to

Microsoft Dynamics 365 Sales

SharePoint Document or Note

1:1
Fully supported

ZeyOS files table stores binary blobs that we download individually from the REST API and re-upload to Dynamics 365 SharePoint integration or as Note attachments. Files exceeding 25MB are flagged for customer review. Document associations (record FK or comment FK) map to SharePoint document location or Note parent record references.

ZeyOS

Quote, Order, Delivery, Invoice

maps to

Microsoft Dynamics 365 Sales

Opportunity (financial fields)

many:1
Fully supported

ZeyOS financial pipeline objects (Quotes, Orders, Deliveries, Invoices) merge into the Microsoft Dynamics 365 Sales Opportunity with financial field extensions. We preserve ZeyOS invoice chronology because invoices are audit-locked once booked; we sequence them in strict chronological order and flag any out-of-sequence invoices for manual review before import. Financial totals and line items become custom Opportunity fields or related OpportunityProduct records.

ZeyOS

Contract

maps to

Microsoft Dynamics 365 Sales

Contract

lossy
Fully supported

ZeyOS Contracts map to Microsoft Dynamics 365 Sales Contract with metadata preserved (contract number, start date, end date, account link). Renewal rules and contract-specific terms require manual review in the destination system post-migration because Dynamics 365 Contract renewal logic may differ from ZeyOS behavior.

ZeyOS

User

maps to

Microsoft Dynamics 365 Sales

User

1:1
Fully supported

ZeyOS Users map to Microsoft Dynamics 365 Sales User records. We match by email address. Inactive ZeyOS users are flagged for deactivation review in Dynamics 365. User provisioning in the destination org must complete before record migration begins because OwnerId references are required on most standard entities.

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.

ZeyOS logo

ZeyOS gotchas

High

Audit-locked invoices block post-import edits

High

No documented bulk API forces iterative record-by-record migration

Medium

Unix epoch timestamps require explicit conversion

Medium

File attachments require binary blob download from REST API

Low

Token auth without OAuth limits automation scope

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

  • REST-only ZeyOS export requires paginated iteration

    ZeyOS exposes no bulk export or batch endpoint at cloud.zeyos.com/{INSTANCE}/api/v1/. All record types must be retrieved through paginated REST calls, which extends export time proportionally with record volume. We implement pagination with configurable page sizes, parallelize requests where the ZeyOS instance permits, and apply exponential backoff on rate-limit responses. Large datasets (over 50,000 records) require significantly more migration window than a platform with a bulk API would.

  • Audit-locked invoices must follow ZeyOS chronology

    ZeyOS marks invoices as immutable once booked; they cannot be edited or deleted via the API after that point. We sequence invoice imports in strict chronological order using the creationdate epoch timestamp and flag any gaps or reversals for manual customer review before import begins. Migrations that import invoices out of order will encounter locked-record conflicts that require manual correction in ZeyOS before retry.

  • Unix epoch timestamps require explicit conversion to ISO 8601

    ZeyOS stores creationdate, modifieddate, and other date columns as int8 Unix timestamps (seconds since 1970-01-01). Dynamics 365 Dataverse expects ISO 8601 datetime strings. We explicitly convert each epoch value during transform and validate that date ranges fall within the destination system's supported range. Date fields with null epoch values (common in ZeyOS for unused optional fields) are set to null in Dataverse rather than defaulting to the Unix epoch.

  • File attachments are binary blobs requiring individual download and re-upload

    ZeyOS files table stores file content in a binfile column accessible only through individual REST API calls. We download binary blobs one file at a time, which is slow for large attachment sets. Files exceeding 25MB are flagged for customer review because many destination attachment endpoints have size limits. Non-standard MIME types may require additional handling or customer consultation on storage approach.

  • Token auth without OAuth limits mid-migration credential rotation

    ZeyOS uses token-based authentication via its Auth API rather than OAuth 2.0. Tokens have no publicly documented expiration policy. We store tokens securely during migration and monitor for authentication errors that may indicate token expiry. If the API returns 401 mid-migration, we request a fresh token from the ZeyOS Auth endpoint and resume from the last confirmed record offset.

Migration approach

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

  1. Discovery and ZeyOS API scoping

    We audit the source ZeyOS instance via its REST API across all record types (Accounts, Contacts, Leads, Items, Projects, Tasks, Tickets, Contracts, Documents, Quotes, Orders, Deliveries, Invoices, Time Entries, Activities). We paginate through each object to establish record counts, identify custom fields via the extdata JSON pattern, and assess attachment volume. We verify token authentication validity and document any API rate-limit responses observed during scoping.

  2. Microsoft Dynamics 365 Sales environment preparation

    We assess the destination Microsoft Dynamics 365 Sales edition (Sales Professional at $65/user or Sales Enterprise at $95/user), provision the target Dataverse environment, and create custom fields to receive ZeyOS extdata properties. We configure Record Types and Sales Processes to match ZeyOS pipeline and deal stage structures, and set up the SharePoint document management integration for file attachment storage.

  3. Schema design and field mapping

    We map every ZeyOS object to its Microsoft Dynamics 365 Sales equivalent with attention to the financial pipeline merge (Quotes, Orders, Deliveries, Invoices into Opportunity with financial field extensions) and the invoice chronology sequencing requirement. Custom fields from ZeyOS extdata are typed and mapped to Dataverse attribute types. We validate the mapping in a Dataverse sandbox environment before production migration begins.

  4. Sandbox migration and reconciliation

    We run a full migration into a Microsoft Dynamics 365 Sales sandbox using production-like data volume. The customer reconciles record counts (Accounts in, Contacts in, Leads in, Opportunities in, Activities in), spot-checks 25-50 random records against the ZeyOS source, and validates that date fields appear correctly in Dataverse datetime format. Any mapping corrections happen in sandbox before production migration begins.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Users (provisioned and validated by customer admin), Accounts (from ZeyOS Companies), Contacts (with AccountId resolved), Leads, Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Items (Products), Tickets (Cases), Projects and Tasks, Activities (via Dataverse Bulk API with batch chunking), Contracts, Financial records (Quotes, Orders, Invoices in strict chronological order), and Documents (binary blob download and SharePoint re-upload). Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and automation rebuild handoff

    We freeze ZeyOS writes during cutover, run a final delta migration of any records modified during the migration window, then enable Microsoft Dynamics 365 Sales as the system of record. We deliver a written inventory of ZeyOS workflows, automations, and custom iXML scripts that require rebuild in Power Automate or Dynamics 365 workflows. We support a one-week hypercare window where we resolve reconciliation issues raised by the customer's team. We do not rebuild ZeyOS automations as Power Automate flows inside the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

ZeyOS logo

ZeyOS

Source

Strengths

  • Unified platform combining CRM, ERP, and Groupware under a single subscription reduces tooling sprawl.
  • Free tier for up to five users enables teams to onboard and evaluate the platform without upfront cost.
  • Open PostgreSQL schema and REST API provide direct database access for migrations and integrations.
  • Audit-proof financial transactions (quotes, orders, invoices) satisfy compliance requirements for locked records.
  • Integrated inventory management with automated stock transactions on every delivery.

Weaknesses

  • Very limited public review presence reduces ability to gauge real-world customer satisfaction and longevity.
  • Smaller market footprint compared to Odoo, NetSuite, or HubSpot raises vendor risk concerns.
  • Custom iXML scripting language creates a learning curve for teams accustomed to standard integration approaches.
  • No documented bulk API means large migrations require iterative record-by-record API calls.
  • Pricing model is primarily per-user, which can become expensive as teams scale beyond 20-30 users.
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. 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 ZeyOS and Microsoft Dynamics 365 Sales .

  • 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

    ZeyOS: Not publicly documented — we apply exponential backoff on 429/5xx responses and confirm tenant-specific limits during scoping.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your ZeyOS 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 migrations land between four and eight weeks for accounts under 15,000 Contacts and 3,000 Deals with no financial record complexity. Migrations with large engagement histories (over 200,000 activity records), audit-locked invoice sequences, multiple custom objects, or extensive file attachment sets move to ten to sixteen weeks because of REST-only pagination overhead, epoch conversion validation, and invoice chronology reconciliation. Microsoft Dynamics 365 Sales implementation alone (without migration) can take six to fourteen months according to Microsoft's documented timelines.

Adjacent paths

Related migrations to explore

Ready when you are

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