Salesforce · CRM · Transactional

    Salesforce Opportunity Data Migration

    Migrate opportunities into Salesforce, covering the opportunity record, sales stage and close date, line items and price books, ownership, forecasting impact and historical pipeline scope.

    Object overview

    Opportunities are where a CRM migration becomes visible to the business on day one. Stage and close date drive forecasting, so a mapping error does not produce a data problem — it produces a wrong forecast in front of sales leadership.

    The object also depends on almost everything else: the account, the owner, the price book and the products. It loads late, and it is where earlier shortcuts in account and product migration surface.

    What data is typically migrated

    Scope is agreed in discovery; this is the shape of the object.

    Data areaTypical information
    OpportunityName, account, amount, close date, stage, type, lead source, probability
    Line itemsProducts, quantities, prices, referencing a price book entry
    OwnershipOwner user, which drives visibility and forecast attribution
    RecordTypeWhich sales process and stage picklist applies
    Stage historyWhere historical stage movement is in scope
    Related recordsContact roles, activities, quotes where in scope

    Object relationships

    Dependency drives load sequence: a child cannot exist before its parent.

    Account
    └─ Opportunity
    └─ Opportunity line item → Price book entry → Product
    └─ Opportunity contact role → Contact
    └─ Activity
    └─ Quote

    Object migration flow

    Source OpportunitiesDataMoveMap & transformValidateSalesforce OpportunitiesDataVault reconciliationSign-off

    Before you migrate this object

    Confirm each of these before the first migration cycle.

    Accounts, contacts, products and price books have loaded and reconciled
    The sales process and stage mapping is agreed with sales leadership
    RecordTypes and their stage picklists are configured
    An External Id field exists on Opportunity
    The rule for open opportunities with past close dates is agreed
    Owner fallback is agreed
    Validation rules that would block historical records are reviewed

    Common source systems

    Production-proven means we have delivered this object from that source. Supported and custom-mapping describe capability, not delivery history.

    Oracle Fusion CX SupportedMicrosoft Dynamics 365 SupportedSAP CRM SupportedLegacy CRM Custom mapping

    Source-to-target mapping examples

    Object-level equivalence. Field-level mapping is produced per engagement.

    Source systemSource entityTarget object
    Oracle Fusion CXOpportunity + revenue linesSalesforce Opportunity + line items
    Dynamics 365Opportunity + opportunity productsSalesforce Opportunity + line items
    SAP CRMOpportunity transactionSalesforce Opportunity

    Migration methods for this object

    Bulk API 2.0 with upsert against an External Id

    Line items loaded after opportunities and after price book entries exist

    Closed opportunities loaded with their final stage rather than replayed through stages

    Extraction considerations

    Open versus closed pipelineOpen opportunities are operationally essential. Closed-won history has analytical value and closed-lost usually has less; the scope for each is a separate decision.
    Stage semantics differ by sourceStage names rarely map cleanly, and the probability and forecast category attached to each stage differ. This is a sales-process mapping, not a picklist crosswalk.
    Products and price booksLine items reference price book entries, not products directly. If products and price books are not migrated first, line items cannot load.
    Ownership and forecast attributionOwner drives whose forecast the opportunity appears in, so unmapped owners distort reporting immediately.

    Transformation rules

    Stage mapping to the target sales processEach source stage maps to a target stage with its own probability and forecast category. This is agreed with sales, not derived.
    Close date handlingHistorical close dates are preserved; open opportunities with past close dates need a documented rule or they distort the current forecast.
    Amount and currencyMulti-currency orgs carry the currency and conversion behaviour; amount may be derived from line items rather than loaded directly.
    Line item to price book entryResolved through the product and price book cross-references built earlier.
    Owner resolutionWith a documented fallback for owners that have no target user.

    Data quality and validation

    Account exists

    Every opportunity resolves to a loaded account.

    Stage valid for the RecordType

    Stage picklists differ by sales process.

    Close date present

    Required, and its plausibility checked for open opportunities.

    Price book entry exists

    For every line item, in the opportunity's price book.

    Owner exists and is active

    Inactive users cannot own records.

    Amount consistency

    Where amount is derived from line items rather than entered.

    Load sequence and dependencies

    What has to exist before this object can load.

    1. 1Users and roles
    2. 2Products and price books
    3. 3Accounts
    4. 4Contacts
    5. 5Opportunities
    6. 6Opportunity line items
    7. 7Contact roles
    8. 8Activities

    Common migration errors

    What actually fails on this object, and why.

    Price book entry not foundThe product exists but not in the price book the opportunity uses.
    Invalid stage for RecordTypeThe stage exists but not in that sales process.
    Account not foundThe parent account failed to load or the External Id did not resolve.
    Owner inactiveOwnership cannot be assigned to a deactivated user.
    Validation rule failureOrg rules written for interactive entry frequently reject historical records.
    Close date in the past on an open opportunityLoads, but immediately distorts the forecast.

    Reconciliation

    Counts alone rarely prove this object migrated correctly.

    Open opportunity count and total pipeline value: source vs loaded

    Pipeline by stage compared to source — the check that proves stage mapping is right

    Closed-won value by period, where historical closed business is in scope

    Line item count and total against opportunity amounts

    Ownership distribution, including fallback-owner count

    Forecast comparison run in the target and compared to the source forecast before sign-off

    Should all historical records be migrated?

    Closed-lost pipeline is a common archive candidate. It carries analytical value but no operational purpose, and it can easily outnumber open pipeline several times over. Migrating open opportunities plus closed-won history, and archiving the rest, keeps the CRM focused while preserving the analysis.

    Frequently asked questions

    Should closed opportunities be migrated?
    Closed-won usually yes, because it supports historical reporting and account context. Closed-lost is often archived instead — it can outnumber open pipeline several times over and carries little operational value.
    How is stage mapping decided?
    With sales leadership, not by the migration team. Each source stage maps to a target stage carrying its own probability and forecast category, so the mapping directly determines what the forecast shows on day one.
    Why do opportunity line items fail to load?
    Almost always because the price book entry does not exist. Line items reference a price book entry rather than a product directly, so products and price books must be migrated and reconciled first.
    What happens to open opportunities with close dates in the past?
    They load, and they immediately distort the forecast. The handling rule — roll the date forward, flag for review, or close them — is agreed with sales before the first full cycle.

    Planning a similar data migration?

    Tell us your source application, target system, object scope, volume and migration timeline. We can discuss the recommended migration approach and relevant Syntra ETL project experience.