CRM migration
Field-level mapping, validation, and rollback between Right On Interactive and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Right On Interactive
Source
Odoo CRM
Destination
Compatibility
9 of 12
objects map 1:1 between Right On Interactive and Odoo CRM.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Right On Interactive to Odoo CRM is a migration from a lifecycle marketing automation layer into a full ERP-embedded CRM. Right On Interactive organizes its data around Contacts with 3D scoring and lifecycle stage assignments; Odoo separates Leads and Opportunities within its sales pipeline model and stores scoring data in custom fields that must be created before any records are imported. The most significant difference is that Right On Interactive has no public API, so data extraction requires coordinated export handling with the platform's team rather than a programmatic pull. We map the account-configured lifecycle stage labels to Odoo custom selection fields, preserve all three 3D scoring sub-dimensions as individual number fields, and attach engagement events (email opens, link clicks, form submissions) as Odoo Activity records linked to the correct contact. Workflow automation logic tied to lifecycle stages does not migrate; we deliver a written playbook documenting every automation trigger and condition for the customer's team to rebuild in Odoo Workflow.
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 Right On Interactive object lands in Odoo CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Right On Interactive
Contact
Odoo CRM
crm.lead or res.partner
1:manyRight On Interactive Contacts with lifecycle stages below sales-qualified threshold (Prospect, MQL, Subscriber) map to Odoo crm.lead. Lifecycle stages above sales-qualified (SQL, Customer, Advocate) map to res.partner contact records attached to a parent Company (res.partner in company mode). We capture the customer's full lifecycle stage label set during discovery, build the mapping table, and preserve the original stage label in a custom char field roi_lifecycle_stage__c on both crm.lead and res.partner for historical audit. The split rule is parameterized before migration so the same script can be re-run for delta imports.
Right On Interactive
Account/Company
Odoo CRM
res.partner (company mode)
1:1Right On Interactive Company records map to Odoo res.partner records with is_company=True. The company domain from Right On Interactive becomes the Website field and serves as the deduplication key during import. Parent-child relationships between companies (if configured in Right On Interactive) map to the parent_id field on res.partner. All contacts imported later reference their parent company via partner_id to satisfy Odoo's partner-company linking model.
Right On Interactive
3D Score
Odoo CRM
Custom number fields on res.partner and crm.lead
1:1Right On Interactive's behavioral, demographic, and firmographic sub-scores each become a separate custom float field on res.partner and crm.lead: roi_score_behavioral__c, roi_score_demographic__c, and roi_score_firmographic__c. The aggregate 3D score maps to a fourth custom field roi_score_total__c. We create these fields via Odoo Studio or direct field creation in developer mode before migration begins. Odoo has no native multi-dimensional scoring model, so the three-field structure preserves analytical value and enables the customer's team to use these values in Odoo computed fields, domain filters, and group-by views.
Right On Interactive
Lifecycle Stage
Odoo CRM
Custom selection field on res.partner and crm.lead
lossyRight On Interactive lifecycle stage labels are account-configured custom properties, not a fixed schema. We extract the complete label set during discovery (for example: Prospect, Marketing Qualified, Sales Accepted, Customer, Evangelist), create a custom selection field roi_lifecycle_stage__c with those exact values on both crm.lead and res.partner, and map each contact's stage value at import time. If the customer uses different stage names per sub-account or brand, we create a mapping table per label group and apply it during the transform phase.
Right On Interactive
Engagement History
Odoo CRM
crm.activity (mail.message or crm.activity)
1:1Right On Interactive engagement events (email opens, link clicks, form submissions, social interactions) attach as Odoo crm.activity records linked to the parent res.partner via res_id and model='res.partner'. Each activity record carries activity_type_id, description, create_date from the original timestamp, and a custom body field holding the engagement detail (clicked URL, form name, social platform). Email response events map to crm.lead model. Activity type categorization preserves the source event type for Odoo group-by filtering. This mapping handles historical records; new engagement tracking after cutover requires Odoo's native email tracking or a third-party integration.
Right On Interactive
Lead
Odoo CRM
crm.lead
1:1Right On Interactive Lead records (synced from CRM integrations) map directly to Odoo crm.lead. The lead_source attribution from Right On Interactive maps to Odoo's source_id (utm.source). Initial scoring from Right On Interactive at time of sync is preserved in a custom field roi_import_score__c on crm.lead. Lead status transitions that contributed to lifecycle stage movement are documented as activity notes for the customer's admin to review during Odoo workflow configuration.
Right On Interactive
Opportunity
Odoo CRM
crm.lead (stage=Opportunity)
1:1Right On Interactive Opportunity data synced from CRM integrations maps to Odoo crm.lead records where the type='opportunity'. The pipeline stage from Right On Interactive maps to Odoo's stage_id within the relevant team pipeline. Deal value maps to Odoo's expected_revenue field. The linked contact and company resolve to res.partner records via the partner_id and partner_name fields at migration time. Odoo's kanban pipeline view renders the opportunity stages automatically from the stage_id assignment.
Right On Interactive
Campaign/Program
Odoo CRM
utm.campaign
1:1Right On Interactive Campaign records (program assets, budgets, multi-channel assignments) map to Odoo utm.campaign for marketing attribution tracking. Campaign metadata (budget, channel assignment) migrates to custom fields on utm.campaign: roi_campaign_budget__c and roi_campaign_channel__c. Active campaign execution state (sending, paused, completed) is not transferred; the customer reactivates campaigns in Odoo using the campaign record as the UTM attribution source. The utm.campaign model enables Odoo to attribute new Leads and Opportunities to the migrated campaign source.
Right On Interactive
Event Registration
Odoo CRM
event.registration
1:1Right On Interactive event and webinar registrations map to Odoo event.registration records linked to the corresponding event.event. Invitation status (Registered, Attended, No-Show) and follow-up sequence assignments migrate as registration state and a custom field roi_followup_sequence__c. If the customer's Odoo instance does not include the Event module, registrations migrate as crm.activity records attached to the res.partner with a custom selection field roi_registration_type__c set to 'webinar' or 'event'.
Right On Interactive
Social Data
Odoo CRM
Custom fields on res.partner
1:1Right On Interactive social listening data including mention counts and sentiment scores migrate as custom integer fields on res.partner: roi_social_mentions__c and roi_sentiment_score__c. Raw social stream data requires separate export handling and does not transfer as structured Odoo records; we document the export format and recommend a social listening integration (native Odoo social apps or a third-party connector) for ongoing stream data post-migration.
Right On Interactive
Owner
Odoo CRM
res.users
1:1Right On Interactive Owners map to Odoo res.users by email match. We extract every distinct owner referenced on Contact, Company, and Engagement records and match against the destination Odoo instance's res.users table. Owners without a matching res.users account are held in a reconciliation queue for the customer's admin to provision before record import resumes. Inactive users are migrated as inactive res.users with the appropriate flag to preserve historical assignment without granting login access.
Right On Interactive
Landing Page (template)
Odoo CRM
Documented as HTML asset, not migrated
lossyRight On Interactive landing pages and their associated form fields export as HTML assets or template records. We flag any embedded dynamic content fields for manual rebuild in Odoo Website Builder or as web.form models. The landing page URL mapping to UTM sources is documented in the migration playbook so the customer can configure corresponding Odoo website landing pages with the same attribution logic. Active live pages are not transferred as functional pages; they are documented for rebuild.
| Right On Interactive | Odoo CRM | Compatibility | |
|---|---|---|---|
| Contact | crm.lead or res.partner1:many | Fully supported | |
| Account/Company | res.partner (company mode)1:1 | Fully supported | |
| 3D Score | Custom number fields on res.partner and crm.lead1:1 | Fully supported | |
| Lifecycle Stage | Custom selection field on res.partner and crm.leadlossy | Fully supported | |
| Engagement History | crm.activity (mail.message or crm.activity)1:1 | Fully supported | |
| Lead | crm.lead1:1 | Fully supported | |
| Opportunity | crm.lead (stage=Opportunity)1:1 | Fully supported | |
| Campaign/Program | utm.campaign1:1 | Fully supported | |
| Event Registration | event.registration1:1 | Fully supported | |
| Social Data | Custom fields on res.partner1:1 | Mapping required | |
| Owner | res.users1:1 | Fully supported | |
| Landing Page (template) | Documented as HTML asset, not migratedlossy | 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.
Right On Interactive gotchas
No publicly documented API for direct data extraction
Lifecycle stage names are account-configured custom fields
3D scoring sub-dimensions do not map to standard CRM score fields
Email automation workflows require manual rebuild on destination platform
Odoo CRM gotchas
Odoo.sh version gating blocks assisted migrations from trial
Enterprise modules fail to install on Community after database restore
Custom module view inheritance breaks between Odoo major versions
Custom fields risk losing their application context on Community
API access for Community is gated behind the Custom Plan
Pair-specific challenges
Migration approach
Discovery and export coordination
We audit the Right On Interactive account across contact volume, lifecycle stage label set, 3D scoring configuration, engagement history volume, campaign structure, and any CRM sync integrations in use. Simultaneously, we coordinate the data export process with the Right On Interactive team, confirming export format (CSV, XML, or direct database extract), delivery timeline, and any export limitations. We pair this with an Odoo environment audit: installed apps, existing custom fields, user count, and team structure. The discovery output is a written migration scope, an export delivery schedule, and an Odoo schema design document specifying the custom fields we will create before import.
Odoo schema design and custom field creation
We design the destination schema in Odoo before any data is imported. This includes creating custom fields for 3D scoring sub-dimensions (roi_score_behavioral__c, roi_score_demographic__c, roi_score_firmographic__c, roi_score_total__c as float fields on res.partner and crm.lead), the lifecycle stage selection field (roi_lifecycle_stage__c with values from the customer's discovery-defined label set), and any campaign metadata fields (roi_campaign_budget__c, roi_campaign_channel__c on utm.campaign). We configure the Odoo crm.team structure to match the customer's Right On Interactive segmentation model. Schema is built in a sandbox or development Odoo instance first and validated before production deployment.
Sandbox migration and reconciliation
We run a full migration into the customer's Odoo sandbox environment using production-like data volume. The customer's Odoo administrator reconciles record counts (Companies in, Contacts in, Leads in, Opportunities in, Activities in), spot-checks 25-50 random records against the Right On Interactive source export, and validates that 3D score values and lifecycle stage labels transferred correctly. Any mapping corrections, field type adjustments, or selection value additions happen in the sandbox before production migration begins. Sandbox validation typically runs one to two weeks depending on the customer's review cycle.
Owner reconciliation and res.users provisioning
We extract every distinct Right On Interactive Owner referenced on Contact, Company, and Engagement records and match by email against the destination Odoo instance's res.users table. Owners without a matching res.users account enter a reconciliation queue. The customer's Odoo administrator provisions any missing user accounts (active or inactive depending on whether the original Right On Interactive owner is still active). Migration cannot proceed past this step because partner_id and user_id references are required constraints on most Odoo standard models.
Production migration in dependency order
We run production migration in record-dependency order: res.partner companies (is_company=True) first, res.partner contacts second with partner_id resolved to parent company, crm.lead records third with the lifecycle stage split applied and lead source from utm.campaign mapping, crm.activity records fourth with res_id resolved to the correct res.partner or crm.lead record, event.registration fifth if the Event module is installed, utm.campaign sixth with campaign metadata fields populated. Each phase emits a row-count reconciliation report before the next phase begins. We use Odoo's XML-RPC API for all imports with batch chunking and retry logic on transient errors.
Cutover, validation, and automation rebuild handoff
We freeze Right On Interactive data entry during cutover, run a final delta migration of any records modified during the migration window, then set Odoo as the system of record. We deliver the migration playbook documenting all active automations, lifecycle trigger logic, and the recommended Odoo Workflow equivalents for the customer's team to rebuild. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's sales or marketing team. We do not rebuild Right On Interactive automations as Odoo Workflow inside the migration scope; that work is documented separately for the customer's Odoo administrator or an Odoo implementation partner.
Platform deep dives
Right On Interactive
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Right On Interactive and Odoo CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Right On Interactive and Odoo CRM.
Object compatibility
All 8 core objects map 1:1 between Right On Interactive and Odoo CRM.
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
Right On Interactive: Not publicly documented.
Data volume sensitivity
Right On Interactive 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 Right On Interactive to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Right On Interactive to Odoo CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Right On Interactive
Other ways to arrive at Odoo CRM
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.