ERP migration
Field-level mapping, validation, and rollback between Farvision ERP and Odoo ERP. We move data and schema; workflows are rebuilt natively in Odoo ERP.
Farvision ERP
Source
Odoo ERP
Destination
Compatibility
10 of 12
objects map 1:1 between Farvision ERP and Odoo ERP.
Complexity
BStandard
Timeline
5-8 weeks
Overview
Moving from Farvision ERP to Odoo ERP is a structural migration for real estate and infrastructure companies that relies heavily on project-wise accounting. Farvision's architecture stores transactions segregated by project using MongoDB document nesting; Odoo uses a flat chart-of-accounts structure with optional analytic accounts for project costing. We extract a project-to-account cross-walk table during discovery, flatten Farvision's nested documents, and map them into Odoo's analytic accounting structure so that financial segregation is preserved in the destination. Property records (Units) map to Odoo Product variants or a Project-based real estate configuration depending on the customer's chosen Odoo module set. We do not migrate Farvision's internal workflow configurations, automations, or engineering module customizations as code; these require manual rebuild inside Odoo by the customer's implementation partner or admin team.
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 Farvision ERP object lands in Odoo ERP, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Farvision ERP
Project Master (Land Acquisition, Legal, Pre-Sales, Post-Sales, Budgeting, Execution)
Odoo ERP
Project
1:1Farvision's Project records span six lifecycle phases (Land Acquisition, Legal, Pre-Sales, Post-Sales, Budgeting, Execution) stored as phase flags or sub-records on a single project object. We migrate the project master record with phase metadata preserved as custom fields, and link Odoo Project tasks or sub-projects for each active phase. If Odoo Enterprise Real Estate module is installed, projects map to Real Estate Property records. Phase sequencing is preserved for project timeline reporting in the destination.
Farvision ERP
Customer / Account
Odoo ERP
Contact / Company
1:1Farvision Customer records map to Odoo Partner records. We resolve the schema distinction: if Farvision stores organizational accounts (companies) separately from individual contacts, we create Odoo Company partners with Contact sub-records linked via the parent_id relationship. Custom fields on Customer (buyer classification, source channel, property interest type) migrate as Odoo custom fields on res.partner.
Farvision ERP
Property / Unit
Odoo ERP
Product (storable) or Project / Real Estate Unit
1:1Farvision Property records represent sellable units tied to a specific project. We map these to Odoo Product records with storable type if using the standard inventory model, or to the Odoo Real Estate module's property/unit object if that module is installed in the destination. Project-to-property associations migrate as product_categories or tags on the Odoo Product, preserving the original project linkage for inventory and sales reporting.
Farvision ERP
Sales Order / Booking Record
Odoo ERP
Sale Order
1:1Farvision Sales Orders and Booking Records (generated when a buyer reserves a property unit) map to Odoo Sale Order. The booking status field (e.g., Registered, Confirmed, Cancelled) maps to Odoo's sale_order_state workflow, and payment schedule milestones migrate as sale.order.line records with their respective amounts and due dates. We preserve the property-unit linkage via the Odoo Product reference on each order line.
Farvision ERP
Invoice / Client Billing Record
Odoo ERP
Account Move (Invoice)
1:1Farvision Client Billing records and installment tracking migrate to Odoo Account Moves in the account module. Payment milestones, installment amounts, and remaining balances map to Odoo invoice lines with payment term references. We preserve the project-wise financial segregation by mapping Farvision's project-reference field to an Odoo analytic account on each invoice line, enabling project-wise P&L reporting post-migration.
Farvision ERP
Stores and Inventory / Material Management
Odoo ERP
Product (stockable) + Inventory Move
1:1Farvision inventory management covering materials, procurement, and stock tracking maps to Odoo Product (stockable type) with current_quant and warehouse location preserved via Odoo stock.quant and stock.location records. Unit-of-measure conventions from Farvision require explicit mapping to Odoo's uom.uom table. If Farvision stores stock transaction history, we migrate opening inventory balances rather than full transaction history to avoid the overhead of reconstructing Odoo stock.move records.
Farvision ERP
Employee / Payroll Record
Odoo ERP
Employee
1:1Farvision HR and Payroll employee records map to Odoo hr.employee. Compensation history and effective-dated payroll records migrate as a single snapshot at migration time; we flag effective-dated payroll records for manual verification by the customer's HR team post-migration because Odoo Payroll requires separate configuration and is not included in standard Odoo ERP migration scope unless specifically contracted.
Farvision ERP
Activity and Activity Group
Odoo ERP
Mail Activity
1:1Farvision Activity records and Activity Groups (documented via YouTube training import/export content) map to Odoo Mail Activity records linked to the corresponding res.partner, project, or sale.order. Activity Groups migrate as tags or categories on the Odoo activity record. Date sequencing and owner assignments are preserved from the Farvision activity records for project activity timeline reconstruction.
Farvision ERP
Payment Types Master
Odoo ERP
Account Journal (Payment Method)
lossyFarvision's configurable Payment Types Master entity maps to Odoo account.journal records with the journal_type set to bank or cash depending on the payment type classification. Each configured payment type from Farvision creates a corresponding journal in Odoo, with the payment_flow mapping preserved (e.g., incoming vs outgoing, online vs offline) in the journal's active configuration settings.
Farvision ERP
Places / Location Hierarchy
Odoo ERP
Country, State, City (res.country, res.country.state, res.city)
1:1Farvision Places Management stores location data with country and state hierarchies. We preserve the full location tree structure and map it to Odoo's res.country, res.country.state, and city tables. The location hierarchy (project site, tower, floor, unit) migrates as structured address fields on the related Partner or Project record, with the highest-level project location stored as the primary address for reference.
Farvision ERP
Engineering / QS Record
Odoo ERP
Project Task + Bill of Materials (for QS data)
1:1Farvision Engineering module covers Quantity Surveying and contractor billing records with industry-specific data structures. These map partially to Odoo Project Task records for QS tracking and to Odoo mrp.bom if the engineering records contain material take-off or bill of materials data. Complex engineering-specific fields (rate analysis, work measurement, cost codes) require field-level mapping to custom fields on the Odoo task or product, as Odoo does not have a native QS object.
Farvision ERP
Custom Fields (across all objects)
Odoo ERP
Custom Fields (ir.model.fields)
lossyFarvision custom field definitions and their values migrate to Odoo custom fields created via Settings > Technical > Custom Fields or via XML data migration. MongoDB-typed data (nested objects, arrays) is flattened during the transform step by unwrapping nested key-value pairs into Odoo-compatible scalar fields. Field type mapping from Farvision types to Odoo field types (char, float, selection, many2one, etc.) is defined during discovery and validated in the sandbox migration before production.
| Farvision ERP | Odoo ERP | Compatibility | |
|---|---|---|---|
| Project Master (Land Acquisition, Legal, Pre-Sales, Post-Sales, Budgeting, Execution) | Project1:1 | Fully supported | |
| Customer / Account | Contact / Company1:1 | Fully supported | |
| Property / Unit | Product (storable) or Project / Real Estate Unit1:1 | Fully supported | |
| Sales Order / Booking Record | Sale Order1:1 | Fully supported | |
| Invoice / Client Billing Record | Account Move (Invoice)1:1 | Fully supported | |
| Stores and Inventory / Material Management | Product (stockable) + Inventory Move1:1 | Fully supported | |
| Employee / Payroll Record | Employee1:1 | Fully supported | |
| Activity and Activity Group | Mail Activity1:1 | Fully supported | |
| Payment Types Master | Account Journal (Payment Method)lossy | Mapping required | |
| Places / Location Hierarchy | Country, State, City (res.country, res.country.state, res.city)1:1 | Fully supported | |
| Engineering / QS Record | Project Task + Bill of Materials (for QS data)1:1 | Fully supported | |
| Custom Fields (across all objects) | Custom Fields (ir.model.fields)lossy | Mapping required |
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.
Farvision ERP gotchas
No publicly documented public API or rate limits
Yearly auto-renewal with quarter-in-advance cancellation
Performance degradation on concurrent writes
Project-wise accounting requires structural mapping
Minimum 5-user contract floors on subscription and cloud hosting
Odoo ERP gotchas
No rollback for CSV imports
External ID conflicts on re-import
Many2many field encoding in CSV imports
Large export timeouts require batching
Version schema drift between Odoo releases
Pair-specific challenges
Migration approach
Discovery and source data assessment
We audit the Farvision ERP environment across all active modules (Land Acquisition, Legal, Pre-Sales, Post-Sales, Projects, Sales, Invoicing, Inventory, Payroll, and Engineering). We identify the document structure used by Farvision's MongoDB backend, assess custom field definitions across objects, and catalog the Payment Types Master and Places Management hierarchies. We also extract the project-to-account cross-walk needed to preserve project-wise financial segregation. This phase requires customer-facilitated access to Farvision's implementation team for database extracts because no public API exists.
Schema design and Odoo module selection
We design the Odoo destination schema based on the customer's chosen module set. This includes configuring the Odoo Real Estate module or using Projects and Products to model property/unit data, setting up analytic accounts to replicate project-wise accounting, mapping Farvision's custom fields to Odoo custom fields, configuring account journals for Payment Types Master migration, and designing the flattened document structure for MongoDB-to-PostgreSQL translation. Schema design is validated in an Odoo test database before production migration begins.
Document extraction and data transformation
We extract Farvision data using vendor-coordinated database exports or bulk export tools. The extracted MongoDB documents are pre-processed to flatten nested structures, resolve cross-document references (e.g., linking Property records to Project masters and Sales Orders to Customer records), and transform MongoDB data types to Odoo-compatible field types. This step produces CSV or XML import files structured for Odoo's Data Import module or direct PostgreSQL insertion for large-volume tables.
Sandbox migration and reconciliation
We run a full migration into an Odoo test database using production-like data volume. The customer's implementation lead reconciles record counts across all objects (Projects, Properties, Customers, Sales Orders, Invoices, Inventory, Employees), spot-checks a sample of 30-50 records against the Farvision source, and validates the project-wise accounting cross-walk in Odoo's analytic reports. Any mapping corrections or schema adjustments happen here, not in production.
Production migration in dependency order
We run production migration in record-dependency order: base data first (Countries, States, Payment Types, Product Categories, Units of Measure), then master records (Projects, Customers/Partners, Properties/Products), then transactional records (Sales Orders, Invoices, Inventory, Payroll snapshots), and finally Activity records and custom field data. Each phase emits a row-count reconciliation report before the next phase begins. We throttle writes to avoid compounding any Farvision performance constraints during the migration window.
Cutover, validation, and admin handoff
We freeze Farvision writes during cutover, run a final delta migration of any records modified during the migration window, and enable Odoo as the system of record. We deliver a written inventory of all Farvision workflow configurations, automations, and engineering module customizations requiring rebuild in Odoo, along with the project-wise accounting configuration document for the customer's admin or Odoo implementation partner. We support a one-week hypercare window for reconciliation issues and do not include post-migration admin support, training, or workflow rebuild as standard scope.
Platform deep dives
Farvision ERP
Source
Strengths
Weaknesses
Odoo ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP 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 Farvision ERP and Odoo ERP.
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
Farvision ERP: Not publicly documented.
Data volume sensitivity
Farvision ERP 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 Farvision ERP to Odoo ERP migration scoping. Not seeing yours? Book a call.
Walk through your Farvision ERP to Odoo ERP migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Farvision ERP
Other ways to arrive at Odoo ERP
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.