CRM migration

Migrate from Oracle EBS CRM to Twenty CRM

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

Oracle EBS CRM logo

Oracle EBS CRM

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

83%

10 of 12

objects map 1:1 between Oracle EBS CRM and Twenty CRM.

Complexity

BStandard

Timeline

6-10 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Oracle EBS CRM to Twenty CRM is a migration from a monolithic on-premise ERP-CRM suite to a modern open-source CRM with a clean PostgreSQL-backed architecture. Oracle EBS CRM has no REST API for CRM data — all extraction requires direct database queries against the tightly coupled APPS schema where CRM, ERP, and HR data coexist in a single Oracle instance. We connect with read-only database credentials scoped to the CRM schemas, enumerate the correct base tables at discovery, and sequence the migration parent-before-child to preserve referential integrity. Accounts map to Twenty Companies, Contacts to Persons, and Opportunities to Opportunities with the original stage and owner preserved. Territory assignments, activities, and notes migrate with their relationship links intact. Oracle Workflows and Forecasts do not migrate as code — we document every active Workflow for manual rebuild in Twenty's automation tools. The result is a clean CRM layer in Twenty that represents your EBS data faithfully without dragging the ERP footprint along.

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

Twenty CRM logo

Twenty CRM

What's pulling them in

  • Top open-source CRM on GitHub with 40.6K stars, giving teams full source code access and infrastructure ownership without per-feature licensing surprises.
  • Free self-hosting under AGPL-3.0 means unlimited users and custom objects for the cost of cloud infrastructure alone, typically $20–100/month.
  • Pricing page explicitly mocks competitors for charging add-on fees for API access, webhooks, and workflows — transparency that resonates with RevOps teams burned by Salesforce.
  • Unlimited custom objects and fields with no price impact, letting teams shape the data model to their business rather than forcing business into rigid schemas.
  • Modern TypeScript/React/PostgreSQL stack means developer-led teams can extend, self-host, or integrate without fighting legacy architecture.

Object mapping

How Oracle EBS CRM objects map to Twenty CRM

Each row shows how a Oracle EBS CRM object lands in Twenty CRM, 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

maps to

Twenty CRM

Company

1:1
Fully supported

Oracle EBS Accounts are stored in the ARHZTARZ base tables and exposed through the APPS schema. We query RA_CUSTOMERS and AR_CUSTOMER_ACCOUNTS for active account records, extracting account name, address, primary contact, and account type. The mapping resolves to Twenty Company records using the account name as the dedupe key. Multi-org EBS deployments require scoping the query to the relevant Operating Unit by filtering on ORG_ID in the AR tables. We preserve the original EBS account number as a custom field eb_legacy_account_number__c for audit and reconciliation.

Oracle EBS CRM

Contact

maps to

Twenty CRM

Person

1:1
Fully supported

EBS Contacts reside in base HR or AR schemas depending on whether they are employees or external parties — typically HZ_PARTIES joined to HZ_CONTACT_POINTS. We extract name, email, phone, job title, and relationship to Account (the HZ_CUST_ACCOUNT_ROLES link table). The mapping preserves the link to the parent Company in Twenty via the Person-Company relationship. We flag any contact record that exists in EBS without a corresponding Account as a standalone Person in Twenty.

Oracle EBS CRM

Opportunity

maps to

Twenty CRM

Opportunity

1:1
Fully supported

Opportunities in EBS are stored in the CZ (Collaborative Selling) or deprecated ASF schemas depending on the CRM module version. We identify the correct schema at discovery time by querying DBA_TABLES for CZ_ tables and extract stage, amount, close date, owner, and pipeline. Stage names map to Twenty Opportunity stage values and probability percentages. Owner resolution happens by email match against the FND_USER table extracted during user discovery.

Oracle EBS CRM

Territory

maps to

Twenty CRM

Workspace / Team

lossy
Fully supported

Territory definitions in EBS CRM are stored in AS_TERRITORIES with hierarchical org structures and per-OU assignment rules. Twenty does not have a native multi-org model — it uses workspaces and team-based access control. We map EBS territories to Twenty Workspaces, with the territory hierarchy flattened into workspace-child relationships. Each EBS territory assignment (which salesperson owns which account) becomes a team membership record in Twenty. The customer configures the workspace layout during migration scoping.

Oracle EBS CRM

Sales Activity / Task

maps to

Twenty CRM

Task

1:1
Fully supported

Activities and tasks are stored across multiple EBS CRM schemas — the deprecated Teleservice tables or the modern Interaction Center tables — depending on which CRM module is installed. We identify the correct source table at discovery, extract subject, description, status, due date, owner, and the relationship to the parent Contact or Account. The original EBS activity timestamp becomes the ActivityDate in Twenty. Call disposition and duration map to custom task fields in Twenty.

Oracle EBS CRM

Note / History

maps to

Twenty CRM

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 them as text with timestamps and owner references. Each note is linked to the parent Person, Company, or Opportunity in Twenty via the Note's target relationship. We flag any note record that references a deleted or unmigrated parent as orphaned and include it in the reconciliation report.

Oracle EBS CRM

Attachment

maps to

Twenty CRM

Attachment

1:1
Fully supported

Attachments in EBS CRM are stored as LOB data in the database (BFILE or CLOB columns) or on the file system depending on the attachment configuration. We extract attachments as BASE64-encoded blobs with the original filename and MIME type preserved, and attach them to the corresponding migrated record in Twenty. We flag any attachment that exceeds the target system's file size limits for customer resolution before import.

Oracle EBS CRM

User / Employee

maps to

Twenty CRM

User

1:1
Fully supported

Users in EBS CRM are employees sourced from PER_ALL_ASSIGNMENTS_F in the HR schema with CRM-specific responsibilities assigned via FND_RESPONSIBILITIES. We extract the FND_USER and FND_RESPONSIBILITY tables to get the user mapping matrix. Owner resolution in Twenty uses the email address as the dedupe key. Users present in EBS with no email address go to a reconciliation queue. The customer provisions matching Twenty users before the migration phase begins.

Oracle EBS CRM

Custom Object

maps to

Twenty CRM

Custom Object

1:1
Fully supported

Custom objects in EBS CRM are stored in user-defined tables within the base product schemas and often reference FK columns pointing to core tables like RA_CUSTOMERS or OE_HEADERS. We extract the DDL for each custom table, create the equivalent Twenty Custom Object schema (including custom field definitions, field types, and lookup relationships) before importing any data, and then import the custom records with their relationship references resolved to the migrated parent records in Twenty. Custom object naming follows the customer's established convention.

Oracle EBS CRM

Lead

maps to

Twenty CRM

Person / Opportunity

lossy
Fully supported

Oracle EBS CRM does not have a native standalone Lead object separate from Account and Contact. Pre-sales prospect data typically lives as incomplete Account or Contact records. We identify these during discovery by querying for records with no revenue, no closed date, and early-stage status. These records become Persons in Twenty with a lead_qualification_status__c custom field set to Pending. The customer defines the qualification criteria during scoping.

Oracle EBS CRM

Workflow

maps to

Twenty CRM

(no equivalent — documented for rebuild)

1:1
Fully supported

Oracle Workflows (stored in WF_ tables and implemented via PL/SQL packages) encode routing, approval, and notification logic specific to EBS. These definitions cannot be exported as structured data and have no equivalent construct in Twenty CRM, which uses a different automation model. We document every active Workflow at discovery — capturing triggering event, routing conditions, and approver assignments — in a structured report delivered to the customer's admin for rebuild in Twenty's automation tools.

Oracle EBS CRM

Forecast

maps to

Twenty CRM

(no equivalent)

1:1
Fully supported

Forecasting in EBS CRM is implemented through the Collaborative Selling module and stores forecast data in versioned CZ tables with tight coupling to Opportunity and Territory objects. There is no standard export mechanism. We do not migrate forecast data. We preserve the Opportunity records that feed the forecast so that Twenty's native pipeline and reporting capabilities can be used to rebuild the forecast view post-migration.

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

Twenty CRM logo

Twenty CRM gotchas

High

Import order is enforced and critical

High

Export limited to 20,000 records and visible columns only

Medium

Soft-deleted records count toward uniqueness and trigger restores

Medium

API rate limits cap at 200 req/min on Organization tier

Low

No native email sequences — follow-up cadences require external tools

Pair-specific challenges

  • No REST API — direct Oracle database access required

    Oracle EBS CRM exposes no 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/CSV. We connect directly to the Oracle database with read-only credentials scoped to CRM-relevant schemas. The customer must provision database access credentials and confirm the network path between our migration infrastructure and the EBS database server. For customers running EBS on-premise behind a corporate firewall, this may require VPN or bastion host configuration. For cloud-hosted EBS on OCI, we use Oracle PrivateSubnet routing with IAM-based credentials.

  • APPS schema coupling spans CRM, ERP, and HR

    Oracle EBS CRM is not a standalone application — the APPS schema aggregates code objects from all modules and the CRM data (Accounts, Contacts, Opportunities) is stored alongside financial, HR, and supply chain data in the same database instance. We scope our extraction to CRM-relevant base schemas and APPS views at the table level, but any database backup or restore operation during migration will affect the entire suite simultaneously. We coordinate with the customer's DBA to ensure only CRM data is queried and that concurrent write operations in non-CRM modules are not disrupted during the migration window.

  • Multi-org EBS requires per-Operating Unit scoping

    Organizations running Oracle EBS with multiple Operating Units store CRM data segmented by ORG_ID across shared tables. A single RA_CUSTOMERS query without an ORG_ID filter will return accounts from all Operating Units. We discover the customer's org structure during the initial query phase, scope all CRM data extractions to the relevant ORG_ID values, and map each Operating Unit to a separate Twenty Workspace during migration. Territory and ownership rules are org-specific in EBS and require careful mapping to avoid territory assignment conflicts in Twenty.

  • Oracle Workflows cannot be migrated — only documented

    Oracle Workflows stored in WF_ tables and implemented via PL/SQL packages encode routing, approval, and notification logic specific to EBS application events. There is no structured export and no equivalent construct in Twenty's automation model. We document every active Workflow during discovery with its triggering event, routing conditions, and approver assignments in a written report. The customer's admin rebuilds these as Twenty workflows post-migration. We flag any Workflow that depends on EBS-specific events (for example, PO approval triggered by an EBS purchasing event) as requiring process redesign rather than direct migration.

  • EBS user licensing model may overcount destination CRM seats

    Oracle EBS pricing uses named Application User minimums that vary by module and supports concurrent-user and processor-based licensing models that coexist in a single deployment. The FND_USER table may show many more users than the organization actually needs as active CRM users. We extract FND_USER and FND_RESPONSIBILITY during discovery to get an accurate user count and responsibility matrix, and we flag the discrepancy so the customer can right-size their Twenty seat count before committing to a plan. Migrating all EBS users as Twenty users would over-provision the destination unnecessarily.

Migration approach

Six steps for a successful Oracle EBS CRM to Twenty CRM data migration

  1. Discovery and database access provisioning

    We audit the source Oracle EBS environment by querying the APPS schema with read-only credentials to enumerate CRM tables, identify the correct Opportunity schema (CZ vs ASF), discover custom object tables and their FK relationships, and extract the FND_USER and FND_RESPONSIBILITY matrices for owner reconciliation. We also identify the Operating Units in scope and document the attachment storage configuration (database LOB vs file system). The customer provisions database access credentials and confirms the network path. The discovery output is a written schema map and migration scope document.

  2. Data quality assessment and cleansing

    We run discovery queries to identify data quality issues: duplicate Accounts, Contacts with missing email addresses, Opportunities with no owner, orphaned notes, and attachment records pointing to deleted parents. We deliver a data quality report with row counts per issue category and recommendations for cleansing before migration. Cleansing is the customer's responsibility; we can provide SQL scripts for common fixes if the customer's DBA approves running them against the production database. We do not cleanse data on the source system — all cleansing recommendations are for the customer's review and action.

  3. Twenty destination setup and schema deployment

    We configure the Twenty CRM destination environment. This includes creating the Workspaces that map to EBS Operating Units (or a single Workspace if single-org), defining custom fields on Company, Person, and Opportunity to carry EBS legacy identifiers (eb_legacy_account_number__c, eb_legacy_contact_id__c, etc.), and pre-creating any Custom Objects with their field definitions and lookup relationships. Twenty's Custom Object feature is available without tier restrictions, so schema design is scoped to the customer's actual needs. The Twenty instance can be self-hosted by the customer or provisioned on their chosen cloud infrastructure.

  4. Sandbox migration and reconciliation

    We run a full migration into a staging environment using production-like data volume. The customer reconciles record counts: Companies in, Persons in, Opportunities in, Activities in, Notes in. We spot-check 25-50 records against the EBS source and the customer signs off the mapping before production migration begins. Any mapping corrections, custom field additions, or workflow changes happen in staging. This step also validates that the Twenty instance's performance under load is acceptable for the customer's data volume.

  5. Production migration in dependency order

    We run production migration in the following order: User provisioning validation (email-matched against FND_USER), Companies (from EBS Accounts), Persons (from EBS Contacts with Company lookup resolved), Opportunities (with owner, stage, and amount preserved), Activities and Tasks (with parent relationship to Person or Company resolved), Notes, Attachments (BASE64 import), Custom Objects (last, with all lookup references resolved). Each phase emits a row-count reconciliation report before the next phase begins. We use batch processing with error logging to identify and flag any record-level failures without halting the migration.

  6. Cutover, final validation, and Workflow handoff

    We freeze EBS CRM writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Twenty as the system of record. We deliver the Workflow inventory document to the customer's admin team for rebuild in Twenty's automation tools. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild Oracle Workflows as Twenty automations inside the migration scope; that is a separate engagement or an internal admin task.

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.
Twenty CRM logo

Twenty CRM

Destination

Strengths

  • AGPL-3.0 open-source license with full source code on GitHub — no vendor lock-in, no sunset risk.
  • Unlimited users and unlimited custom objects on self-hosted, with no feature gating based on headcount.
  • REST and GraphQL APIs available on all paid tiers, not locked behind an enterprise add-on fee.
  • MCP server and webhooks shipped as standard features, not premium upgrades.
  • Modern PostgreSQL-backed data model that developer teams can query, extend, and self-host.

Weaknesses

  • Recent v1.0 release means limited production hardening compared to CRMs with multi-year operational track records.
  • No native email sequencing or sales engagement tools — follow-up cadences require a separate platform.
  • No native two-way email sync or inbox integration, requiring third-party connectors for full activity logging.
  • Self-hosting 'free' pricing hides real infrastructure and DevOps costs that stack up over time.
  • Workflow automation is functional but lacks the complexity needed for sophisticated multi-step sales motions.

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 Twenty CRM.

  • 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 Twenty CRM 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 Twenty CRM data migrations

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

Can't find your answer?

Walk through your Oracle EBS CRM to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between six and ten weeks for organizations with a single Operating Unit, under 15,000 Contacts, 3,000 Opportunities, and no complex custom object schemas. Multi-org EBS deployments, large historical activity volumes (over 200,000 records), or complex Territory hierarchies extend the timeline to twelve to eighteen weeks because of the additional APPS schema scoping work, multi-workspace configuration, and parent-record resolution required at each phase. Industry benchmarks from CRM migration specialists confirm that EBS-sourced migrations run longer than cloud-to-cloud moves because of the direct database access requirement.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Oracle EBS CRM.
Land in Twenty CRM, 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