CRM migration
Field-level mapping, validation, and rollback between Wice CRM and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Wice CRM
Source
Odoo CRM
Destination
Compatibility
9 of 12
objects map 1:1 between Wice CRM and Odoo CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Wice CRM to Odoo CRM is a migration from a focused German-market CRM into a modular open-source ERP suite with native CRM capabilities. The central challenge is that Wice CRM has no documented public REST API, so all data extraction relies on the built-in CSV export function (for cloud installations) or direct PostgreSQL/MySQL queries (for on-premise deployments). We sequence the migration in dependency order — Organizations first, then Contacts with their Orga link preserved, then Deals with the pipeline stage mapping resolved — before loading Projects, Tasks, Campaigns, and Tickets. Odoo CRM's XML-RPC and JSON-RPC APIs handle the write-side import with batch chunking and rate-limit handling. Custom pipeline stages, Hold File attachments, and Wice-specific custom fields require explicit mapping or manual steps; we flag each during scoping. Workflows, automations, and dashboard reports do not migrate as configuration; we deliver a written inventory of these for the customer's admin to rebuild in Odoo's automation framework.
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 Wice CRM 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.
Wice CRM
Contact
Odoo CRM
Contact
1:1Wice Contact records map 1:1 to Odoo Contact (res.partner with partner_latitude type = contact). We extract via CSV export (cloud) or direct database query (on-premise), preserving name, email, phone, address, and the link to the parent Orga/organization. The Wice contact-organization relationship is preserved as partner_id on the Contact. Custom fields on contacts (Gold tier) map to Odoo custom fields created via Settings > Technical > Custom Fields before migration.
Wice CRM
Organization
Odoo CRM
Company
1:1Wice Organization records map to Odoo Contact records of type company (res.partner with is_company = True). We export Organizations first so that the relationship ID is available when Contacts are imported, satisfying the partner_id foreign key. Organization address fields (street, city, country) map to standard Odoo address fields. If the Wice installation uses a custom organization-type picklist, we create a custom field on the Odoo Company record to hold that classification.
Wice CRM
Deal
Odoo CRM
Opportunity
1:1Wice Deals map to Odoo CRM Opportunity (crm.lead with type = opportunity). The Wice dealstage property maps to crm.stage via an explicit stage-mapping table that we generate during discovery using the customer's actual Wice stage names. Deal value maps to Odoo's planned_revenue. Expected close date maps to date_deadline. Owner assignment maps to user_id via email-based user lookup against the Odoo destination User table.
Wice CRM
Pipeline Stage
Odoo CRM
Stage
lossyWice allows fully custom pipeline stages per installation. We capture the customer's actual Wice stage names and probabilities during discovery and generate a stage-mapping table before any Opportunity records are written. Each Wice pipeline maps to an Odoo CRM Pipeline (crm.team) with its own stage sequence. Stage probability percentages from Wice are stored as Odoo stage sequence values or custom fields for reporting consistency.
Wice CRM
Project
Odoo CRM
Project
1:1Wice Project records map to Odoo Project (project.project). We export Projects before Tasks so that project_id is resolved at Task import time. Custom project fields from Wice map to Odoo custom fields on the Project record. Project status (active, on hold, closed) maps to Odoo project_stage_id.
Wice CRM
Task
Odoo CRM
Task
1:1Wice Tasks exist inside Projects and also standalone linked to contacts or deals. We export both contexts and reconstruct the hierarchy in Odoo Project. Project-linked tasks receive a project_id reference; standalone tasks are created without a project_id and linked via the related contact or opportunity. Task status and assignee migrate with owner lookup via email match.
Wice CRM
Campaign
Odoo CRM
UTM Campaign
1:1Wice Campaigns (basic and advanced) map to Odoo Utm Campaign records (utm.campaign). Advanced campaign targeting and tracking properties that have no Odoo equivalent are stored as custom fields on the utm.campaign record. Campaign member history (sent, opened, clicked data) does not migrate because Odoo does not have a native campaign analytics object at the contact level; we deliver a CSV export of campaign member activity for the customer's admin to import into a BI tool.
Wice CRM
Ticket
Odoo CRM
Ticket
1:1Wice Tickets map to Odoo Helpdesk Ticket (helpdesk.ticket) if the customer licenses the Helpdesk module. Ticket status, priority, and custom fields migrate directly. Ticket numbering sequences may reset in Odoo; we flag this during scoping and propose a custom ticket reference field that preserves the original Wice ticket number for audit continuity.
Wice CRM
Note and Activity
Odoo CRM
Note
1:1Wice Notes attached to contacts, organizations, deals, and projects migrate to Odoo Note records (mail.message with note_flag = True) linked via mail.thread to the parent record. Plain-text note body migrates as-is; formatting is simplified to plain text because Odoo Note does not preserve rich-text styling. Activity logs (calls, emails, meetings logged as activities in Wice) migrate to Odoo Mail Activity records linked to the respective res.partner or crm.lead.
Wice CRM
Custom Property (Field)
Odoo CRM
Custom Field
lossyWice custom fields on contacts, organizations, deals, and projects (Gold tier) are mapped explicitly during field-mapping phase. Picklist-style custom fields require value translation if the Odoo destination uses a different picklist vocabulary. We generate a custom field value mapping table for each picklist field during scoping. Custom fields are created in Odoo via Settings > Technical > Custom Fields before record migration begins.
Wice CRM
Category
Odoo CRM
Tag
lossyWice's category system for deduplication and classification does not map 1:1 to Odoo tags (utm.tag). We export category assignments as a comma-separated text field on the Contact record during migration, and the customer's admin chooses whether to convert them to Odoo Tags or retain them as a read-only custom field for post-migration segmentation.
Wice CRM
Hold File (Attachment)
Odoo CRM
Attachment
1:1Wice stores files as Hold files attached to records but provides no bulk download mechanism and no documented API endpoint for binary files. This is flagged as a manual step outside the automated migration scope. We provide the customer with a file-level export checklist listing every record with attachments and the manual download steps for cloud installations, or a custom database script for on-premise deployments to extract binary BLOBs directly. The checklist is delivered during discovery and must be completed before the go-live cutover.
| Wice CRM | Odoo CRM | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Organization | Company1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline Stage | Stagelossy | Fully supported | |
| Project | Project1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Campaign | UTM Campaign1:1 | Fully supported | |
| Ticket | Ticket1:1 | Fully supported | |
| Note and Activity | Note1:1 | Fully supported | |
| Custom Property (Field) | Custom Fieldlossy | Fully supported | |
| Category | Taglossy | Fully supported | |
| Hold File (Attachment) | Attachment1: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.
Wice CRM gotchas
No publicly documented REST API
Attachment export is a manual step
Custom pipeline stages require explicit mapping
On-premise installations vary by version
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 extraction method selection
We audit the source Wice CRM installation across deployment type (cloud SaaS or on-premise), Wice edition tier (Bronze/Silver/Gold), object usage (which modules are active), custom field count, pipeline stage names, and attachment volume. For cloud customers, we generate a per-object CSV export checklist. For on-premise customers, we request database credentials and query the underlying schema to confirm field coverage before export. The discovery output is a written migration scope document confirming which objects are in scope, which are excluded (attachments, workflows, reports), and the extraction method for each object.
Stage mapping and schema preparation
We generate an explicit stage-mapping table using the customer's actual Wice pipeline stage names mapped to Odoo CRM stage IDs in the target pipeline. We also pre-create any custom fields required in Odoo (via Settings > Technical > Custom Fields) to match Wice Gold-tier custom properties, and configure Odoo Tags for any category-to-tag conversion the customer approves. Schema preparation happens in an Odoo staging environment before any production data is touched.
Staging migration and reconciliation
We run a full migration into an Odoo staging environment using representative data volume. The customer reconciles record counts (Organizations in, Contacts in, Deals in, Projects in, Tasks in), spot-checks 20-30 records against the Wice source, and reviews the stage mapping output. Mapping corrections, custom field additions, and stage-name adjustments happen at this stage. No production writes occur until the customer signs off the staging migration report.
Owner and user reconciliation
We extract every distinct Wice Owner referenced on Deal, Project, Task, and Ticket records and match by email against the Odoo destination User table. Owners without a matching Odoo User go to a reconciliation queue. The customer's Odoo admin provisions any missing Users and assigns them the appropriate access rights before production migration begins. OwnerId references must be resolved before any Deal or Project records are written.
Production migration in dependency order
We run production migration in record-dependency order: Companies/Organizations first (from Wice Organizations), then Contacts with parent Orga link preserved, then Opportunities (with pipeline and stage resolved), then Projects (with project_id available for Task linkage), then Tasks, then Campaigns (as UTM Campaign records), then Helpdesk Tickets. Each phase emits a row-count reconciliation report before the next phase begins. Odoo CRM data is written via XML-RPC with batch chunking and the SaaS rate limit of approximately 60 requests per minute handled with exponential backoff.
Cutover, validation, and automation handoff
We freeze Wice CRM writes during the cutover window, run a final delta migration of any records created or modified since the last sync, then set Odoo CRM as the system of record. We deliver the automation inventory document listing any Wice workflow equivalents that require rebuild in Odoo Automations. We support a three-day hypercare window to resolve post-cutover reconciliation issues. We do not rebuild Wice automations, campaigns, or dashboard reports inside the migration scope; those are documented separately for the customer's admin or Odoo partner.
Platform deep dives
Wice CRM
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Wice CRM and Odoo CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Wice CRM and Odoo CRM.
Object compatibility
All 8 core objects map 1:1 between Wice CRM 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
Wice CRM: Not publicly documented.
Data volume sensitivity
Wice CRM 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 Wice CRM to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Wice CRM 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 Wice CRM
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.