CRM migration

Migrate from Oracle EBS CRM to Microsoft Dynamics 365 Sales

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

Oracle EBS CRM logo

Oracle EBS CRM

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

8 of 8

objects map 1:1 between Oracle EBS CRM and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

5-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Migrating from Oracle E-Business Suite CRM to Microsoft Microsoft Dynamics 365 Sales requires extracting data from a tightly coupled APPS schema that spans CRM, ERP, HR, and supply chain modules in a single Oracle database instance — there is no modern REST API for CRM data in EBS. We connect directly to the Oracle database with read-only credentials scoped to CRM-relevant schemas, enumerate target tables during discovery, and sequence every object in parent-before-child dependency order so that AccountId and Contact lookups resolve before Opportunity and Activity inserts. We flag Oracle Workflow definitions (stored in WF_ tables with PL/SQL coupling) and Territory hierarchies (AS_TERRITORIES base tables) as transformation candidates — these have no direct equivalent construct in Microsoft Dynamics 365 Sales and are documented for the customer's admin to rebuild using Power Automate and the native Territory management tools. We do not migrate Workflows, Sequences, or automations as code; we deliver a written inventory of every active Oracle Workflow with its triggering event, routing conditions, and approver assignments for manual rebuild in Dynamics.

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

Oracle EBS CRM logo

Oracle EBS CRM

What's pushing teams away

  • The user interface is widely described as outdated and the learning curve steep — G2 reviewers consistently cite the clunky UI as a day-to-day friction point that modern SaaS CRMs do not replicate.
  • Oracle's roadmap pressure and end-of-support timelines force upgrades or migrations that organizations would not choose on their own merit — Premier Support for 12.1 ended and Extended Support for 12.2 carries escalating costs through 2031.
  • Organizations discovering that mid-market SaaS CRMs now offer comparable core CRM capabilities at a fraction of the total cost (including implementation, licensing, and internal support) decide to migrate away from the heavy EBS footprint.
  • Oracle's aggressive Fusion Cloud upsell creates a sense of vendor lock-in and limited flexibility, prompting organizations to explore alternatives that do not push a managed cloud migration as the only path forward.
  • The upgrade-heavy lifecycle of EBS on-premise requires a quarter or longer per major release cycle — enterprises seeking evergreen cloud releases with no upgrade projects migrate to platforms with continuous delivery models.

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 Oracle EBS CRM objects map to Microsoft Dynamics 365 Sales

Each row shows how a Oracle EBS CRM 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.

Oracle EBS CRM

Account (RA_CUSTOMERS / ARHZTA tables)

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Oracle EBS CRM Accounts reside in the ARHZTA_RZ base tables and are exposed through APPS schema views. We extract the party_id, account_number, customer_name, and status columns, then map them to Microsoft Dynamics 365 Sales Account (name, accountnumber, statecode). The APPS schema may include inactive accounts that must be flagged or excluded based on the customer's data retention policy. We run the Account import before any Contact import so that the AccountId lookup is satisfied at the moment of Contact insert.

Oracle EBS CRM

Contact (PER_ALL_ASSIGNMENTS_F / HR schema)

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

EBS Contacts live in the HR schema or AR schema depending on whether they are employees or external parties, with email and phone attributes spread across RA_CONTACTS and HZ_PARTIES. We extract per_person_id, email_address, and party_name, then map them to Microsoft Dynamics 365 Sales Contact (fullname, emailaddress1, telephone1). We preserve the link to the parent Account via the party_id to Account.customer_id mapping. Concurrent-user and shared-user licensing models in EBS may produce duplicate contact rows that we deduplicate by email before import.

Oracle EBS CRM

Opportunity (CZ Collaborative Selling schema)

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Opportunities in EBS are stored in the CZ (Collaborative Selling) or deprecated ASF schemas depending on which CRM module version is deployed. We identify the correct schema at discovery, extract stage_name, probability, close_date, and revenue fields, then map them to Microsoft Dynamics 365 Sales Opportunity (name, closeprobability, estimatedclosedate, estimatedvalue). We create a Sales Process in Dynamics with stage values that match the EBS CZ stage names before migration so that stage assignment is consistent at insert time.

Oracle EBS CRM

Custom Objects (user-defined tables in base product schemas)

maps to

Microsoft Dynamics 365 Sales

Custom Table (Dataverse)

1:1
Fully supported

EBS custom objects are stored in user-defined tables within base product schemas, often with FK columns pointing to RA_CUSTOMERS or OE_HEADERS. We extract the DDL for each custom table during discovery, map the column types to Dataverse column types (VARCHAR2 to Text, NUMBER to Decimal or Whole Number, DATE to DateTime), pre-create the destination custom table in the customer's Dynamics 365 environment, then import the records in dependency order after the parent standard objects are confirmed in the destination.

Oracle EBS CRM

Attachments (BFILE / CLOB columns or file system)

maps to

Microsoft Dynamics 365 Sales

Note / Attachment (SharePoint or Dataverse)

1:1
Fully supported

Attachments in EBS CRM are stored as LOB data (BFILE or CLOB) in the database or on the file system depending on the attachment configuration. We extract them as BASE64-encoded binary blobs, create corresponding Note records in Microsoft Dynamics 365 Sales (notetext, objectid, objecttypecode) with the file content as an annotation, or route them to a SharePoint document location if the customer has SharePoint integration enabled. We preserve the original filename and MIME type in the annotation record.

Oracle EBS CRM

Sales Activities / Tasks (Teleservice or Interaction Center tables)

maps to

Microsoft Dynamics 365 Sales

Activity (Task, Email, Phone Call)

1:1
Fully supported

Activities and tasks in EBS CRM are stored across multiple schemas — the deprecated Teleservice tables or the modern Interaction Center tables — depending on which CRM module is installed. We identify the correct schema at discovery, extract the activity type, subject, description, and timestamp columns, then map each to the corresponding Microsoft Dynamics 365 Sales Activity type (Task, Email, PhoneCall). Activity owner maps to the resolved Dynamics User ID via the FND_USER email lookup performed during owner reconciliation.

Oracle EBS CRM

Notes / History (FZ_NOTES or application audit trail)

maps to

Microsoft Dynamics 365 Sales

Note

1:1
Fully supported

Notes and audit history in EBS CRM are stored in generic note tables (FZ_NOTES or equivalent) or in the application-level audit trail. We extract the note body as a text blob with its creation timestamp and owner reference, then map to Microsoft Dynamics 365 Sales Note (notetext, createdon, ownerid). We link the Note to the parent Account or Contact record via the objectid reference resolved from the source note's reference columns.

Oracle EBS CRM

User / Employee (FND_USER + FND_RESPONSIBILITIES)

maps to

Microsoft Dynamics 365 Sales

User

1:1
Fully supported

EBS users are employees sourced from the HR schema (PER_ALL_ASSIGNMENTS_F) with CRM-specific responsibilities assigned via FND_RESPONSIBILITIES. We extract the FND_USER and FND_RESPONSIBILITY tables during discovery to get an accurate user count and responsibility matrix. We match EBS users to Microsoft Dynamics 365 Sales Users by email address during owner reconciliation. Any EBS user without a matching Dynamics User is held in a reconciliation queue for the customer's admin to provision before record import resumes, since OwnerId references are required on most standard objects.

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.

Oracle EBS CRM logo

Oracle EBS CRM gotchas

High

No native REST API for EBS CRM data extraction

High

APPS schema coupling spans CRM, ERP, and HR in one database

High

Premier Support for EBS 12.1 ended — Extended Support for 12.2 has a cost cliff

Medium

Oracle Workflow engine has no direct migration path to cloud CRM automation

Medium

Per-module licensing creates billing ambiguity at destination

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

  • No REST API for EBS CRM — direct database access required

    Oracle E-Business Suite does not expose a standard REST or GraphQL API for CRM objects. All data extraction requires direct Oracle database queries against the APPS and base product schemas, or Oracle BI Publisher reports that export to XML or CSV. We address this by connecting directly to the Oracle database with read-only credentials scoped to the relevant schemas. We validate the connection and run discovery queries to enumerate the target tables before running any migration. The customer must provision database access credentials and confirm the network path between our migration infrastructure and the EBS database server. Any change to the EBS database tier (network rules, firewall, VPN) requires coordination with the customer's Oracle DBA team and may add a week to the project schedule.

  • APPS schema coupling means CRM extraction touches the entire suite

    Oracle EBS CRM is not a standalone application — the APPS schema aggregates code objects from all modules, and CRM data is stored alongside financial, HR, and supply chain data in the same Oracle database instance. We scope our extraction to CRM-relevant base schemas and APPS views at the table level, but any database-level operation during migration must be careful not to disrupt concurrent write operations in non-CRM modules. We coordinate with the customer's DBA to ensure only CRM data is queried and that locks are not held across the migration window. A misconfigured query against the APPS schema during extraction could theoretically affect financial or HR data if the DBA has not properly scoped the connection context.

  • EBS version support cliff may predates the migration start date

    Oracle ended Premier Support for EBS 12.1, meaning no new security patches or tax updates for customers still on that version. EBS 12.2 is the minimum supported version with Extended Support through December 2031, but at approximately double the standard support fee. We flag the customer's current EBS version during discovery. If the source system is on EBS 12.1, the customer is operating on an unsupported release with security and compliance exposure that predates the migration. We note this in the discovery report but do not delay migration for it; the migration itself resolves the support exposure by moving CRM data off the unsupported platform.

  • Territory definitions have no direct equivalent in Microsoft Dynamics 365 Sales

    Territory definitions in EBS CRM are stored in the AS_TERRITORIES base tables and reference hierarchical org structures that encode complex assignment rules specific to the EBS multi-org model. Microsoft Dynamics 365 Sales has a native Territory feature that supports hierarchical assignment but does not replicate EBS territory conditions (such as revenue thresholds, product line rules, or role-based assignments encoded in FND_RESPONSIBILITIES). We extract the full territory hierarchy and assignment logic from AS_TERRITORIES during discovery and document it in a structured report. The customer's admin rebuilds this in Microsoft Dynamics 365 Sales Territory Management using the native UI or Power Automate, guided by the documentation we deliver.

  • Dynamics field validation and security can silently reject imported records

    Microsoft Dynamics 365 Sales enforces field-level security, validation rules, and required-field constraints at insert time via the Dataverse API. Records that pass our extraction and transform logic may be rejected if the destination Dynamics org has conditional required fields, picklist whitelists, or field-level security that the migration user does not bypass. We coordinate with the customer's Dynamics admin to grant the migration user the necessary Dataverse roles before production migration begins, and we either temporarily disable conflicting validation rules or extend them with a migration-context condition. Without this step, a portion of imported records will return API errors that we must resolve in a retry batch.

Migration approach

Six steps for a successful Oracle EBS CRM to Microsoft Dynamics 365 Sales data migration

  1. Discovery and database connection scoping

    We audit the source Oracle EBS environment to identify the CRM-relevant schemas (ARHZTA_RZ, CZ, HZ_PARTIES, FZ_NOTES, AS_TERRITORIES, and any custom object tables), the installed EBS CRM module version, and the active EBS version number. We validate direct database connectivity from our migration infrastructure to the EBS Oracle server, confirm the read-only credential requirements with the customer's Oracle DBA, and enumerate the distinct EBS org contexts (multi-org installations may have multiple sets of the same tables per org_id). We also extract FND_USER and FND_RESPONSIBILITY to get an accurate CRM user count and responsibility matrix. The discovery output is a written migration scope document covering schema inventory, data volume estimates, and a risk assessment for the APPS schema coupling.

  2. Data quality assessment and cleansing

    Legacy EBS data frequently contains duplicates, inactive records, and orphaned relationships (particularly in multi-org setups where the same account may appear in multiple org contexts). We run a data quality assessment against the extracted CRM records, flagging duplicate Account records by account_number, inactive Contacts without email addresses, and Opportunities with missing parent Account references. We deliver a cleansing report to the customer's CRM admin and agree on exclusion criteria before migration begins. Skipping this step is the most common cause of Dynamics 365 post-migration data cleanup projects.

  3. Destination schema provisioning in Microsoft Dynamics 365 Sales

    We pre-create any custom Dataverse tables required for EBS custom objects, including all columns, lookup relationships, and alternate keys that map to the source EBS table primary keys. We configure Sales Processes in Microsoft Dynamics 365 Sales that match the EBS Opportunity stage names and probability percentages. Territory structures extracted from AS_TERRITORIES are documented for post-migration rebuild. We deploy the destination schema into a Dynamics 365 Sandbox environment first for validation, then into the production org after customer sign-off. Oracle Workflow definitions are inventoried and documented for separate rebuild in Power Automate; they do not deploy into Dynamics as part of the migration.

  4. Owner reconciliation and User provisioning

    We extract every distinct EBS user referenced on Account, Contact, Opportunity, and Activity records and match by email against the Microsoft Dynamics 365 Sales User table. Users without a matching Dynamics User are held in a reconciliation queue. The customer's Dynamics admin provisions any missing Users (active or inactive depending on whether the original EBS user is still active in the organization). Migration cannot proceed past this step because OwnerId references on Account, Contact, and Opportunity are required fields in Microsoft Dynamics 365 Sales .

  5. Production migration in dependency order

    We run production migration in record-dependency order: Accounts (from EBS RA_CUSTOMERS base tables), Contacts (with AccountId resolved via party_id mapping), Opportunities (with AccountId, OwnerId, and stage resolved from the CZ schema), Custom Objects (with their parent lookups resolved to Account or Contact), Attachments (BASE64-encoded and linked via annotation records), Activities and Tasks (mapped from Interaction Center or Teleservice tables to Dynamics Activity types), and Notes (from FZ_NOTES). Each phase emits a row-count reconciliation report before the next phase begins. We use the Dynamics Dataverse Bulk API 2.0 with batch chunking and exponential backoff for large record volumes.

  6. Cutover, validation, and Workflow rebuild handoff

    We freeze EBS writes during the cutover window, run a final delta migration of any records modified during the migration process, then enable Microsoft Dynamics 365 Sales as the system of record. We deliver the Oracle Workflow inventory document and the Territory mapping document to the customer's admin team, who rebuilds these in Power Automate and Dynamics native Territory Management respectively. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's sales team. We do not rebuild Oracle Workflows as Power Automate flows or Dynamics workflows inside the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Oracle EBS CRM logo

Oracle EBS CRM

Source

Strengths

  • Unified APPS schema provides a single database layer across ERP, CRM, HR, and supply chain — reducing data duplication across the organization.
  • Deep Oracle database integration means CRM transactions are ACID-compliant by default, with full transactional consistency between sales and financial records.
  • Comprehensive multi-org, multi-currency, and multi-language capabilities are built in, supporting global enterprise sales structures without third-party add-ons.
  • Oracle's established partner ecosystem and 30+ year market presence provide enterprise procurement confidence and long-term support availability.
  • The APPS schema architecture means cross-module reporting can be done via direct SQL without requiring middleware or ETL pipelines.

Weaknesses

  • No standard modern REST API for CRM data — all extraction requires direct database access, BI Publisher reports, or Oracle Data Integrator, which complicates migration tooling.
  • The entire EBS suite runs in a single monolithic database instance, making it difficult to extract only the CRM layer without touching ERP or HR data structures.
  • User interface and UX design reflect 2000s-era application patterns — usability for day-to-day CRM tasks lags significantly behind modern SaaS alternatives.
  • The upgrade lifecycle requires significant IT project investment every major release, with documented upgrade timelines of a quarter or longer for version changes.
  • Oracle's support roadmap is pushing customers toward Fusion Cloud migration, which reduces the long-term viability of remaining on EBS for CRM-only workloads.
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 Oracle EBS CRM 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

    Oracle EBS CRM: Not applicable — direct database query, throttling depends on customer's DB server capacity and concurrent workload.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Oracle EBS CRM 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 five and eight weeks for accounts with straightforward Account-Contact-Opportunity data and no custom object schemas. Migrations with custom object schemas, large activity histories (over 300,000 task and note records), multi-org EBS configurations, or territory hierarchy reconstruction move to twelve to twenty weeks because of the direct database extraction overhead, APPS schema scoping work, and the parent-record lookup resolution required for Dynamics Dataverse Bulk API inserts. The data quality assessment and cleansing phase (typically one to two weeks) is the most common source of schedule slippage if data issues are discovered late.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Oracle EBS CRM.
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