CRM migration

Migrate from Sentian Solutions to Odoo CRM

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 logo

Sentian Solutions

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

100%

11 of 11

objects map 1:1 between Sentian Solutions and Odoo CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Sentian Solutions logo

Sentian Solutions

What's pushing teams away

  • Customers report that the UI feels outdated compared to newer legal CRMs, with workflows that require too many clicks for routine tasks.
  • Integration options are limited — some firms cannot connect Sentian Solutions to the productivity tools their attorneys already use.
  • Support responsiveness is cited as a frustration, with some firms waiting days for responses to critical issues during billing periods.
  • Scaling limitations become apparent for firms that grow beyond the mid-market tier, leading them to evaluate enterprise legal CRMs.
  • Data export processes are described as cumbersome, with no self-service option requiring firm staff to manually pull reports before migration.

Choosing

Odoo CRM logo

Odoo CRM

What's pulling them in

  • Teams choose Odoo CRM for its modular architecture — one base install with one-click app additions means they can adopt CRM alone and add accounting, inventory, or sales later as the business grows.
  • Small businesses pick Odoo because the Community edition is free and open-source, with no per-user or contact limits, allowing full evaluation before committing to a paid Enterprise tier.
  • The drag-and-drop Kanban pipeline and AI lead scoring are highlighted across G2 reviews as concrete features that make lead management faster and more visual than spreadsheet-based workflows.
  • Odoo's native integration with email, live chat, SMS, VoIP, and WhatsApp means inbound leads from multiple channels feed into a single pipeline without third-party middleware.
  • Companies in retail, supply chain, and construction value that Odoo's CRM module shares the same PostgreSQL database and UI as its ERP modules, eliminating data silos between sales and operations.

Object mapping

How Sentian Solutions objects map to Odoo CRM

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

maps to

Odoo CRM

res.partner

1:1
Fully supported

Sentian 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

maps to

Odoo CRM

res.partner (company type)

1:1
Fully supported

Sentian 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

maps to

Odoo CRM

crm.lead (opportunity)

1:1
Fully supported

Sentian 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

maps to

Odoo CRM

crm.stage

1:1
Fully supported

Sentian 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

maps to

Odoo CRM

crm.lead / x_custom_field

1:1
Fully supported

Sentian 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

maps to

Odoo CRM

crm.phonecall

1:1
Fully supported

Sentian 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

maps to

Odoo CRM

mail.message

1:1
Fully supported

Sentian 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

maps to

Odoo CRM

calendar.event

1:1
Fully supported

Sentian 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

maps to

Odoo CRM

mail.message / note.template

1:1
Fully supported

Sentian 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

maps to

Odoo CRM

ir.model (custom)

1:1
Fully supported

Sentian 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

maps to

Odoo CRM

res.users

1:1
Fully supported

Sentian 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.

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.

Sentian Solutions logo

Sentian Solutions gotchas

High

No self-service data export requires manual pull

High

Trust account balance validation is compliance-critical

Medium

Custom fields vary by practice area and firm

Medium

Time entries must preserve billable vs non-billable status

Odoo CRM logo

Odoo CRM gotchas

High

Odoo.sh version gating blocks assisted migrations from trial

High

Enterprise modules fail to install on Community after database restore

Medium

Custom module view inheritance breaks between Odoo major versions

Medium

Custom fields risk losing their application context on Community

Low

API access for Community is gated behind the Custom Plan

Pair-specific challenges

  • Odoo External API requires Custom plan — Standard plan has no programmatic write access

    The Odoo XML-RPC External API that FlitStack uses for automated record creation, staging, and delta-pickup is only enabled on the Odoo Custom plan ($49/user/month). On the Standard plan ($24/user/month), you can export and import via CSV through Odoo's UI, but API-driven sequencing, field-level diff validation, and automated rollback are not available. We assess your Odoo plan during discovery: if you are on Standard, we use Odoo's native CSV import framework with the same mapping logic, field validation, and audit log — just with manual step sequencing instead of API calls. This does not affect data completeness, only migration automation speed.

  • Sentian pipeline stages must be pre-created in Odoo before opportunities can reference them

    In Odoo CRM, pipeline stages are records in the crm.stage model grouped by crm.team, not pick-list values on the opportunity object. When Sentian deal records reference a pipeline stage name, that stage must exist as an Odoo crm.stage record within the target sales team before opportunities are loaded — otherwise the opportunity import fails with a foreign-key constraint error. We create all Odoo stages during the schema-setup phase, preserving Sentian stage names, sequence order, and probability percentages. For multi-pipeline Sentian setups, each pipeline becomes a separate Odoo sales team with its own stage set, which must be planned in advance to avoid stage-name collisions across teams.

  • Odoo has no native lead scoring or lifecycle stage field — Sentian scoring logic requires a rebuild plan

    If Sentian tracks lead score, lifecycle stage, or grade as a calculated or pick-list field on contacts or leads, Odoo has no direct equivalent. Odoo CRM has no built-in lifecycle stage model; its crm.lead table has a stage_id for pipeline progression but no buyer-journey or lifecycle concept. Lead scoring in Odoo requires the optional 'CRM Predictive Lead Scoring' module (Odoo Enterprise) or a custom field plus automation rules built in Odoo Studio. We preserve Sentian score values and lifecycle stages as custom Char or Integer fields on the Odoo record during migration, giving your admin a starting dataset to design scoring rules against.

  • Odoo res.partner handles contacts and companies in one table — N:N contact-to-company collapses to parent_id

    Sentian supports a contact being associated with multiple companies simultaneously. Odoo res.partner stores each record as either a contact or a company; a contact's company link is a single parent_id Many2one field. A contact with three associated companies in Sentian must choose one as parent_id in Odoo. We use a deterministic rule — typically the most-recently-modified company association — as the primary parent, and store the full list of associated companies in a custom Char field (x_associated_companies) so the information is not lost. Your admin reviews this field post-migration and can adjust the primary company assignment in bulk if needed.

  • Odoo Community has no built-in custom field UI — custom fields need Odoo Studio or a Python module

    If your Sentian migration requires custom fields to hold lifecycle stage, lead score, or other Sentian-specific properties, Odoo Community (the free edition) has no GUI for creating custom fields. You need either the Odoo Custom plan with Odoo Studio enabled, or a custom Python module that defines the fields using Odoo's ORM. We coordinate custom field creation during the schema-setup phase: for Custom plan customers we use Odoo Studio; for Community plan customers we provide the field definition Python code as part of the migration package so your developer or Odoo partner can install it before data loads. This is a planning dependency that must be resolved before the migration runs.

Migration approach

Six steps for a successful Sentian Solutions to Odoo CRM data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Context on both ends of the pair

Sentian Solutions logo

Sentian Solutions

Source

Strengths

  • Integrated matter management with built-in trust accounting for legal compliance
  • Client-facing portal reduces administrative overhead for status updates and document sharing
  • Predictable pricing model appealing to law firms managing tight budgets
  • Established in the legal vertical with practice-area specific workflows
  • Time and billing tightly coupled to matters for accurate client invoicing

Weaknesses

  • User interface feels dated compared to newer legal CRM competitors
  • Limited third-party integrations beyond core legal tools
  • Self-service data export not available, complicating migration
  • Support response times reported as slow during critical periods
  • Scaling constraints for rapidly growing law firms
Odoo CRM logo

Odoo CRM

Destination

Strengths

  • Modular open-source architecture lets teams start with CRM and add ERP apps as needs grow, all sharing one PostgreSQL database.
  • Free Community edition with no contact limits and full source code access means zero licensing cost for evaluation and small deployments.
  • Drag-and-drop Kanban pipeline with AI lead scoring gives a visual, prioritized view of the sales funnel without requiring custom configuration.
  • Native integrations with email, live chat, SMS, VoIP, WhatsApp, and social media feed all inbound leads into a single unified inbox.
  • Active Odoo Community Association (OCA) maintains dozens of community-maintained modules on GitHub for extended functionality.

Weaknesses

  • Gmail and email integration reliability is a recurring complaint — threads drop and conversations scatter across inboxes, disrupting sales team workflows.
  • Enterprise edition pricing stacks quickly: multiple apps at per-user rates ($25–$50/user/month) plus Odoo.sh hosting costs more than many SMBs anticipate.
  • Setup and configuration complexity increases significantly once custom fields, automation rules, and multiple installed modules are in play.
  • Odoo.sh trial databases run on a version (e.g., 18.3) that is not directly migratable to Odoo.sh, blocking the assisted migration path Odoo advertises.
  • Version upgrades between major Odoo releases (e.g., 17→18) frequently break custom module view definitions and XPath expressions, requiring manual remediation.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 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 Sentian Solutions and Odoo CRM.

  • Object compatibility

    B

    2 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

    Sentian Solutions: N/A.

  • Data volume sensitivity

    B

    Sentian Solutions doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Sentian Solutions to Odoo 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 Sentian Solutions to Odoo CRM data migrations

Answers to the questions buyers ask most during Sentian Solutions to Odoo CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most Sentian-to-Odoo migrations complete in 48–72 hours for datasets under 50,000 total records, including the 24–48 hour delta-pickup window for in-flight changes during cutover. Larger datasets exceeding 50,000 records, multi-pipeline setups requiring extensive crm.stage pre-creation, or migrations involving Odoo Community plan CSV imports (rather than API-driven loads) extend the timeline to 5–7 days. The longest single step is usually Odoo stage and custom field setup, which runs in parallel with the sample migration phase.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Sentian Solutions.
Land in Odoo 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