ERP migration
Field-level mapping, validation, and rollback between Exact Globe and Odoo ERP. We move data and schema; workflows are rebuilt natively in Odoo ERP.
Exact Globe
Source
Odoo ERP
Destination
Compatibility
12 of 13
objects map 1:1 between Exact Globe and Odoo ERP.
Complexity
BStandard
Timeline
5-8 weeks
Overview
Moving from Exact Globe to Odoo ERP is a structural migration from a Windows client-server ERP to a modular open-source SaaS platform. Exact Globe stores its data in Microsoft SQL Server with separate header and line tables for transactions, while Odoo uses a PostgreSQL backend with standard models for partners, accounts, stock moves, and projects. We resolve the Chart of Accounts mapping first because it underpins journal entries, invoices, and fixed asset records. Exact Globe BOMs require recursive traversal to capture multi-level product structures before loading into Odoo mrp.bom. We do not migrate workflows, automations, or Exact Globe attachments stored as database blobs or file-system paths; these are documented separately for manual export by the customer. With Exact Globe Next end-of-support set for end of 2026, this migration is typically time-constrained, and we scope the export window around date-range boundaries agreed during discovery.
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 Exact Globe 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.
Exact Globe
Accounts (Debtors/Creditors)
Odoo ERP
res.partner
1:1Exact Globe Accounts map to Odoo res.partner records with customer and supplier flags set independently. The Exact Globe account code becomes partner_ref in Odoo; the debtor/creditor classification maps to Odoo's customer_rank and supplier_rank integer counters. We extract parent-account relationships and map them to Odoo's commercial_partner_id for multi-company structures. Address, contact, and payment-term fields migrate directly with type-preserved field mapping.
Exact Globe
General Ledger (Chart of Accounts)
Odoo ERP
account.account + account.group
1:1The Exact Globe Chart of Accounts maps to Odoo's account.account model with account codes preserved as code values. Account groups from Exact Globe map to account.group for financial statement hierarchy. We extract account_type (asset, liability, equity, income, expense) and map to Odoo's accountType field. Account.reconcile flags and tax_ids require per-record configuration in Odoo before journal entries are loaded.
Exact Globe
Financial entries and entry lines
Odoo ERP
account.move + account.move.line
1:1Exact Globe journal entries and their line items (split across separate tables) map to Odoo account.move records at the journal-entry level and account.move.line records at the line level. The Exact Globe journal code maps to account.journal selection (sale, purchase, general, bank, cash). Line-level dimensions (cost center, department) map to Odoo's analytic_account_id. Date-range scoping is agreed during discovery to exclude locked or reconciled periods.
Exact Globe
Invoices and invoice lines
Odoo ERP
account.move (type=out_invoice / in_invoice) + account.move.line
1:1Sales and purchase invoices from Exact Globe (header and line tables separated) map to Odoo account.move records of type out_invoice or in_invoice with corresponding account.move.line rows. Tax codes from Exact Globe require mapping to Odoo's account.tax records which must be pre-created in the destination. Payment terms, invoice status (open, paid, void), and due dates migrate with field-level mapping to Odoo's invoice_payment_term_id and amount_residual.
Exact Globe
Items (Products, Services, Variants)
Odoo ERP
product.template + product.product
1:1Exact Globe Items map to Odoo product.template with type (consu, service, product) and product.product variants created where Exact Globe has item variants. Item code becomes default_code; cost_price maps to standard_price; sales_price maps to list_price. Unit of measure from Exact Globe maps to uom_id in Odoo with a UoM conversion table for mismatched units.
Exact Globe
Bills of Materials
Odoo ERP
mrp.bom + mrp.bom.line
1:1Exact Globe BOMs with multi-level sub-assemblies require recursive traversal across pass-by-pass extraction because each level references child BOMs as separate records. We extract the top-level BOM first, then resolve component items (product.product ids) and quantities per mrp.bom.line. BOM type in Odoo (kits, normal, subcontract) is inferred from Exact Globe routing data. Operation routing (work centers, cycle times) maps to mrp.workcenter and mrp.routing.workcenter.
Exact Globe
Sales Orders and Purchase Orders with lines
Odoo ERP
sale.order + sale.order.line / purchase.order + purchase.order.line
1:1Exact Globe sales and purchase orders (split across header and line tables) map to Odoo sale.order and purchase.order records respectively with order lines migrated as sale.order.line and purchase.order.line. Order status (open, processed, invoiced, cancelled) maps to Odoo state (draft, sale, done, cancel). Back-order relationships from Exact Globe are preserved as sale.order.line linked to the original order via name pattern conventions.
Exact Globe
Quotations
Odoo ERP
sale.order (state=draft)
1:1Exact Globe Quotations map to Odoo sale.order records in draft state with quotation validity and expiration dates migrated. The conversion flag (expired, converted to order) maps to Odoo's state field and the presence or absence of an order reference. Line items migrate to sale.order.line with product mapping resolved against the product.template lookup.
Exact Globe
Projects and cost categories
Odoo ERP
project.project + project.task + account.analytic.account
1:1Exact Globe Project headers with cost categories, billing methods, and budget data map to Odoo project.project linked to account.analytic.account for financial tracking. Project tasks migrate to project.task with planned hours, stage, and assignee mapping. Time entries from Exact Globe map to account.analytic.line records linked to the analytic account and the associated project.task.
Exact Globe
Human Resources (Employees, Compensation)
Odoo ERP
hr.employee + hr.contract
1:1Exact Globe HR records covering employee data, org structure, and effective-dated compensation map to Odoo hr.employee and hr.contract. Effective-dated compensation changes require careful sequencing during export to preserve historical salary records; each effective-dated row becomes a separate hr.contract with start and end dates in Odoo. Org structure maps to hr.department. Note that Odoo Payroll is an advanced module not included in all editions; we flag this during scoping and document the payroll rebuild scope for the customer.
Exact Globe
Contact Persons
Odoo ERP
res.partner (type=contact)
1:1Exact Globe Contact Persons linked to Accounts map to Odoo res.partner records with type=contact and parent_id pointing to the partner representing the Account. Name, role, email, phone, and address fields migrate directly. Contact lifecycle stage and ownership assignments map to custom fields on res.partner in Odoo. The email address is used as the dedupe key for duplicate detection during import.
Exact Globe
Fixed Assets
Odoo ERP
account.asset.asset + account.asset.category
1:1Exact Globe Fixed Asset records with acquisition cost, depreciation method, book value, and asset class map to Odoo account.asset.asset and account.asset.category. Depreciation schedules require recalculation in Odoo if the fiscal year calendar differs from the source, which we document as a post-load reconciliation step. Asset account and depreciation account codes from Exact Globe must map to Odoo account.asset.category field definitions before the asset import begins.
Exact Globe
Custom fields on standard tables
Odoo ERP
ir.model.fields (custom)
lossyExact Globe custom fields on any of the 14 supported standard tables (Financial entries, Accounts, Invoices, Items, Orders, Projects, HR, Contact persons) are cataloged during discovery and pre-created in Odoo as ir.model.fields before the corresponding data import. Field type mapping from Exact Globe types (text, long, double, date, bit) maps to Odoo field types (char, text, float, datetime, boolean). Custom field names are locked in Exact Globe after creation and must not change between discovery and load; we confirm final schema with the customer before extraction begins.
| Exact Globe | Odoo ERP | Compatibility | |
|---|---|---|---|
| Accounts (Debtors/Creditors) | res.partner1:1 | Fully supported | |
| General Ledger (Chart of Accounts) | account.account + account.group1:1 | Fully supported | |
| Financial entries and entry lines | account.move + account.move.line1:1 | Mapping required | |
| Invoices and invoice lines | account.move (type=out_invoice / in_invoice) + account.move.line1:1 | Mapping required | |
| Items (Products, Services, Variants) | product.template + product.product1:1 | Fully supported | |
| Bills of Materials | mrp.bom + mrp.bom.line1:1 | Mapping required | |
| Sales Orders and Purchase Orders with lines | sale.order + sale.order.line / purchase.order + purchase.order.line1:1 | Fully supported | |
| Quotations | sale.order (state=draft)1:1 | Mapping required | |
| Projects and cost categories | project.project + project.task + account.analytic.account1:1 | Fully supported | |
| Human Resources (Employees, Compensation) | hr.employee + hr.contract1:1 | Fully supported | |
| Contact Persons | res.partner (type=contact)1:1 | Fully supported | |
| Fixed Assets | account.asset.asset + account.asset.category1:1 | Mapping required | |
| Custom fields on standard tables | ir.model.fields (custom)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.
Exact Globe gotchas
Exact Globe Next end-of-support creates a hard migration deadline
Cannot run Exact Globe Next and Exact Globe+ concurrently
API rate limits on Exact Online cloud restrict bulk export speed
Custom fields on standard tables are schema-locked after creation
File attachments are not reliably accessible via standard APIs
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 Exact Globe edition assessment
We audit the source Exact Globe environment including edition (legacy on-premise vs Exact Globe Next), SQL Server database size, active modules, custom fields added to standard tables, BOM complexity, and date-range boundaries for transactional data. We also assess whether the customer needs to execute the mandatory Exact Globe Next upgrade before Odoo migration can proceed. The discovery output is a written migration scope document with record counts per object, BOM level count, and a migration path recommendation.
Schema design and Odoo configuration
We design the destination Odoo schema before any data moves. This includes installing the required apps (Accounting, Inventory, Manufacturing, Project, HR), configuring the Chart of Accounts from the Exact Globe account structure, creating account.tax records mapped from Exact Globe tax codes, provisioning custom ir.model.fields for every Exact Globe custom field, and creating mrp.workcenter and mrp.routing.workcenter records for BOM routing data. All schema configuration is deployed to a staging database or Odoo sandbox for validation before production load.
Data profiling, deduplication, and transformation
We run a profiling pass over the extracted Exact Globe data to identify duplicate accounts, orphan contact persons, missing payment terms, unmapped tax codes, and BOM component resolution failures. Data cleansing rules are agreed with the customer and applied in the transformation layer. Multi-level BOMs undergo recursive traversal in staged extraction passes to resolve all sub-assembly dependencies before the mrpbom load phase begins.
Sandbox migration and reconciliation
We run a full migration into an Odoo staging environment using production-like data volume. The customer's finance and operations leads reconcile record counts (accounts, GL entries, invoices, items, BOMs, projects) and spot-check 25-50 records against the Exact Globe source. Any schema corrections, field mapping adjustments, or BOM traversal fixes are applied here before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: res.partner (accounts and contact persons first), account.account and account.group (Chart of Accounts), account.move (GL entries and invoices in journal-date order), product.template and product.product (items), mrp.bom (BOMs after product templates are confirmed), sale.order and purchase.order (orders and quotations), project.project and project.task (projects), hr.employee and hr.contract (HR), account.asset.asset (fixed assets). Each phase emits a row-count reconciliation report before the next phase begins. API call consumption is tracked for Exact Online exports to manage daily rate limits.
Cutover, delta migration, and attachment checklist delivery
We freeze Exact Globe writes during cutover, run a final delta migration of records modified during the migration window, then hand off Odoo as the system of record. We deliver the manual attachment export checklist to the customer and provide a template ir.attachment import script for post-migration file loading. We deliver the workflow and automation inventory document for the customer's admin to rebuild in Odoo Studio or via custom module development. We support a one-week hypercare window for reconciliation issues.
Platform deep dives
Exact Globe
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 Exact Globe 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
Exact Globe: Not publicly documented for on-premise Exact Globe; Exact Online cloud enforces 5,000 calls/day.
Data volume sensitivity
Exact Globe 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 Exact Globe to Odoo ERP migration scoping. Not seeing yours? Book a call.
Walk through your Exact Globe 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 Exact Globe
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.