Migration route

    SalesforceOracle Fusion CX

    Salesforce to Oracle Fusion CX Data Migration

    Migrate accounts, contacts, leads from Salesforce to Oracle Fusion CX Cloud (Sales and Service) using a controlled process for extraction, mapping, transformation, validation, loading and reconciliation.

    Migration overview

    Replacing a CRM is not like replacing a ledger. The data is relational in a way that matters commercially: a customer connects to contacts, to open pipeline, to history, to the people who own it. Break one of those links and a sales team loses its context on day one of go-live.

    Organisations move Salesforce to Oracle Fusion CX when CRM is being consolidated into an Oracle estate — usually alongside an ERP programme — so the migration runs against a target whose party model is being configured at the same time.

    Typical data scope

    Scope is agreed in discovery. On this route it usually covers:

    Accounts

    Domain in scope for a typical Salesforce to Oracle Fusion CX programme.

    Contacts

    Domain in scope for a typical Salesforce to Oracle Fusion CX programme.

    Leads

    Domain in scope for a typical Salesforce to Oracle Fusion CX programme.

    Opportunities

    Domain in scope for a typical Salesforce to Oracle Fusion CX programme.

    Activities

    Domain in scope for a typical Salesforce to Oracle Fusion CX programme.

    Migration architecture

    One controlled pipeline, run as repeatable cycles.

    SalesforceDataMoveTransformation & validationOracle Fusion CXDataVault reconciliationDataLens

    Extracting from Salesforce

    What the source platform makes available, and the constraints that shape the extraction design.

    15 vs 18 character record IdsSalesforce exposes a 15-character case-sensitive Id and an 18-character case-safe version of the same key. Mixing them, or letting a process change the case of the 15-character form, collapses distinct records onto each other. Extracts standardise on the 18-character Id.
    Bulk API 2.0 and SOQLBulk API handles volume; SOQL defines what is selected, including relationship traversal. Governor limits and batch behaviour shape how a large extract is staged.
    Lookup vs master-detailThe two relationship types behave differently on deletion and ownership and do not map to one target construct, so each is resolved explicitly rather than treated as a generic foreign key.
    RecordType drives validityRecordType decides which picklist values and layouts apply. A value valid under one RecordType is rejected under another, so RecordType is part of the mapping key, not an attribute beside it.
    Formula and rollup fieldsThese are calculated, not stored. They must be recreated in the target rather than migrated, or the target inherits frozen numbers that stop updating.
    Files, attachments and notesContent lives in its own objects with its own relationships. Carrying the parent record without them loses the evidence trail sales and service teams rely on.

    Source-to-target mapping

    A mapping workbook carries every field in scope from its Salesforce source through its transformation rule to the Oracle Fusion CX target object and field. It is reviewed and approved with the business before the production migration, and applied identically in every cycle so a decision made once is not re-made under cutover pressure.

    Transformation challenges on this route

    The differences between Salesforce and Oracle Fusion CX that create most of the work.

    Identity is the whole problem

    Oracle CX generates its own keys on insert, so every Salesforce Id in every lookup field is meaningless the moment a record lands. A source-to-target cross-reference map, populated as each object loads and consumed by everything that references it, is the migration.

    Flat objects to the TCA party model

    Salesforce accounts and contacts become parties, party sites and relationships in Oracle's Trading Community Architecture — a remodelling, not a field mapping.

    RecordType-conditional validity

    A picklist value valid under one Salesforce RecordType is rejected under another, so RecordType is part of the mapping key rather than an attribute carried alongside.

    Formula and rollup fields do not migrate

    They are calculated, not stored. Recreate them in the target or it inherits frozen numbers that never update again.

    Sales stage drives forecasting

    Opportunity stage and close date feed the target's forecasting, so their mapping onto the Oracle sales method is validated rather than assumed.

    How Oracle Fusion CX accepts the data

    Load order is part of the design, not an implementation detail.

    1. 1Import Management and file import activitiesThe standard bulk path: mapped CSV import activities per object, run and monitored in the application.
    2. 2Reference data before partiesTerritories, currencies, product groups and lookup values.
    3. 3Organizations, then personsThe party hierarchy loads top down, with relationships rebuilt through the cross-reference map once target keys exist.
    4. 4Populate Original System ReferenceCarrying the source Id against the party keeps "which record was this?" answerable after go-live, and gives reconciliation something to join on.
    5. 5Opportunities and revenue linesResolved against party and owning resource, with sales stage mapped to the target's own sales method.
    6. 6Activities lastOnce every parent exists to attach them to.

    Target keys are generated on insert, so every source Id in every lookup field is meaningless the moment the record lands. Relationships are rebuilt through a source-to-target cross-reference map — that map is the migration.

    Validation and reconciliation

    Validation before load

    Mandatory fields, referential integrity, format checks, business-rule validation and duplicate detection run on the prepared data, so problems surface as reportable exceptions rather than as failed loads in Oracle Fusion CX.

    Reconciliation after load

    Source counts, transformed counts, rejected records and target counts, with control totals where the data supports them. Every discrepancy is categorised so the migration is approved on evidence rather than assertion.

    Migration cycles

    The pipeline is run end to end more than once before anything touches production. A typical structure is a first rehearsal that surfaces the bulk of mapping and data-quality corrections, a second that applies them and demonstrates production readiness, and the production cutover itself. How many cycles a programme needs depends on data quality and scope, which is established during discovery.

    1. 1Mock / PPR 1First full extract, transform, load, reconcile and exception analysis. Expect the largest correction list here.
    2. 2Mock / PPR 2Corrections applied, re-extract, re-run. Intended to closely replicate the production migration.
    3. 3Production cutoverFinal extract, data freeze, load, reconciliation, business validation and sign-off.

    Common risks on this route

    15 and 18 character Ids mixed

    The 15-character Id is case-sensitive and the 18 is not. Mixing them can collapse distinct records onto each other.

    Counts reconciled but relationships not

    Every account and contact can load and the migration still be wrong if contacts hang off the wrong accounts.

    Attachments and notes deferred

    Files live in their own objects. Losing them loses the evidence trail sales and service rely on.

    Proven experience on this migration

    SalesforceOracle Fusion CXMigration complete

    Salesforce to Oracle Fusion CX for a $1B+ US software company

    A published case study covering this exact source-to-target route.

    View Case Study

    Planning this migration?

    Tell us your source system, target platform, modules, data volumes and timeline. We can discuss the closest relevant migration experience and the recommended approach.