CRM migration
Field-level mapping, validation, and rollback between RealGreen by WorkWave and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
RealGreen by WorkWave
Source
Odoo CRM
Destination
Compatibility
11 of 12
objects map 1:1 between RealGreen by WorkWave and Odoo CRM.
Complexity
BStandard
Timeline
5–10 business days
Overview
RealGreen by WorkWave stores data across several related objects: Customer records hold contact and billing data, Locations represent service addresses attached to each customer, Work Orders track individual jobs with status, service type, crew assignment, and pricing, and Service Programs define recurring service packages at each location. FlitStack AI sequences the export through WorkWave's paid API, resolving the one-to-many relationship between customers and their multiple service locations before loading into Odoo. We map customers to res.partner, locations to address-contact records linked to the parent partner, and work orders to crm.lead opportunities. Service program types and RealGreen flag codes preserve as custom selection fields on Odoo opportunities. Workflows, automations, and dynamic routing rules are green-industry-specific and cannot migrate — we document your current automation logic as a rebuild reference for Odoo's Automate module. The WorkWave API requires a paid account with per-call costs; we factor API call volume into the migration scope and run rate-limited batch exports to manage consumption.
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 RealGreen by WorkWave 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.
RealGreen by WorkWave
Customer
Odoo CRM
res.partner
1:1RealGreen customer records map directly to Odoo res.partner. The customer name, primary contact info, billing address, and account status all map to standard res.partner fields. We create one res.partner record per RealGreen customer as the top-level record; location-specific addresses attach as child contact records on the same partner.
RealGreen by WorkWave
Location
Odoo CRM
res.partner (child contact)
1:manyA key structural difference: RealGreen allows multiple service locations per customer, each with its own address and service setup. Odoo res.partner stores address on the partner record itself. We split each RealGreen location into a separate Odoo contact record (type=contact) linked to the parent customer partner via the parent_id field, preserving the address and location-specific service program assignments.
RealGreen by WorkWave
Work Order
Odoo CRM
crm.lead (Opportunity)
1:1RealGreen work orders map to Odoo crm.lead opportunities. The work order name and description become the opportunity name and description. Work order status (Scheduled, In Progress, Completed, Invoiced) maps to Odoo stage values. Location links to the corresponding Odoo location-contact partner. Scheduled dates, crew, and pricing map to the opportunity's date, user, and expected revenue fields.
RealGreen by WorkWave
Owner / Sales Rep
Odoo CRM
res.users
1:1RealGreen owner and sales rep fields resolve to Odoo res.users by email address match. We query Odoo users during planning and flag any owner without a corresponding Odoo login. Unmatched owners are assigned to a designated fallback Odoo user, and the original RealGreen owner name is preserved in a custom field for audit continuity.
RealGreen by WorkWave
Service Program
Odoo CRM
Custom field on crm.lead
1:1RealGreen service programs represent recurring service packages (e.g., Weekly Lawn Care, Monthly Landscaping, Quarterly Pest Control) assigned per location. These have no direct Odoo equivalent. We create a custom selection field on crm.lead capturing the service program type and map each location's assigned program from RealGreen into this field, preserving the service history on each opportunity.
RealGreen by WorkWave
Location Address
Odoo CRM
res.partner address fields
1:1Each RealGreen location address — street, city, state, ZIP, country — maps to the corresponding fields on the Odoo child contact record. Latitude and longitude coordinates from RealGreen are preserved as custom float fields on the contact since Odoo does not have native lat/long storage at the address level.
RealGreen by WorkWave
Work Order Communication
Odoo CRM
mail.message
1:1RealGreen call logs, email threads, and SMS records attached to a work order migrate as Odoo mail.message records linked to the crm.lead. Original timestamps and content are preserved. Inline images and attachments are downloaded and reloaded as Odoo attachments linked to the same message thread, maintaining the full service communication history.
RealGreen by WorkWave
Flag Code / Status Marker
Odoo CRM
Custom field on crm.lead
1:1RealGreen flag codes are internal status markers used by operations teams to flag accounts for specific handling (e.g., priority customers, disputed accounts, billing issues). Odoo has no native equivalent. We create a custom selection field on crm.lead and map each work order's flag codes from RealGreen into this field, allowing your Odoo team to continue using the same operational signals post-migration.
RealGreen by WorkWave
Attachment / File
Odoo CRM
ir.attachment
1:1RealGreen file attachments — photos, signed forms, PDF proposals — migrate to Odoo ir.attachment records linked to the corresponding crm.lead opportunity or res.partner contact. File size limits per Odoo configuration apply; we chunk large batches to stay within limits. Inline images embedded in work order notes are extracted and stored as separate attachments.
RealGreen by WorkWave
Customer / Work Order ID
Odoo CRM
Custom char field
1:1The original RealGreen customer ID and work order ID are preserved in custom fields on the Odoo records (e.g., realgreen_customer_id__c and realgreen_workorder_id__c). These IDs enable delta-run de-duplication, traceability back to source records, and audit reporting against the original dataset throughout the migration process.
RealGreen by WorkWave
Equipment / Asset
Odoo CRM
product.product
1:1RealGreen stores equipment and asset records for customer properties (e.g., irrigation systems, hardscape features). Odoo does not have a native asset management module in the base CRM app. We migrate these as product.product records flagged as assets, with a custom is_asset boolean field. Full asset lifecycle management would require Odoo's Asset Management module as a separate implementation step.
RealGreen by WorkWave
Routing / Crew Data
Odoo CRM
Custom field on crm.lead
1:1RealGreen Dynamic Routing data — crew assignments, route stops, GPS tracks, and scheduled visit sequences — is green-industry-specific and has no Odoo CRM equivalent. We preserve crew name and route identifier in custom fields on the work order opportunity, but route optimization logic must be rebuilt in Odoo using a third-party routing integration or custom development.
| RealGreen by WorkWave | Odoo CRM | Compatibility | |
|---|---|---|---|
| Customer | res.partner1:1 | Fully supported | |
| Location | res.partner (child contact)1:many | Fully supported | |
| Work Order | crm.lead (Opportunity)1:1 | Fully supported | |
| Owner / Sales Rep | res.users1:1 | Fully supported | |
| Service Program | Custom field on crm.lead1:1 | Fully supported | |
| Location Address | res.partner address fields1:1 | Fully supported | |
| Work Order Communication | mail.message1:1 | Fully supported | |
| Flag Code / Status Marker | Custom field on crm.lead1:1 | Fully supported | |
| Attachment / File | ir.attachment1:1 | Fully supported | |
| Customer / Work Order ID | Custom char field1:1 | Fully supported | |
| Equipment / Asset | product.product1:1 | Fully supported | |
| Routing / Crew Data | Custom field on crm.lead1: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.
RealGreen by WorkWave gotchas
WorkWave API requires paid developer account with setup and per-call fees
RealGreen was acquired by WorkWave in June 2021 — support and roadmap have shifted
Mobile app performance degrades after marking work orders complete
Snowflake Data Factory requires customer-managed compute costs
Tokenized payment methods require separate WorkWave transfer request
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
Assess WorkWave API access and inventory RealGreen data
FlitStack confirms that your WorkWave account has API access activated and estimates call volume based on your record counts. We pull a full inventory of customer records, locations, work orders, service programs, and flag codes from RealGreen via the WorkWave API. This inventory drives the field-mapping plan and identifies any accounts with an unusually high number of locations (the split that creates multiple Odoo partner records per customer). We deliver a data-prep checklist: duplicate contacts to resolve, addresses to verify, and any RealGreen custom fields to surface in Odoo before migration day.
Stand up Odoo custom fields and configure the CRM pipeline
Before data lands, FlitStack creates the custom fields on Odoo res.partner and crm.lead needed for RealGreen-specific data — service type, flag codes, crew name, route identifier, invoice status, latitude, longitude, and the original RealGreen IDs for traceability. We configure the Odoo CRM pipeline stages to match your operational workflow, mapping RealGreen work order statuses to appropriate Odoo stage names. If your Odoo account is on Standard, we flag the API access limitation and coordinate an upgrade to Custom before the import run.
Export and sequence RealGreen data with parent-before-child ordering
We run rate-limited WorkWave API exports in the correct relational order: customer records first (as Odoo res.partner parent records), then location records as child contact records linked via parent_id, then work orders as crm.lead opportunities linked to their respective location-contact partners. This ordering respects Odoo's foreign-key constraints and prevents orphan records. Owner and sales rep fields are resolved by email match against Odoo res.users during this step, with unmatched owners flagged for fallback assignment.
Run sample migration with field-level diff and validate key mappings
A representative slice — typically 100–500 records spanning customers, locations, and work orders — migrates first. We generate a field-level diff comparing the source RealGreen values against the destination Odoo records so you can verify the mapping for service programs, flag codes, crew names, and owner resolution. Location splitting is validated at this stage to confirm the parent-child partner hierarchy is correct. You sign off on the sample before the full run commits.
Execute full migration with delta-pickup and final validation
The full migration loads all remaining records into Odoo. A delta-pickup window (24–48 hours) captures any changes made in RealGreen during the cutover — new work orders created, status updates, or location additions. After delta syncs close, we run final validation: record counts per object, spot-checks on custom field values, and verification that all location-contact partners are correctly linked to their parent customer records. FlitStack delivers an audit log and a handoff document summarizing what migrated, what was skipped (workflows, routing logic), and what requires manual rebuild in Odoo.
Platform deep dives
RealGreen by WorkWave
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between RealGreen by WorkWave and Odoo CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across RealGreen by WorkWave and Odoo CRM.
Object compatibility
All 8 core objects map 1:1 between RealGreen by WorkWave 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
RealGreen by WorkWave: Not publicly documented — access negotiated with WorkWave API Sales.
Data volume sensitivity
RealGreen by WorkWave 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 RealGreen by WorkWave to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your RealGreen by WorkWave 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 RealGreen by WorkWave
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.