CRM migration
Field-level mapping, validation, and rollback between Leadtrekker Lead Management and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Leadtrekker Lead Management
Source
Odoo CRM
Destination
Compatibility
8 of 12
objects map 1:1 between Leadtrekker Lead Management and Odoo CRM.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Leadtrekker Lead Management to Odoo CRM is a model shift from a single-object lead tracker into a full ERP-adjacent CRM with a Lead-to-Opportunity conversion workflow. Leadtrekker structures all prospects as Leads with no explicit qualification stage; Odoo separates crm.lead (unqualified) from crm.lead.opportunity (qualified pipeline). We design the qualification split during scoping so that the original Leadtrekker status and source attribution carry through to Odoo Lead fields and then flow into the Opportunity on conversion. Leadtrekker's undocumented API rate limits and unexposed field taxonomy require a discovery probe before the migration runbook is finalised — we test available export endpoints, determine safe paging limits, and reconstruct the custom field map from extracted record samples. We do not migrate Leadtrekker notification preferences, autoresponders, or assignment rules as they are platform-runtime features. We deliver a written inventory of every notification-trigger event for manual rebuild in Odoo's email templates and automation rules.
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 Leadtrekker Lead Management 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.
Leadtrekker Lead Management
Lead
Odoo CRM
crm.lead (Opportunity on conversion)
1:manyLeadtrekker stores all prospects as a single Lead type with name, email, phone, status, lead source, and owner assignment. Odoo splits the lifecycle into crm.lead (unqualified inbound) and crm.lead (opportunity, qualified pipeline). We map the Leadtrekker status and source to Odoo Lead fields (stage_id, tag_ids, source_id) preserving attribution. The customer defines the qualification rule during scoping — typically Leadtrekker status New maps to Odoo New Lead, and status Qualified maps to an Odoo pipeline stage. Custom fields on Leadtrekker Leads are reconstructed from extracted record samples because the field taxonomy is not publicly documented; we build the full custom field map from the discovery probe before import.
Leadtrekker Lead Management
Activity (Notes, Call Logs, Emails)
Odoo CRM
mail.message / crm.lead (activity timeline)
1:1Leadtrekker activities attach notes, call logs, and email events to a Lead with a timestamp and user attribution. Odoo stores these as mail.message records on the crm.lead chatter. We migrate each activity as a mail.message with message_type set to comment (notes), email (email events), or notification (system events). Activity timestamps and author attribution are preserved. Call disposition and duration from Leadtrekker call logs migrate to custom mail.message fields if defined, or are appended to the message body.
Leadtrekker Lead Management
User
Odoo CRM
res.users
1:1Leadtrekker user accounts store login credentials and profile data. We export the user roster (name, email, active status) and map to Odoo res.users records by email match. Passwords and session tokens do not transfer — the Odoo administrator provisions login credentials post-migration. Active/inactive status on Leadtrekker maps directly to the active flag on res.users.
Leadtrekker Lead Management
User Group
Odoo CRM
res.groups
lossyLeadtrekker groups define which users can view and edit specific lead subsets. Odoo uses res.groups for access control across all apps. We extract the full group membership roster, map each Leadtrekker group to the closest Odoo access group (Sales / Administrator / Custom), and deliver a written mapping table. Permission logic is reconfigured manually in Odoo Settings > Users > Access Rights because the semantics differ — Leadtrekker uses lead-level scoping while Odoo uses record-rule domain filtering per group.
Leadtrekker Lead Management
Lead Source
Odoo CRM
utm.source / crm.lead source_id
1:1Leadtrekker tracks lead attribution by source (website form, campaign, referral) as a Lead property. Odoo uses the UTM (utm.source, utm.medium, utm.campaign) model for attribution tracking linked to crm.lead records. We migrate source labels as utm.source records and set the source_id on each Lead during import. If Leadtrekker tracks medium and campaign separately, we map those to utm.medium and utm.campaign.
Leadtrekker Lead Management
Reminder
Odoo CRM
mail.activity
1:1Leadtrekker follow-up reminders carry a due date and owner. Odoo stores scheduled follow-ups as mail.activity records on crm.lead with activity_type_id, date_deadline, and user_id. We convert each Leadtrekker reminder to a mail.activity, preserving the due date and assignee. If the Leadtrekker reminder type (call, email, meeting) is captured, we map it to the corresponding Odoo activity_type.
Leadtrekker Lead Management
Custom Fields
Odoo CRM
ir.model.fields (custom)
lossyLeadtrekker does not publish a stable field taxonomy in its public documentation, and the custom field schema requires discovery during migration scoping. We probe the Leadtrekker API with a representative record export, identify all fields beyond the standard set (name, email, phone, status, source, owner), and build an explicit field-level mapping table. Custom fields migrate to Odoo as custom ir.model.fields — type-mapped (text to char, number to float, date to date) and deployed via Odoo Studio or data migration scripts before record import begins.
Leadtrekker Lead Management
Lead Status
Odoo CRM
crm.stage
lossyLeadtrekker uses a flat status property on Lead (New, Contacted, Qualified, Lost). Odoo uses crm.stage within a crm.team sales process. We map each Leadtrekker status value to the nearest Odoo stage and, where Leadtrekker has fewer stages than Odoo's pipeline, collapse intermediate Odoo stages out of the active pipeline or create a simplified pipeline matching the source status count.
Leadtrekker Lead Management
Landing Page / Form
Odoo CRM
website.form (rebuild reference)
1:1Leadtrekker's one-tag website integration for form-based lead capture has no direct Odoo equivalent that migrates as data. We document every active Leadtrekker form and website integration (URL, form fields, submission endpoint) so that the customer can rebuild the equivalent in Odoo website builder or connect the existing form to an Odoo crm.lead creation endpoint. Lead capture via Odoo forms or inbound email aliases replaces the Leadtrekker integration post-migration.
Leadtrekker Lead Management
Notification Preferences
Odoo CRM
mail.template (rebuild reference)
1:1Leadtrekker SMS and email notification settings are platform-runtime preferences and are not stored as exportable records. We document every notification-trigger event observed during extraction — assignment alerts, response-time triggers, autoresponder templates — and deliver a written guide to rebuilding equivalent mail.template records in Odoo. The administrator configures the SMTP server and SMS gateway (Odoo SMS or a third-party provider) during post-migration setup.
Leadtrekker Lead Management
Response Time Tracking
Odoo CRM
mail.activity (rebuild reference)
1:1Leadtrekker tracks response time as an accountability metric tied to lead assignment. Odoo does not have a native response-time field on crm.lead, but the metric can be rebuilt using automation rules that log the first activity date on a Lead and compare it to create_date. We document the Leadtrekker response-time configuration for the admin to implement in Odoo Studio as a computed field and activity trigger.
Leadtrekker Lead Management
Marketing ROI Reporting
Odoo CRM
utm.campaign + Reports (rebuild reference)
1:1Leadtrekker's marketing ROI measurement ties campaign spend to pipeline outcomes. Odoo provides pipeline and revenue reports by UTM campaign in the CRM app, and full financial reporting when Odoo Accounting is installed. We map Leadtrekker campaign labels to utm.campaign records for ongoing attribution. The customer rebuilds budget-versus-revenue reporting in Odoo Reporting or a BI tool; we deliver the mapping from Leadtrekker campaign data to utm.campaign so the historical context is available.
| Leadtrekker Lead Management | Odoo CRM | Compatibility | |
|---|---|---|---|
| Lead | crm.lead (Opportunity on conversion)1:many | Fully supported | |
| Activity (Notes, Call Logs, Emails) | mail.message / crm.lead (activity timeline)1:1 | Fully supported | |
| User | res.users1:1 | Fully supported | |
| User Group | res.groupslossy | Fully supported | |
| Lead Source | utm.source / crm.lead source_id1:1 | Fully supported | |
| Reminder | mail.activity1:1 | Fully supported | |
| Custom Fields | ir.model.fields (custom)lossy | Mapping required | |
| Lead Status | crm.stagelossy | Fully supported | |
| Landing Page / Form | website.form (rebuild reference)1:1 | Fully supported | |
| Notification Preferences | mail.template (rebuild reference)1:1 | Fully supported | |
| Response Time Tracking | mail.activity (rebuild reference)1:1 | Fully supported | |
| Marketing ROI Reporting | utm.campaign + Reports (rebuild reference)1: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.
Leadtrekker Lead Management gotchas
Pricing in South African Rand obscures true cost
Notification preferences cannot be exported
API rate limits are undocumented
User group permissions require manual remapping
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 API probe
We audit the Leadtrekker account across record types (Leads, Activities, Users, Groups, Reminders), custom field usage, active notification configurations, and lead source taxonomy. Because Leadtrekker does not publish API rate limits or a bulk export endpoint, we run a discovery probe to determine safe request pacing, available export endpoints, and authentication requirements. The discovery output is a written migration scope, a preliminary field map, and an Odoo edition recommendation (Community for small teams, Enterprise for multi-user access control and advanced automation).
Schema design and field map construction
We design the Odoo destination schema from the ground up: crm.lead fields mapped from Leadtrekker standard and custom fields, crm.stage pipeline stages mapped from Leadtrekker status values, utm.source and utm.campaign records created for lead attribution, and mail.activity types configured for follow-up reminders. Custom fields on Leadtrekker are reconstructed from extracted record samples because no public taxonomy exists; each custom field is type-mapped to an Odoo field type and deployed via Odoo Studio or migration script before record import begins.
Owner and user reconciliation
We extract every distinct Leadtrekker user and group referenced on Leads and Activities and match by email against the Odoo destination's res.users table. Groups are mapped to res.groups using the written mapping table. Any Leadtrekker user without a matching Odoo user goes to a reconciliation queue for the administrator to provision before record import resumes. This step gates all subsequent import phases because OwnerId references must be valid in Odoo.
Sandbox migration and reconciliation
We run a full migration into an Odoo test database (or a duplicated environment for Odoo Online) using production-like data volume. The customer reconciles record counts, spot-checks 25-50 random Leads against the Leadtrekker source for field accuracy, and validates that the lead source, owner, and custom field data are correctly populated. Any mapping corrections — incorrect field type mappings, missing custom fields, incorrect status-to-stage assignments — are applied before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: utm.source and utm.campaign records (for attribution), res.users provisioning confirmation, Leads (with status-to-stage mapping applied and custom fields populated), Activities (mail.message records on Lead chatter), Reminders (mail.activity records), and custom fields final validation. Each phase emits a row-count reconciliation report before the next phase begins. We use Odoo's XML-RPC or JSON-RPC API with batch chunking and exponential backoff on rate-limit responses.
Cutover, notification inventory, and hypercare
We freeze Leadtrekker writes during cutover, run a final delta migration of any records modified during the window, then enable Odoo as the system of record. We deliver the notification and autoresponder inventory document so the administrator can rebuild Leadtrekker-equivalent alerts in Odoo mail.template and automation rules. We support a one-week hypercare window to resolve reconciliation issues. We do not rebuild Leadtrekker automations or assignment rules as Odoo automation rules inside the migration scope; those are documented separately for the admin to configure.
Platform deep dives
Leadtrekker Lead Management
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Leadtrekker Lead Management and Odoo CRM.
Object compatibility
1 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
Leadtrekker Lead Management: Not publicly documented.
Data volume sensitivity
Leadtrekker Lead Management 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 Leadtrekker Lead Management to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Leadtrekker Lead Management 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 Leadtrekker Lead Management
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.