CRM migration
Field-level mapping, validation, and rollback between Oracle Siebel and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Oracle Siebel
Source
Freshsales
Destination
Compatibility
7 of 11
objects map 1:1 between Oracle Siebel and Freshsales.
Complexity
BStandard
Timeline
4-8 weeks
Overview
Moving from Oracle Siebel to Freshsales is a migration from a deeply vertical, party-based enterprise CRM to a lightweight SaaS CRM built for SMB and mid-market teams. Siebel's architecture stores Contacts and Organizations as subtypes of the S_PARTY base table, requiring us to import S_PARTY rows before any child records to satisfy foreign-key constraints. Freshsales uses a straightforward Account-Contact relationship with no equivalent party model, so we flatten the Siebel party hierarchy into a clean Account record with linked Contacts during transformation. We migrate the core commercial objects (Accounts, Contacts, Opportunities, Quotes, Orders, Cases, Activities, and Assets) and any Siebel custom extension tables. We do not migrate Siebel Workflow Processes, EAI integration adapters, Positions-to-User assignments, Literature binary files, or the Siebel repository (SRF), all of which require manual rebuild or re-upload post-migration. Freshsales tiers range from Free to Enterprise ($71/user/month), making total cost significantly lower than Siebel's $3,750/user base plus industry pack add-ons.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Oracle Siebel object lands in Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Oracle Siebel
Organization (S_ORG_EXT + S_PARTY)
Freshsales
Account
1:1Siebel Organizations map to Freshsales Accounts. Both S_ORG_EXT and S_PARTY row IDs are extracted during the party-first pass; we create the Freshsales Account record and store the original S_PARTY ROW_ID as a custom field siebel_party_row_id__c for audit and cross-reference. Siebel's Organization type (House Account, Competitor, Partner) maps to a Freshsales Account custom field rather than a separate record type, since Freshsales does not have a built-in Organization type taxonomy.
Oracle Siebel
Contact (S_CONTACT + S_PARTY)
Freshsales
Contact
1:1Siebel Contacts map to Freshsales Contacts. Each S_CONTACT record requires its parent S_PARTY row to exist in the destination before the Contact is created. We run S_PARTY as a separate first-pass import, then S_CONTACT as the second pass, cross-referencing the S_PARTY ROW_ID to the Freshsales Contact record ID. Any Contact without a corresponding S_PARTY record is flagged as a dangling child and held for manual resolution before the Contact import phase completes.
Oracle Siebel
Opportunity (S_OPTY)
Freshsales
Deal
1:1Siebel Opportunities map to Freshsales Deals. The Opportunity-Account link migrates by resolving the Siebel Account's S_ORG_EXT ROW_ID to the Freshsales Account ID during import. Revenue amounts, close dates, pipeline stage names, and probability percentages transfer directly. Siebel's Opportunity-Contact links map to Freshsales Deal Contact roles.
Oracle Siebel
Pipeline Stage
Freshsales
Deal Stage
lossySiebel pipeline stages map to Freshsales Deal stages. We extract the stage names and probability values from S_OPTY and S_STAGE, then configure matching stage values in Freshsales Deal Stages before migration. The stage ordering is preserved as a custom field siebel_stage_order__c for reporting continuity.
Oracle Siebel
Quote (S_DOC_QUOTE + S_QUOTE_ITEM)
Freshsales
Quote
1:1Siebel Quotes map to Freshsales Quotes. Quote headers from S_DOC_QUOTE and line items from S_QUOTE_ITEM migrate as a parent-child set. Quote-to-Order linkage from S_DOC_ORDER is preserved in a custom field siebel_order_ref__c on the Freshsales Quote. Quote status and expiration dates transfer directly. Freshsales Quotes do not support multi-level line item hierarchies, so nested Siebel quote item structures are flattened to a single level.
Oracle Siebel
Order (S_ORDER + S_ORDER_ITEM)
Freshsales
Deal (with Products)
1:manySiebel Orders do not have a direct Freshsales equivalent. We map Siebel Orders to Freshsales Deals with Products. Order headers become Deal records with a custom field siebel_order_id__c and siebel_order_date__c. Order line items from S_ORDER_ITEM become Deal Product entries. The Quote-to-Order linkage is preserved as a siebel_quote_ref__c field on the Deal. If the customer requires order history visibility, we recommend Freshsales + Freshdesk integration post-migration to handle the order management gap.
Oracle Siebel
Case (S_SRV_REQ)
Freshsales
Deal (Service Cases custom object)
lossySiebel Service Cases map to Freshsales Deal records with a custom Deal type for service. We extract case number, status, priority, assigned employee, and description. Case-to-Contact links are preserved as Deal Contact roles. For organizations requiring full case management capability, we document the Freshdesk Service Cloud integration as a post-migration step because Freshsales CRM does not include native case management.
Oracle Siebel
Activity (S_EVT_ACT + S_NOTE)
Freshsales
Activity + Note
1:1Siebel Activities (S_EVT_ACT) map to Freshsales Activities (tasks and events). We extract activity type, subject, date, owner, and the parent Contact or Account reference. Notes from S_NOTE migrate as Freshsales Notes linked to the corresponding Contact or Account. Custom Activity extension fields are preserved as custom Freshsales activity fields. Siebel's activity history ordering is preserved by setting the Freshsales activity timestamp to the original Siebel date.
Oracle Siebel
Asset (S_ASSET)
Freshsales
Contact custom field or Product
1:1Siebel Financial Assets from S_ASSET link to the parent Account. We migrate Asset records as a custom Freshsales Contact or Account field group (asset name, product, serial number, quantity, status). For organizations with complex asset tracking, we recommend a Freshdesk Asset management integration post-migration because Freshsales CRM does not include a native Asset object.
Oracle Siebel
Literature (S_LIT metadata)
Freshsales
Note with file attachment reference
1:1Siebel Literature metadata from S_LIT migrates as Freshsales Notes with the file path and name preserved. The actual binary document files stored in the Siebel File System require separate file system extraction and re-upload. We extract the path list from S_LIT, package the referenced files, and deliver them alongside the migration package for the customer's Freshsales admin to re-upload manually. We do not migrate the Siebel repository or .SRF file that contains the Literature configuration.
Oracle Siebel
Custom Extension Tables (S_*_X)
Freshsales
Custom Fields on destination objects
lossySiebel custom fields built atop the extension table pattern (tables with TYPE like EXTENSION or custom columns added to S_CONTACT, S_ORG_EXT, etc.) are migrated on a per-table basis. We export the extension table data, map its foreign keys to the target Freshsales object, and create corresponding custom fields in Freshsales via Settings. Fields that reference other S_ tables require those tables to be migrated first. If a Siebel administrator has added columns via Siebel Tools, those columns require SRF recompilation in the source environment before the new columns appear in REST API queries.
| Oracle Siebel | Freshsales | Compatibility | |
|---|---|---|---|
| Organization (S_ORG_EXT + S_PARTY) | Account1:1 | Fully supported | |
| Contact (S_CONTACT + S_PARTY) | Contact1:1 | Fully supported | |
| Opportunity (S_OPTY) | Deal1:1 | Fully supported | |
| Pipeline Stage | Deal Stagelossy | Fully supported | |
| Quote (S_DOC_QUOTE + S_QUOTE_ITEM) | Quote1:1 | Fully supported | |
| Order (S_ORDER + S_ORDER_ITEM) | Deal (with Products)1:many | Fully supported | |
| Case (S_SRV_REQ) | Deal (Service Cases custom object)lossy | Fully supported | |
| Activity (S_EVT_ACT + S_NOTE) | Activity + Note1:1 | Fully supported | |
| Asset (S_ASSET) | Contact custom field or Product1:1 | Fully supported | |
| Literature (S_LIT metadata) | Note with file attachment reference1:1 | Fully supported | |
| Custom Extension Tables (S_*_X) | Custom Fields on destination objectslossy | Fully supported |
Gotchas + challenges
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 Siebel gotchas
Version gating for Siebel Cloud Manager OCI migration
S_PARTY base table requires parent-first migration sequencing
REST API 30 req/min rate limit throttles bulk extraction
Siebel Tools SRF compilation required after extension table changes
Literature files require separate file system export
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Discovery and Siebel environment audit
We audit the source Oracle Siebel environment: version (to identify Siebel Cloud Manager availability for OCI-bound migrations), REST API accessibility, current SRF compilation state, and a full inventory of active S_ tables including any custom extension tables. We extract record counts for Accounts, Contacts, Opportunities, Quotes, Orders, Cases, Activities, and Assets to size the migration volume. We also identify the Siebel File System location and extract the S_LIT path list for literature file extraction. The discovery output is a written migration scope document with a preliminary object mapping table and a Siebel environment readiness checklist.
Schema design and Freshsales environment setup
We design the Freshsales destination schema: standard objects (Accounts, Contacts, Deals, Quotes, Products) are configured via the Freshsales UI, and any Siebel custom extension fields are created as custom fields. We map Siebel pipeline stages to Freshsales Deal stages and configure Deal record types if the customer uses multiple Siebel pipelines. If Cases are required, we create a custom Deal type for service cases. The Freshsales environment is set up in a test subdomain before production migration to allow sandbox-style validation. Schema changes deploy directly in Freshsales without a compilation step, which is a significant advantage over Siebel's SRF-based deployment model.
S_PARTY first-pass extraction and owner mapping
We run the first extraction pass targeting S_PARTY records for all Contacts and Organizations in scope. Each S_PARTY ROW_ID is preserved in a lookup table alongside the target Freshsales record ID. We simultaneously extract Siebel Positions (S_POSTN) as structural data for the customer's admin to map to Freshsales Users manually post-migration, since User provisioning is a Freshsales administrative action that cannot be automated from Siebel Position data alone. Owner reconciliation is performed by email match between Siebel Position-assigned employees and Freshsales User accounts.
Sandbox migration and reconciliation
We run a full migration into the Freshsales test environment using production-equivalent data volume. The customer's administrator reconciles record counts (Accounts in, Contacts in, Deals in, Activities in), spot-checks fifteen to twenty-five random records against the Siebel source, and validates that the party-first import produced no orphaned Contact records. Mapping corrections, custom field type adjustments, and stage name harmonization happen during this phase before any production data is touched.
Production migration in dependency order
We run production migration in strict dependency order: Accounts first (from Siebel S_ORG_EXT), then Contacts with Account lookups resolved, then Deals (Opportunities), then Quotes and Products, then Order histories mapped to Deals with Products, then Activities and Notes. Literature file packages are delivered separately for manual re-upload. Each phase emits a row-count reconciliation report comparing Siebel source count to Freshsales destination count. Siebel's 30 req/min REST rate limit is managed via parallel session threading throughout the production migration.
Cutover, delta migration, and automation rebuild handoff
We freeze Siebel writes during the cutover window, run a final delta migration of any records created or modified during the migration window, then set Freshsales as the active system of record. We deliver a written inventory of Siebel Workflow Processes, EAI adapters, and Position-to-User assignments that require manual rebuild in Freshsales (or via Freshsales + Freshworks integrations). We do not rebuild Siebel workflows as Freshsales automations as part of the migration scope; that is a separate engagement. We support a five-business-day hypercare window for reconciliation issues raised by the customer's team.
Platform deep dives
Oracle Siebel
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Oracle Siebel and Freshsales.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Oracle Siebel: 30 requests per minute per session (REST API).
Data volume sensitivity
Oracle Siebel doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Oracle Siebel to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Oracle Siebel to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Oracle Siebel
Other ways to arrive at Freshsales
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.