CRM migration
Field-level mapping, validation, and rollback between Agentbox and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Agentbox
Source
Odoo CRM
Destination
Compatibility
11 of 12
objects map 1:1 between Agentbox and Odoo CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Agentbox is a property-first CRM built on the Reapit platform for Australian real estate agencies. Its data model centers on contacts associated with properties, agencies with agent records, listings tied to vendors and buyers, and appraisal history per property. Odoo CRM uses a fundamentally different architecture: crm.lead stores leads and opportunities, res.partner stores both companies and individual contacts, and property data must be carried as custom fields or related records. The migration therefore requires restructuring how property associations are represented — contacts migrate into res.partner, agencies into parent company records, and property details (address, price, type, bedrooms) into custom fields on the partner record. Agent records resolve to Odoo users by email match, and appraisal history migrates as custom activity records with original timestamps. We use the Reapit Agentbox API for export and Odoo's XML-RPC interface for import, handling value mapping on pick-lists, owner resolution, and relationship reconstruction throughout. Automation logic, workflow rules, and REA Group listing integrations do not migrate — those require Odoo-side rebuild using Odoo Automations and the official Odoo apps marketplace.
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 Agentbox 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.
Agentbox
Contact
Odoo CRM
res.partner
1:1Agentbox contacts map to Odoo res.partner records. The partner record holds name, email, phone, and address fields natively. Primary property association migrates as a custom Char field (primary_property_id) on the partner record for reference and future property linkage in Odoo.
Agentbox
Agency / Company
Odoo CRM
res.partner (company)
1:1Agentbox agency records map to res.partner records with is_company=True. The company name populates the name field, and trading_name or ABN migrates into custom fields for regulatory compliance. Child agent contacts link to the agency via parent_id on the partner record, maintaining the organizational hierarchy.
Agentbox
Agent
Odoo CRM
res.users + res.partner
1:1Agentbox agent records split into two Odoo objects: the agent profile becomes a res.users record (matched by email) for login and task assignment, and the agent-as-contact becomes a res.partner record for their own client profile. Unmatched agents are flagged before migration so Odoo user accounts can be provisioned first.
Agentbox
Listing
Odoo CRM
crm.lead (custom) + res.partner fields
1:1Agentbox listings have no native Odoo equivalent. Listing data (address, suburb, price, property_type, bedrooms, bathrooms, car_spaces, listing_status) migrates as custom fields on res.partner. Active listings also create a crm.lead record with type='Opportunity' so the pipeline view can display them alongside other opportunities.
Agentbox
Listing Vendor / Landlord
Odoo CRM
res.partner (parent)
1:1The vendor or landlord on an Agentbox listing is a contact record. That contact already maps to res.partner per the Contact mapping above. The listing's vendor association links via the custom property_id field on the partner record, maintaining the relationship between vendor and their listed properties.
Agentbox
Listing Buyer / Tenant prospect
Odoo CRM
res.partner + crm.lead
1:1Buyers and tenant prospects on a listing map to res.partner directly, and where a deal pipeline stage exists, a crm.lead is created with the opportunity_name referencing the listing address. Buyer requirements (price range, features) migrate as custom fields on the partner record for future reference and matching.
Agentbox
Appraisal
Odoo CRM
crm.lead (type=Appraisal)
1:1Agentbox appraisal records (estimated_value, appraisal_date, appraisal_type, notes) have no Odoo native equivalent. They migrate as crm.lead records with type set to 'Appraisal', stage set to a dedicated 'Appraisal Complete' stage, and custom fields estimated_value__c and appraisal_date__c carrying original values and timestamps.
Agentbox
Task / Activity
Odoo CRM
mail.activity
1:1Agentbox tasks map to Odoo mail.activity records. The activity_type, user_id (owner), date_deadline, and summary carry over accurately. Original create dates are preserved in a custom datetime field since Odoo's create_date reflects the migration run, maintaining historical activity timelines.
Agentbox
Contact Category / Tag
Odoo CRM
res.partner.category
1:1Agentbox contact categories (tags) map to Odoo res.partner.category records. Tags are created in Odoo first using the same names, then linked to partner records via the res_partner_category_rel many-to-many table during migration, preserving all categorization groupings.
Agentbox
Open Home Attendees
Odoo CRM
res.partner + mail.activity
many:1Agentbox records open home attendee contacts and their enquiry details. These merge into res.partner for the attendee and a mail.activity record capturing the home-open event date and property address. If the attendee is already in the system by email, the existing partner record is linked to avoid duplicates.
Agentbox
REA Listing ID
Odoo CRM
Custom Char field on res.partner
1:1Agentbox imports listing history from the REA Group API and stores a rea_listing_id on each listing. This ID migrates as a custom Char field (rea_listing_id__c) on the partner record so that Odoo integrations can re-connect to the REA API after migration is complete.
Agentbox
Enquiry / Lead Source
Odoo CRM
crm.lead (source_id)
1:1Agentbox enquiry sources (buyer enquiry, vendor appraisal, website, REA) map to Odoo crm.lead source_id values via a lookup table. Source names are created as utm.source records in Odoo and linked during migration for accurate lead source reporting. Unknown sources are flagged for manual assignment by your Odoo admin.
| Agentbox | Odoo CRM | Compatibility | |
|---|---|---|---|
| Contact | res.partner1:1 | Fully supported | |
| Agency / Company | res.partner (company)1:1 | Fully supported | |
| Agent | res.users + res.partner1:1 | Fully supported | |
| Listing | crm.lead (custom) + res.partner fields1:1 | Fully supported | |
| Listing Vendor / Landlord | res.partner (parent)1:1 | Fully supported | |
| Listing Buyer / Tenant prospect | res.partner + crm.lead1:1 | Fully supported | |
| Appraisal | crm.lead (type=Appraisal)1:1 | Fully supported | |
| Task / Activity | mail.activity1:1 | Fully supported | |
| Contact Category / Tag | res.partner.category1:1 | Fully supported | |
| Open Home Attendees | res.partner + mail.activitymany:1 | Fully supported | |
| REA Listing ID | Custom Char field on res.partner1:1 | Fully supported | |
| Enquiry / Lead Source | crm.lead (source_id)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.
Agentbox gotchas
Appraisal records excluded from all migration tiers
Approved data source list gates basic migration
Third-party migration incurs layered fees
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
Export Agentbox data via Reapit OpenPlatform API
FlitStack AI connects to the Agentbox Reapit OpenPlatform API using your agency credentials. We export contacts, companies/agency records, agent profiles, listings, appraisal history, tasks, contact categories, and open-home attendee records in a single coordinated pull. Each record type is exported with its internal ID, create_date, write_date, and owner agent_id preserved. The export runs read-only — your team continues working in Agentbox throughout. We store a snapshot timestamp so the delta window is anchored precisely.
Audit schema and design Odoo custom field structure
We analyze your Agentbox field inventory — identifying custom fields, pick-list values, and relationship IDs — and produce an Odoo schema design document. This specifies which custom fields to create on res.partner (listing_*, preferred_suburb, buyer_status, rea_listing_id), which crm.lead fields to use for appraisals, and which tags to map to res.partner.category. Your Odoo admin creates the custom fields and pipeline stages in the target Odoo instance before we begin the test migration. This ensures data validates on first landing.
Resolve agent-to-user mapping by email
Agentbox agent records are matched to Odoo res.users by email address during the pre-migration audit phase. We generate a comprehensive pre-migration resolution report listing all matched agents, unmatched agents, and the suggested fallback owner for each unmatched agent's records and related contacts. Your Odoo admin provisions missing users or confirms fallback assignments before migration begins. No contact or listing record lands without a resolved owner_id, ensuring proper task and activity assignment from day one.
Run sample migration with field-level diff
A representative slice migrates first — typically 200–500 records spanning contacts, agencies, listings, and appraisal records. We generate a field-level diff comparing source values against Odoo destination values, verifying that custom field labels, pick-list values, and owner assignments are correct. You review the diff report and approve before the full run. This catches mapping errors before they scale across the entire database.
Execute full migration with delta-pickup window
The full migration runs in sequenced batches: agencies first (for parent_id resolution), then contacts, then listings and appraisals, then tasks and attendee records. After the initial run completes, a 24–48 hour delta-pickup window captures any records modified or created in Agentbox during the cutover period. Audit log records every operation. One-click rollback reverts the Odoo database to its pre-migration state if reconciliation identifies data integrity issues.
Platform deep dives
Agentbox
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 Agentbox 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
Agentbox: Not publicly documented.
Data volume sensitivity
Agentbox 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 Agentbox to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Agentbox 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 Agentbox
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.