โ† Back to guides

How to Migrate from NetSuite to Odoo

NetSuite is a powerful cloud ERP, but it comes with enterprise pricing that doesn't always make sense for mid-market Australian businesses. When the annual bill climbs past $50,000โ€“$100,000 and you're still fighting customisation costs, Odoo starts looking very attractive โ€” especially now that Odoo Enterprise has matured into a genuine ERP platform.

Migrating from NetSuite to Odoo is more complex than migrating from Xero or MYOB because NetSuite is a full ERP, not just accounting software. This guide covers the end-to-end process.

Why businesses leave NetSuite

  • Cost โ€” NetSuite licensing + SuiteCommerce + modules + customisation adds up fast. A $50k/year NetSuite bill can drop to under $15k/year with Odoo Enterprise.
  • Customisation costs โ€” SuiteScript development is expensive. Finding NetSuite developers in Australia is difficult and rates are high.
  • Complexity โ€” Many mid-market businesses were oversold into NetSuite and only use 20% of its capabilities.
  • Contract lock-in โ€” NetSuite's multi-year contracts and price escalation clauses push businesses to evaluate alternatives at renewal time.

Step 1: Audit your NetSuite usage

Before planning the migration, document exactly what you're using in NetSuite:

  • Modules in use โ€” Accounting, CRM, inventory, manufacturing, projects, HR, eCommerce?
  • Custom records and fields โ€” List every custom record type, custom field, and saved search. These will need Odoo equivalents.
  • SuiteScript customisations โ€” Document all custom scripts (client scripts, user event scripts, scheduled scripts). You'll need to decide which ones to rebuild in Odoo.
  • Integrations โ€” What's connected via SuiteTalk/REST API? Shopify, payment gateways, 3PL, bank feeds?
  • Subsidiaries โ€” If you're using OneWorld with multiple subsidiaries, map these to Odoo multi-company.
  • Workflows and approvals โ€” Document all NetSuite workflows. Odoo has its own workflow engine but the logic will need to be rebuilt.
โ„น๏ธ

Run a NetSuite Saved Search on all custom records, custom fields, and workflow rules to get a complete list. Don't rely on memory โ€” there are always customisations people have forgotten about.

Step 2: Map NetSuite modules to Odoo

Here's how NetSuite modules typically map to Odoo:

  • NetSuite Financials โ†’ Odoo Accounting
  • NetSuite CRM โ†’ Odoo CRM
  • NetSuite Inventory Management โ†’ Odoo Inventory
  • NetSuite Manufacturing (WIP/Routing) โ†’ Odoo Manufacturing (MRP)
  • NetSuite Projects โ†’ Odoo Project + Timesheets
  • NetSuite HR โ†’ Odoo Employees + Payroll
  • SuiteCommerce โ†’ Odoo Website/eCommerce
  • NetSuite Procurement โ†’ Odoo Purchase
  • NetSuite OneWorld (Subsidiaries) โ†’ Odoo Multi-Company
  • Custom Records โ†’ Odoo Custom Models (Studio or development)

Step 3: Extract data from NetSuite

Use NetSuite's SuiteAnalytics Connect (ODBC) or CSV exports via Saved Searches to extract:

  • Chart of accounts with account types and sub-accounts
  • Customers and vendors with all custom fields
  • Items (inventory, non-inventory, service, kit/assembly)
  • Open transactions โ€” invoices, bills, sales orders, purchase orders
  • Bill of Materials / assembly definitions
  • Employee records (if migrating HR/payroll)
  • Projects with task structures and time entries
  • Custom record data
๐Ÿ’ก

NetSuite's CSV import/export has record limits. For large datasets (10,000+ records), use ODBC or the SuiteTalk REST/SOAP API for reliable bulk extraction.

Step 4: Set up Odoo and configure modules

Install the relevant Odoo modules and configure them before importing data:

  • Install Australian Accounting, configure chart of accounts, GST, and BAS
  • Set up multi-company if migrating from NetSuite OneWorld
  • Configure warehouses and stock locations to match NetSuite's inventory structure
  • Set up manufacturing operations and work centres if using MRP
  • Recreate NetSuite custom fields as Odoo custom fields (via Studio or development)
  • Rebuild critical workflows and approval chains in Odoo

Step 5: Migrate the data

Import data in this order (dependencies matter):

  • 1. Contacts โ€” Customers, vendors, employees
  • 2. Products/Items โ€” With costs, prices, BOMs
  • 3. Inventory โ€” Current stock levels per location
  • 4. Open transactions โ€” Unpaid invoices, bills, open sales orders, open purchase orders
  • 5. Opening balances โ€” Journal entry matching NetSuite's trial balance
  • 6. Projects and timesheets โ€” Active projects with WIP
  • 7. Custom record data โ€” Into the corresponding Odoo custom models

Step 6: Rebuild integrations

Any system that was integrated with NetSuite needs to be reconnected to Odoo:

  • eCommerce โ€” Odoo has native Shopify, WooCommerce, and Amazon connectors
  • Payment gateways โ€” Stripe, PayPal, and others have Odoo integrations
  • Shipping/3PL โ€” Australia Post, StarTrack, Sendle have Odoo connectors or can be custom-integrated
  • Bank feeds โ€” Set up via Basiq, Yodlee, or SaltEdge
  • Custom API integrations โ€” Rebuild using Odoo's REST API (Odoo 17+) or XML-RPC

Step 7: Test and validate

  • Run a trial balance in both systems and compare
  • Verify inventory quantities match across both systems
  • Test all rebuilt workflows and approval chains
  • Process test transactions through every business process (quote โ†’ sale โ†’ invoice โ†’ payment)
  • Run a BAS report and compare to NetSuite
  • Test all integrations end-to-end
  • Train key users and run a parallel period if possible

Step 8: Go live and decommission NetSuite

  • Set the go-live date (start of a BAS quarter is ideal)
  • Freeze NetSuite โ€” no new transactions after cutover
  • Verify final opening balances in Odoo
  • Switch all integrations to point at Odoo
  • Update payment remittance details on invoices
  • Run hypercare support for 2โ€“4 weeks post go-live
  • Keep NetSuite accessible (read-only) for at least 12 months for ATO compliance

Timeline and cost comparison

NetSuite-to-Odoo migrations typically take:

  • Simple (accounting + CRM) โ€” 4โ€“6 weeks
  • Standard (accounting + inventory + CRM + projects) โ€” 6โ€“12 weeks
  • Complex (full ERP with manufacturing, multi-company, custom modules) โ€” 12โ€“20 weeks

The migration investment typically pays for itself within 12โ€“18 months through reduced licensing costs alone. A business spending $80k/year on NetSuite might spend $15k/year on Odoo Enterprise โ€” that's $65k saved annually after the initial migration cost.

Considering moving from NetSuite to Odoo?

NetSuite migrations are complex but doable. Let's map out the scope and timeline for your business.

Get in touch โ†’