CRM migration
Field-level mapping, validation, and rollback between Sentian Solutions and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Sentian Solutions
Source
Odoo CRM
Destination
Compatibility
11 of 11
objects map 1:1 between Sentian Solutions and Odoo CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Sentian Solutions stores CRM data in a standard object graph: contacts with names, emails, phone numbers, job titles, and company associations; companies with industry, employee count, and revenue figures; deals with pipeline stages, amounts, and close dates; and activities including calls, emails, and meetings with timestamps and owner links. Odoo CRM uses a different model: leads and opportunities live in the same crm.lead table distinguished by a type field, contacts are stored as res.partner records with a contact_type discriminator, companies are also res.partner records with type='company', and deals map to the opportunity sub-record within crm.lead. We migrate all standard Sentian objects into their Odoo equivalents, preserve original timestamps in custom fields, and surface Sentian pipeline-stage names as Odoo crm.stage records created during setup. Automation logic — workflows, sequences, and routing rules — does not transfer; we document those definitions for your Odoo admin to rebuild using Odoo's studio and automation rules. Our migration uses the Odoo External API (XML-RPC) when your Odoo instance has the Custom plan with API access, falling back to CSV import for Standard plan instances. A delta-pickup window captures any in-flight changes during cutover.
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 Sentian Solutions 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.
Sentian Solutions
Contact
Odoo CRM
res.partner
1:1Sentian contacts migrate to Odoo res.partner records with contact_type='contact'. The Sentian contact's associated company becomes a separate res.partner record with type='company'; the contact record references it via parent_id. This resolves Sentian's contact-to-company 1:N relationship into Odoo's parent-child partner model. Additional Sentian fields such as job title, phone, and email map directly to Odoo res.partner.function, phone, and email. Extra phone numbers per contact are stored in custom fields to preserve detail.
Sentian Solutions
Company
Odoo CRM
res.partner (company type)
1:1Sentian companies map 1:1 to Odoo res.partner records with type='company'. The company name populates res.partner.name; domain maps to website. Industry, employee count, and annual revenue populate their Odoo counterparts or custom fields if Sentian uses extended pick-list values not present in Odoo's default industry list.
Sentian Solutions
Deal
Odoo CRM
crm.lead (opportunity)
1:1Sentian deals migrate as Odoo crm.lead records with type='opportunity'. The Sentian deal name populates crm.lead.name, amount populates planned_revenue, and close date populates date_closed. The pipeline maps to an Odoo sales_team via team_id; each pipeline in Sentian becomes one Odoo sales team with its own crm.stage records.
Sentian Solutions
Pipeline Stage
Odoo CRM
crm.stage
1:1Sentian pipeline stages are pick-list values on the deal; Odoo stages are records in crm.stage grouped by sales team. We pre-create Odoo stages matching each Sentian pipeline stage name, preserving the sequence order. Probability values from Sentian are stored as sequence integers and as custom probability fields on the stage records for reporting continuity.
Sentian Solutions
Lead / Lifecycle Stage
Odoo CRM
crm.lead / x_custom_field
1:1Sentian leads with a lifecycle stage property route to Odoo crm.lead as type='lead'. The lifecycle stage value is stored in a custom Char or Selection field on crm.lead (x_lifecycle_stage__c or similar) since Odoo has no native lifecycle field. Customers upgrading to Odoo's lead-scoring module can then build stage-based automation on top of that field.
Sentian Solutions
Call Activity
Odoo CRM
crm.phonecall
1:1Sentian logged calls map to Odoo crm.phonecall records. Subject, description, duration, call date, and partner_id (the related contact) are mapped directly. Owner is resolved by email match to Odoo res.users records; unmatched owners are flagged for admin assignment before migration commits.
Sentian Solutions
Email Activity
Odoo CRM
mail.message
1:1Sentian email records migrate as Odoo mail.message entries linked to the crm.lead or res.partner record. Subject, body (plain text), date, and author_id are preserved. Odoo's mail.thread model associates messages with records automatically based on model and res_id. HTML email bodies are sanitized to plain text during import to avoid rendering issues in Odoo's message composer.
Sentian Solutions
Meeting / Calendar Activity
Odoo CRM
calendar.event
1:1Sentian meeting records become Odoo calendar.event entries. Title, start datetime, stop datetime, duration, location, and attendee list (partner_ids) are mapped. Sentian meeting descriptions migrate as body text. Recurring meetings are flattened into individual event records since Odoo's calendar module handles recurrence on the event itself.
Sentian Solutions
Note
Odoo CRM
mail.message / note.template
1:1Sentian notes attached to contacts, companies, or deals become Odoo mail.message records on the target res.partner or crm.lead. Odoo distinguishes internal notes (mail.message with subtype=note) from emails; we flag Sentian notes as internal notes so they do not send to contacts. HTML formatting is stripped to Odoo's note-compatible subset.
Sentian Solutions
Custom Object
Odoo CRM
ir.model (custom)
1:1Sentian custom objects with their own fields and relationships require Odoo custom module development or Odoo Studio configuration. We map the custom object to a new Odoo model and translate each custom field type to the closest Odoo field type (Char, Integer, Float, Selection, Many2one). N:N relationships in Sentian require Odoo Many2many fields in the custom model.
Sentian Solutions
Sentian User / Owner
Odoo CRM
res.users
1:1Sentian owner IDs on deals and activities resolve by email match against Odoo res.users. Unmatched owners are flagged in the pre-migration report; the customer either creates Odoo user accounts before migration or assigns records to a designated fallback user. This prevents orphaned records in Odoo that have no assigned sales rep.
| Sentian Solutions | Odoo CRM | Compatibility | |
|---|---|---|---|
| Contact | res.partner1:1 | Fully supported | |
| Company | res.partner (company type)1:1 | Fully supported | |
| Deal | crm.lead (opportunity)1:1 | Fully supported | |
| Pipeline Stage | crm.stage1:1 | Fully supported | |
| Lead / Lifecycle Stage | crm.lead / x_custom_field1:1 | Fully supported | |
| Call Activity | crm.phonecall1:1 | Fully supported | |
| Email Activity | mail.message1:1 | Fully supported | |
| Meeting / Calendar Activity | calendar.event1:1 | Fully supported | |
| Note | mail.message / note.template1:1 | Fully supported | |
| Custom Object | ir.model (custom)1:1 | Fully supported | |
| Sentian User / Owner | res.users1:1 | 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.
Sentian Solutions gotchas
No self-service data export requires manual pull
Trust account balance validation is compliance-critical
Custom fields vary by practice area and firm
Time entries must preserve billable vs non-billable status
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
Data audit and field-level mapping plan
FlitStack AI reads the Sentian database via API export, inventories every object (contacts, companies, deals, activities, custom objects, custom fields), and produces a field-level mapping document. We identify Sentian fields with no direct Odoo equivalent and flag them for custom field creation. We also count distinct pipeline stage names and group them by Sentian pipeline to plan Odoo crm.team and crm.stage creation. The mapping document is reviewed with you before any data moves.
Assess Odoo API access and pre-create stages and custom fields
We confirm whether your Odoo instance has the Custom plan with External API (XML-RPC) enabled. If yes, we use API-based migration for automated sequencing and validation. If no, we configure CSV import workflows with identical mapping logic. In parallel, we create Odoo crm.stage records for each Sentian pipeline stage, assign them to the correct crm.team, and create any custom fields (x_lifecycle_stage__c, x_original_create_date__c, etc.) using Odoo Studio or custom module code.
Owner and user resolution across both platforms
Sentian owner IDs on deals, contacts, and activities are resolved by email match against Odoo res.users. We generate a pre-migration owner report listing all matched and unmatched Sentian owners. Unmatched owners require either an Odoo user account created before migration or a fallback user assignment. No record migrates without a resolved owner. This step prevents Odoo records from landing without an assigned sales rep, which would hide them from team dashboards.
Sample migration with field-level diff
We extract a representative slice — typically 100–500 records covering contacts, companies, deals, and activities — and run the migration against your Odoo instance. We generate a field-level diff comparing source values against destination field values for every mapped field. You review the diff and confirm stage mapping, custom field population, and owner resolution before the full run. Adjustments to the mapping plan are made and re-validated in the sample before committing to the full dataset.
Full migration with delta-pickup and automation export
The full dataset migrates in dependency order: companies first (res.partner type='company'), then contacts with parent_id links, then opportunities with stage_id and team_id assignment, then activity records (calls, emails, meetings) linked to the correct crm.lead or res.partner. Throughout migration your team continues working in Sentian with read-only access. After the main load completes, a delta-pickup window (24–48 hours) captures any records created or modified during cutover and applies them to Odoo. We export Sentian workflow and sequence definitions as a reference document for rebuilding in Odoo's automation tools.
Platform deep dives
Sentian Solutions
Source
Strengths
Weaknesses
Odoo CRM
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 Sentian Solutions and Odoo CRM.
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
Sentian Solutions: N/A.
Data volume sensitivity
Sentian Solutions 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 Sentian Solutions to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Sentian Solutions 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 Sentian Solutions
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.