CRM migration

Migrate from Divalto weavy to Odoo CRM

Field-level mapping, validation, and rollback between Divalto weavy and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.

Divalto weavy logo

Divalto weavy

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

92%

11 of 12

objects map 1:1 between Divalto weavy and Odoo CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Migrating from Divalto weavy to Odoo CRM begins with a constraint that shapes everything else: Divalto weavy does not publish a public REST API and manages integrations exclusively through Zapier. We cannot read or write to Divalto weavy programmatically, so every migration starts with vendor-coordinated data exports. We work with Divalto support to extract CSV or vendor-portal exports covering Companies, Contacts, Leads, Deals, Activities, and any custom objects built in the Development Studio. Odoo CRM receives this data via its XML-RPC and JSON-RPC API, which supports batch record creation with parent-lookup resolution. Development Studio custom fields require explicit schema audits and Odoo custom field creation before import. Route and itinerary data tied to Divalto weavy's field workforce features have no standard Odoo CRM equivalent and are flagged as excluded from standard scope. We do not migrate Divalto weavy automations or Development Studio workflows; we deliver a written inventory of every automation for the customer's admin to rebuild in Odoo Studio.

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

Divalto weavy logo

Divalto weavy

What's pushing teams away

  • Pricing is consistently cited as a downside in French reviews — entry rate from €40/user/month with no free plan, which is steep for VSEs (very small enterprises).
  • No free or freemium tier, so evaluation requires a paid commitment or sales-led demo rather than self-serve trial.
  • Outside France/French-speaking Europe the support and integrator network is thin, limiting adoption for multinational rollouts.
  • Focus on SME/mid-market means very small startups and global enterprises both fall outside the natural fit zone.
  • Catalog website mismatch (weavy.com is a different product) makes vendor identification harder for international buyers — the actual product lives at divalto.com.

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 Divalto weavy objects map to Odoo CRM

Each row shows how a Divalto weavy 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.

Divalto weavy

Company

maps to

Odoo CRM

res.partner (company type)

1:1
Fully supported

Divalto weavy Companies map to Odoo res.partner records with company_type set to 'company'. The company name, industry, billing address, and shipping address fields map to Odoo's name, industry_id, and address fields (street, city, zip, country). Odoo's partner model supports multiple addresses per company via the child_ids relationship, which we use to represent Divalto weavy's separate billing and shipping addresses as distinct res.partner records of type 'contact' linked to the parent company.

Divalto weavy

Contact

maps to

Odoo CRM

res.partner (individual type)

1:1
Fully supported

Divalto weavy Contacts map to Odoo res.partner records with company_type set to 'person' and a parent_id linking to the corresponding company partner. Standard fields (name, email, phone, mobile, job title) map directly. Any custom fields created in the Development Studio are audited during discovery, created as custom res.partner.fields, and mapped explicitly during import. Contact records without a Divalto weavy company association are created as standalone individual partners.

Divalto weavy

Lead

maps to

Odoo CRM

crm.lead

1:1
Fully supported

Divalto weavy Leads migrate to Odoo crm.lead records in the Lead stage. Odoo's crm.lead model serves both unqualified prospects and qualified opportunities; the customer chooses at migration time whether to convert immediately to Opportunity or keep in Lead. Lead status and source fields from Divalto weavy map to Odoo's stage_id and source_id (utm.source). The original Divalto weavy lead status is preserved in a custom field for reporting continuity.

Divalto weavy

Deal

maps to

Odoo CRM

crm.lead (type = opportunity)

1:1
Fully supported

Divalto weavy Deals map to Odoo crm.lead records with type set to 'opportunity'. Deal name becomes crm.lead name, deal value maps to planned_revenue, expected close date maps to date_deadline, and stage maps to stage_id (see Pipeline Stage configuration below). Owner resolution is by email match to Odoo res.users.

Divalto weavy

Pipeline Stage

maps to

Odoo CRM

crm.stage

lossy
Fully supported

Divalto weavy pipeline stages are extracted during discovery and mapped one-to-one to Odoo crm.stage records within the appropriate crm.team. Stage probability percentages from Divalto weavy migrate to stage_sequence values in Odoo. Custom stage names (beyond the standard Divalto weavy lifecycle) are created as new crm.stage records in the destination. The Odoo stage IDs are captured and used as the stage_id foreign key in the Deal-to-Opportunity mapping.

Divalto weavy

Activity (call, meeting, task)

maps to

Odoo CRM

mail.activity / calendar.event / crm.phone.call

1:1
Fully supported

Divalto weavy Activity records map to Odoo's mail.activity for tasks and calendar.event for meetings and calls. Activity type, date, description, and linked owner migrate directly. Calls optionally map to crm.phone.call if the Odoo CRM Telephony module is installed; otherwise they land as mail.activity with a call-type subtype. The parent record reference (contact, company, or deal) is resolved via the partner_id or opportunity_id foreign key at migration time.

Divalto weavy

User / Team Member

maps to

Odoo CRM

res.users

1:1
Fully supported

Divalto weavy user records (Standard, Sales, Technician, Full profiles) are mapped to Odoo res.users by email match. Profile assignment from Divalto weavy is stored in a custom field user_profile__c on the Odoo res.users record. Any Divalto weavy user without a matching Odoo user email is placed in a reconciliation queue; the customer's Odoo admin provisions the missing user before record import continues because OwnerId references are required on Opportunity and Activity records.

Divalto weavy

Custom Object (Development Studio)

maps to

Odoo CRM

ir.model (custom model)

1:1
Fully supported

Every custom object defined in Divalto weavy's Development Studio is audited during discovery. We create the equivalent custom model in Odoo using res.config.settings-based schema creation or a custom Python module, then map all custom fields (with correct field types: char, text, float, integer, date, many2one, many2many) before importing any data that references those objects. Custom objects that represent lookup relationships (e.g., ProductCategory) are mapped to existing Odoo res.partner categories or custom many2one fields to preserve referential integrity.

Divalto weavy

Custom Field (Development Studio)

maps to

Odoo CRM

ir.model.fields (custom field)

1:1
Fully supported

Development Studio custom fields on Companies, Contacts, Leads, and Deals are created as custom ir.model.fields in Odoo before any record import. We capture the field type, required flag, picklist values, and any validation logic during the schema audit, and reproduce equivalent Odoo field definitions. If a Development Studio field has a picklist of values, we create a corresponding selection field or many2one in Odoo with the same options.

Divalto weavy

Attachment

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

Document attachments linked to Companies, Contacts, and Deals in Divalto weavy are extracted as files and imported into Odoo ir.attachment. Each ir.attachment record receives res_model set to the target model (res.partner or crm.lead) and res_id set to the migrated record's Odoo ID. File names and original timestamps are preserved in the attachment's name and create_date fields.

Divalto weavy

Note

maps to

Odoo CRM

mail.message / note.note

1:1
Fully supported

Free-form notes from Divalto weavy migrate to Odoo mail.message records with a note subtype on the parent record, or to note.note records if the Odoo Notes app is active. Note body migrates as HTML with attachments preserved separately.

Divalto weavy

Route / Itinerary Data

maps to

Odoo CRM

(not migrated)

1:1
Fully supported

Divalto weavy route planning and itinerary data are mobile-first features specific to its field workforce management capabilities. Odoo CRM does not have a native route or itinerary object. If the customer activates the Odoo Field Service Management app (Enterprise tier), route and planning data can be reconstructed manually after migration. We do not include route data in the standard migration package and flag the gap during scoping.

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.

Divalto weavy logo

Divalto weavy gotchas

High

No public API documentation for direct migration

Medium

Per-user pricing model inflates cost with headcount

Medium

Development Studio customizations are non-standard and require explicit mapping

Low

Route and itinerary data has no destination equivalent

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

  • No Divalto weavy API requires vendor-coordinated exports

    Divalto weavy does not publish a public REST API and has no documented bulk data export endpoint. We cannot perform direct API-based migration reads. Every migration begins with a vendor coordination step: we request full CSV or vendor-portal exports from Divalto support covering all CRM objects, Development Studio custom objects, and attachment file lists. This adds a dependency on Divalto's responsiveness to the migration timeline. We scope this as the first milestone and recommend customers request the export data before migrationkickoff to avoid delays.

  • Development Studio custom objects require pre-migration schema audit

    Organizations using Divalto weavy's Development Studio have non-standard schemas that vary per tenant. There is no documented schema registry or export of custom field definitions. We handle this by running a pre-migration schema audit in the Divalto weavy environment, manually cataloguing every custom object and field definition, and applying explicit field-level mapping rules before any data is loaded into Odoo. If custom objects have interdependencies (many2one, many2many relationships), we resolve those as foreign keys during the Odoo schema creation phase.

  • Odoo customization conflicts require manual module reconciliation

    Softhealer and Synavos Odoo migration guides document that custom-built modules in existing Odoo installations frequently conflict with standard Odoo modules after data migration, causing functionality gaps or broken workflows. We mitigate this by running the migration into a clean Odoo Sandbox or staging environment first, validating record counts and data integrity, and flagging any module conflicts before production migration. If the destination Odoo installation already has custom modules, we audit them alongside the incoming Divalto weavy schema to identify overlap or conflict.

  • Odoo lead and opportunity combined model requires lifecycle decision

    Odoo uses a single crm.lead model that serves both unqualified leads and qualified opportunities; there is no separate Lead and Opportunity object like in Salesforce. Divalto weavy separates suspect, prospect, and client in its lifecycle. We must decide during scoping whether to migrate all Divalto weavy Leads as Odoo Leads (to be converted later by sales reps) or as Odoo Opportunities (converted already in the migration). The customer's sales process and the intended Odoo pipeline configuration determine this decision, and it affects stage probability, reporting continuity, and sales team workflow.

  • Activity timeline ordering depends on API batching sequence

    Divalto weavy activity records (calls, meetings, tasks) carry timestamps that must preserve the original activity sequence in Odoo's chatter and calendar views. Because Divalto weavy has no API, activities arrive as exported records that we load in chronological order via Odoo's XML-RPC batch create. If records are exported out of sequence or with duplicate timestamps, the Odoo activity timeline may not reflect the exact original order. We mitigate this by sorting all activity records by the original timestamp before import and using create_date/write_date explicitly where Odoo allows it.

Migration approach

Six steps for a successful Divalto weavy to Odoo CRM data migration

  1. Discovery and export coordination

    We audit the Divalto weavy environment for all CRM objects (Companies, Contacts, Leads, Deals, Activities), Development Studio custom objects and fields, pipeline stage definitions, user list with profile assignments, and attachment inventory. We then coordinate with Divalto support to request full data exports. The customer authorizes the export request, and we receive CSV files or a vendor portal download. This step establishes the exact schema that will map to Odoo and is the longest lead-time item in the project because it depends on Divalto's export responsiveness.

  2. Schema design in Odoo

    We design the destination Odoo CRM schema based on the Divalto weavy export schema. This includes creating custom fields on res.partner (for custom Contact fields), on crm.lead (for custom Deal and Lead fields), and as custom ir.model records for any Development Studio custom objects. We configure the crm.stage pipeline stages to match the Divalto weavy stage names and probabilities. All schema changes are deployed into a staging Odoo database first for validation. The owner email-matching configuration between Divalto weavy users and Odoo res.users is set up here.

  3. Sandbox migration and reconciliation

    We run a full migration into the staging Odoo database using the production-exported data volume. The customer reconciles record counts (Companies in, Contacts in, Leads in, Deals in, Activities in), spot-checks 20-40 random records against the Divalto weavy source, and validates that pipeline stage assignments and owner assignments are correct. Any field mapping corrections, custom field additions, or stage configuration changes happen in this phase. The customer signs off the staging migration before production migration is scheduled.

  4. Owner reconciliation and user provisioning

    We extract every distinct Divalto weavy user referenced on Deals, Activities, and record owner fields and match by email against the Odoo destination's res.users table. Users without a match are placed in a reconciliation queue for the customer's Odoo admin to provision. Because Odoo requires a res.users record for every record owner, this step must be completed and validated before any Opportunity or Activity records can be imported with owner assignments.

  5. Production migration in dependency order

    We run production migration in record-dependency order: res.partner (Companies first, then individual Contacts with parent_id resolved to the Company partner), crm.lead (Leads, then Deals with stage_id and user_id resolved), mail.activity and calendar.event (Activities with partner_id and opportunity_id resolved), ir.attachment (files with res_model and res_id pointing to the correct Odoo record). Each phase emits a row-count reconciliation report before the next phase begins. Development Studio custom object records import last, after the standard CRM objects they reference have been created.

  6. Cutover, validation, and automation inventory handoff

    We freeze Divalto weavy write access during cutover, run a final delta migration of any records created or modified during the migration window, then enable Odoo CRM as the system of record. We deliver a written inventory of every Divalto weavy Development Studio automation and workflow with its trigger conditions, actions, and a recommended Odoo Studio equivalent. The customer's Odoo admin rebuilds the automations post-migration. We support a one-week hypercare window for reconciliation issues. We do not rebuild Divalto weavy automations as Odoo Studio workflows inside the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Divalto weavy logo

Divalto weavy

Source

Strengths

  • Mobile CRM with offline mode for itinerant salespeople working without reliable connectivity
  • Route optimization and geocoding built natively into the mobile workflow
  • Open application architecture with a Development Studio for custom objects and workflows
  • Direct ERP connectivity to Divalto Business, Divalto Field Service, and Divalto Industry via the Divalto marketplace
  • Per-user pricing at €40/month with profile-based access control (Standard, Sales, Technician, Full)

Weaknesses

  • No publicly documented API; integrations rely on Zapier with no native bulk export capability
  • Pricing is opaque for anything beyond the base per-user rate; options like the development studio require contacting sales
  • Scarce English-language documentation and limited third-party review coverage outside French-language sources
  • Fewer than 10 verified reviews across major review platforms makes peer assessment difficult
  • No free trial available, increasing commitment risk before full evaluation
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 Divalto weavy 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

    Divalto weavy: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Divalto weavy 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 Divalto weavy to Odoo CRM data migrations

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

Can't find your answer?

Walk through your Divalto weavy to Odoo CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 20,000 Contacts and 3,000 Deals with no Development Studio custom objects and a clean export from Divalto support. Migrations with Development Studio custom objects, large activity histories (over 300,000 records), multi-branch Odoo deployments, or parallel ERP module activation move to eight to fourteen weeks because of schema audit scope, custom field creation, and Odoo module configuration. The vendor export coordination step from Divalto weavy is the longest lead-time item and must complete before any migration work begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Divalto weavy.
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