CRM migration
Field-level mapping, validation, and rollback between Atollon Lagoon CRM and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Atollon Lagoon CRM
Source
Odoo CRM
Destination
Compatibility
9 of 12
objects map 1:1 between Atollon Lagoon CRM and Odoo CRM.
Complexity
BStandard
Timeline
4-8 weeks
Overview
Moving from Atollon Lagoon CRM to Odoo CRM means translating a platform built around Folder-Firm hierarchies and custom formvalue records into Odoo's standard Contact-Company model with XML-RPC bulk loading. Atollon stores custom form field values as separate formvalue records linked by formID and context — not directly on the parent record — which adds a normalisation step that most migration tools skip. We parse each formvalue individually, resolve the field schema via formID, and map values to Odoo custom fields on the equivalent standard object. Activities (calls, emails, meetings) migrate to Odoo's mail.message and project.task records with timestamps preserved. Project subtypes (Contracts, Business cases, Service contracts, Consultations) require subtype-aware mapping since each uses different template field sets. Workflow automations, service-level billing rules, and campaign management do not migrate — we document what existed for your admin to rebuild in Odoo.
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 Atollon Lagoon 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.
Atollon Lagoon CRM
Folder (Contact)
Odoo CRM
Contact
1:1Atollon Folders are individual contact records stored within the Firm hierarchy. We map Folders to Odoo Contact records with standard name, email, phone, and address fields carried forward. Classification columns (client, potential client, partner) migrate to a contact_type tag on the Odoo Contact. Folder-level custom formvalues attach to the Contact as custom fields via Odoo's ir.model.fields API after we resolve the formID schema.
Atollon Lagoon CRM
Firm (Company)
Odoo CRM
Company
1:1Atollon Firms are the top-level company records with classification columns and optional parent-child hierarchies. We map Firms to Odoo Companies (res.partner records with is_company=True). The Firm's classification column migrates to a custom tag or a picklist field on the Company. Address, industry, and classification fields carry forward. Odoo Companies must exist before Folders map to Contacts so the parent Company lookup is satisfied on import.
Atollon Lagoon CRM
Project
Odoo CRM
Project (Odoo Project app)
1:1Atollon Projects span at least four subtypes — Contracts, Business cases, Service contracts, and Consultations — each potentially using different templates with different custom field sets. We classify each project by its template origin, apply the corresponding field mapping schema, and map to Odoo Project records. Subtype information is preserved in a project_tag so filtering by origin type remains possible in Odoo. Projects without a clear template default to a generic Odoo Project mapping. Odoo Project must be installed from the Apps list before migration begins.
Atollon Lagoon CRM
Activity
Odoo CRM
mail.message + project.task
1:1Atollon Activities track engagement records (calls, emails, meetings) linked to Folders or Firms with timestamp, type, and owner. We map to Odoo mail.message records for the activity content and type, and project.task records for task-style follow-up items. Email type activities migrate to mail.message; call dispositions migrate to a custom call_duration field on the mail.message. Activity owner resolves to an Odoo User by email match.
Atollon Lagoon CRM
Milestone
Odoo CRM
project.task (deadline-stamped)
lossyAtollon Milestones track timeline checkpoints within Projects with ordering, due date, and optional custom form data. Odoo Project does not have a native Milestone object; we map Milestones to project.task records with the milestone name in task_name, the original due date as deadline, and ordering preserved via sequence or stage assignment. Custom field values from any milestone formvalue records migrate to custom fields on the Odoo task.
Atollon Lagoon CRM
Custom Form (formvalue)
Odoo CRM
Custom field on standard object
lossyAtollon stores custom form field values as separate formvalue records linked by formID and context (parent object type and ID). The form-to-formvalue relationship is not always 1:1 — one parent may have multiple formvalues from different form schemas. We parse each formvalue record, resolve the field schema via formID, normalise field-level values to their data types, and map them to Odoo custom fields on the equivalent standard object (Contact, Company, Project, or Task). We pre-create Odoo's ir.model.fields entries before import so the fields exist in the schema.
Atollon Lagoon CRM
Service Support Record
Odoo CRM
helpdesk.ticket
1:1Atollon's service and support module manages ticket-like records with status, priority, assigned agent, and links to Firms and Projects. We map these to Odoo Helpdesk tickets (helpdesk.ticket) if the Helpdesk app is installed. Ticket status, priority, and agent assignment carry forward. Linked Firm and Project references resolve to the Odoo Company and Project IDs created during earlier phases. Helpdesk stage names are configured to match Atollon's status labels.
Atollon Lagoon CRM
Invoice / Billing Record
Odoo CRM
account.move
1:1Atollon's billing and finance module generates invoices linked to Projects or Firms. We map invoice header data (number, date, partner, amount, status) to Odoo account.move records. Line items, tax amounts, and detailed financial history transfer depends on Odoo Accounting being installed and configured with a matching chart of accounts. We do not migrate detailed payment reconciliation history or partial payment allocations as these require account-specific configuration.
Atollon Lagoon CRM
Workflow Automation
Odoo CRM
Automated Action (not migrated)
1:1Workflow Automation is an Advanced-tier feature (EUR 496+/month) that sequences business process steps. Atollon does not expose automation logic via its public API. We do not migrate automation rules as code. We document which automations existed, their trigger conditions, steps, and recommended equivalents in Odoo's Automated Actions (base.automation) and Server Actions (ir.actions.server), and deliver a rebuild guide for your admin.
Atollon Lagoon CRM
Campaign Record
Odoo CRM
utm.campaign
1:1Campaign management is available on Atollon's Ultimate tier. We map campaign-level records (name, status, linked targets) to Odoo UTM campaigns (utm.campaign) if the UTM app is installed. Marketing automation actions, sequence steps, and campaign performance metrics do not migrate as these are action-oriented features requiring manual rebuild in Odoo's Email Marketing or Marketing Automation apps.
Atollon Lagoon CRM
Owner / User
Odoo CRM
User (res.users)
1:1Atollon Folder owners, Firm owners, Project owners, and Activity owners all reference a user profile. We extract every distinct owner referenced on migrating records and match by email against Odoo's res.users table. Any Atollon owner without a matching Odoo User is held in a reconciliation queue; your admin provisions the missing user in Odoo before record import resumes. OwnerId must be resolved before importing any record that carries an ownership reference.
Atollon Lagoon CRM
Tag / Classification Column
Odoo CRM
res.partner.category or project.tags
lossyAtollon uses classification columns on Folders and Firms (client, potential client, partner, etc.) and tags on Projects. We map these to Odoo Tags: res.partner.category for contact and company classifications, and project.tags for project-level categorisation. Tags are created in Odoo before data import so the tag IDs are available during record load.
| Atollon Lagoon CRM | Odoo CRM | Compatibility | |
|---|---|---|---|
| Folder (Contact) | Contact1:1 | Fully supported | |
| Firm (Company) | Company1:1 | Fully supported | |
| Project | Project (Odoo Project app)1:1 | Fully supported | |
| Activity | mail.message + project.task1:1 | Fully supported | |
| Milestone | project.task (deadline-stamped)lossy | Fully supported | |
| Custom Form (formvalue) | Custom field on standard objectlossy | Fully supported | |
| Service Support Record | helpdesk.ticket1:1 | Fully supported | |
| Invoice / Billing Record | account.move1:1 | Fully supported | |
| Workflow Automation | Automated Action (not migrated)1:1 | Fully supported | |
| Campaign Record | utm.campaign1:1 | Fully supported | |
| Owner / User | User (res.users)1:1 | Fully supported | |
| Tag / Classification Column | res.partner.category or project.tagslossy | 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.
Atollon Lagoon CRM gotchas
Active-user billing scoping on import
No publicly documented API for programmatic export
Custom form data requires formvalue-level parsing
Project templates and subtypes need subtype-aware mapping
Workflow Automations are tier-gated and non-portable
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
Scoping and API access verification
We audit the Atollon Lagoon instance for record counts across Folders, Firms, Projects, Activities, Milestones, Custom Forms (formvalue count), Service Support Records, and Invoices. We verify API access credentials, test connectivity using Atollon's internal API patterns, and confirm whether custom form schemas (formID) and formvalue records are accessible programmatically. If the API is unavailable or returns incomplete data, we fall back to CSV export with a multi-row handling strategy for formvalue records. We assess which Odoo apps are in scope (CRM, Project, Helpdesk, Accounting) and document the gap between Atollon's module coverage and Odoo's app stack.
Odoo schema design and custom field provisioning
We design the destination Odoo schema including custom fields on Contact, Company (res.partner), project.project, and project.task objects. Custom formvalue fields are created in Odoo via ir.model.fields before data import so the fields exist in the schema at load time. We configure Odoo Project stages to match Atollon project subtypes, Helpdesk stages to match Atollon ticket statuses, and UTM campaigns to receive Atollon campaign data. Tags (res.partner.category and project.tags) are created in Odoo before import so tag IDs are available during record load.
Sandbox migration and reconciliation
We run a full migration into an Odoo test database using production-like data volume. The customer's project lead reconciles record counts (Folders in as Contacts, Firms in as Companies, Projects in as Odoo Projects, Activities in as mail.message and task records), spot-checks 25-50 random records against the Atollon source, and validates formvalue data integrity on a sample of parent records. Any field mapping corrections, missing picklist values, or subtype classification issues are resolved here. Sign-off on the sandbox reconciliation gates the production migration date.
Owner reconciliation and Odoo user provisioning
We extract every distinct Atollon owner referenced on Folders, Firms, Projects, Activities, and Service Records and match by email against Odoo's res.users table. Owners without a matching Odoo User go to a reconciliation queue. The customer's Odoo admin provisions missing users (active or inactive depending on whether the original Atollon user is still active) before production migration resumes. OwnerId must be resolved before importing any record that carries an ownership reference because Odoo enforces the foreign key constraint on project.project and helpdesk.ticket.
Production migration in dependency order
We run production migration in record-dependency order: Companies (from Firms, first so parent lookups exist), Contacts (from Folders with Company resolved), project.project (from Atollon Projects with subtype tag and owner resolved), project.task (from Activities and Milestones linked to Projects), mail.message records (from remaining Activities), custom field values from formvalue records (written after parent objects exist), helpdesk.ticket (from Service Records with Company and Project resolved), account.move (invoice header data if Accounting in scope), and utm.campaign (from Atollon campaign records last). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, delta sync, and workflow rebuild handoff
We freeze Atollon writes during cutover, run a final delta migration of any records created or modified during the migration window, then switch the system of record to Odoo. We deliver the Workflow Automation and Campaign inventory document listing every Atollon automation with its trigger, conditions, actions, and recommended Odoo Automated Action or Server Action equivalent. We support a one-week hypercare window for reconciliation issues raised by the team. We do not rebuild Atollon Workflows as Odoo Automated Actions inside the migration scope; that work is documented for your admin or an Odoo implementation partner.
Platform deep dives
Atollon Lagoon CRM
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Atollon Lagoon CRM and Odoo CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Atollon Lagoon CRM and Odoo CRM.
Object compatibility
All 8 core objects map 1:1 between Atollon Lagoon 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
Atollon Lagoon CRM: Not publicly documented.
Data volume sensitivity
Atollon Lagoon 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 Atollon Lagoon CRM to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Atollon Lagoon 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 Atollon Lagoon 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.