

Migrating from a hosted SaaS instance to a platform that gives you more control is one of the most common growth steps for businesses using Odoo.
Whether you started on Odoo Online to validate your processes or chose a cloud path for speed, moving to Odoo.sh or to an on-premise environment becomes necessary the moment you need custom code, special integrations, or strict data controls.
This guide explains, step-by-step, how to plan and execute a migration from Odoo Online to Odoo.sh or to your own servers, what to expect, the modules to check, how to avoid common pitfalls, and provides practical tips to minimise downtime and headaches.
Also Read: Odoo Online vs Odoo.sh vs On-Premise: Which One Fits Your Business Best?
The primary reason businesses outgrow Odoo Online is the need for greater control and more in-depth customisation. Odoo Online is excellent for using the standard features, but it has one major limitation: you cannot install custom Python modules or complex third-party apps from the Odoo App Store that require direct code access. The customisation tools are limited to Odoo Studio.
The shift to Odoo.sh or On-Premise is usually driven by one or more of these key requirements:
1. Need for Custom Modules:You need an ERP solution that can handle custom business logic, such as a unique inventory valuation method for the Manufacturing industries, or a complex scheduling system for Healthcare. This requires custom code, which is only possible on Odoo.sh or on-premises.
2. External System Integration:Your business requires an Enterprise Resource Planning system that talks to other core systems (like a specific e-commerce platform, warehouse management system, or old accounting ERP software). These integrations often need direct server access and custom API connections.
3. Data Control and Security: Some industries, especially Healthcare, have strict data governance rules. Moving to on-premises gives you complete physical control over your data and the ability to set your own security protocols.
4. Performance and Scaling: For very large Odoo instances or high-volume businesses like major Retail chains, self-hosting allows you to control the server hardware and software settings, which means you can fine-tune performance.
.png)
Before the how-to, understand your destination choices:
1. Move to Odoo.sh
2. Move to an on-premise or self-hosted cloud server
3. Hybrid path
Deciding which option depends on your team's skills, compliance needs, customisations, and long-term roadmap. Panorama’s ERP studies consistently show businesses that plan deployments and align hosting choices with future custom needs avoid costly rework later.
Preparation determines success. Don’t skip these steps.
1. Define the migration goals
Why move? (custom code, integrations, compliance, performance)
Which modules must carry over unchanged? (Accounting, Inventory, POS, Manufacturing)
2. Audit your current Odoo Online instance
List active modules and third-party apps.
Export a dependency map: which customisations rely on which modules.
Identify custom data (attachments, stored files, reports).
3. Clean the data
Remove test/demo records, duplicates, obsolete product SKUs, and inactive users. Clean data shortens migration time and reduces surprises during validation.
4. Snapshot & backup
Download a full database backup from Odoo Online (the Odoo docs show how to download the DB backup). Keep at least two copies in safe storage.
5. Plan a freeze window
Decide on a short “read-only” or freeze period for the final cutover (e.g., 2–4 hours outside business hours). Communicate this well in advance.
6. Choose a partner or team
If you lack in-house developers and sysadmins, select an Odoo partner or experienced Odoo developer. Migration is more than copying a DB; you’ll need code checks, dependencies resolved, and possibly version upgrades.
1. Ignoring custom dependencies
Some third-party modules require extra system packages. Inventory all dependencies and install them early in staging.
2. Skipping data cleanup
Migrating bad data just makes problems bigger. Clean customers, products, and accounting masters first.
3. Underestimating reporting differences
Fiscal or tax reports sometimes behave differently across environments or versions. Validate all financial reports with your accounting team.
4. Not testing integrations
Shopify connectors, payment gateways, 3PL links, and POS devices need full end-to-end testing in staging.
5. Poor communication with users
Plan training and share clear cutover timings. Users who expect surprise changes cause operational delay.
When you migrate, focus testing on modules that power daily operations. Here’s a practical list:
Test each area from end to end (not just isolated forms). Ask the team: how would a typical day look, and what must never fail? Then test those exact scenarios.
The decision to move your Odoo instance is a big step, usually signalling a positive business shift toward deeper digital capabilities. The move from Odoo Online to Odoo.sh or On-Premise is not just a technical change; it is a strategic decision about how much control and customisation you need for your Enterprise Resource Planning system.
For businesses like Retail and Restaurants that need specific hardware integrations (POS systems, kitchen displays) or Manufacturing and Healthcare with unique processes, the flexibility of Odoo.sh or On-Premise will quickly pay off.
Don't risk data loss or unnecessary downtime. Micra Digital specialises in complex Odoo migrations to Odoo.sh and on-premises, providing the technical expertise and hands-on support to get your business moved and running smoothly.
1. Can I move from Odoo Online to Odoo.sh without losing custom data?
Yes, if you export the database and filestore correctly and validate attachments. Odoo.sh supports importing the database; custom modules must be added to the project repo and tested in staging first.
2. How long does a migration usually take?
For standard SME setups with moderate customisations, a careful migration and go-live can be done in 1–3 weeks. Complex setups with heavy custom code, manufacturing rules, or large data sets can take longer.
3. Is Odoo.sh better than on-premise?
Odoo.sh is ideal when you want developer freedom plus Odoo-managed hosting. On-premises is better when you need strict control over infrastructure or special compliance.
Let Odoo take your business to the next level!
Contact us and take the next step!
Follow Our Adventures!
Ready to launch your next project?
Company
Copyright © 2020. micra.digital. All rights reserved.