Odoo Online vs Odoo.sh vs On-Premise: Which Can You Automate?
The honest comparison of Odoo’s three hosting types — through the automation lens
Most Odoo hosting comparisons argue about price and control. This one asks the question that bites later: once your data is in, how much can you actually automate? The answer differs sharply between Odoo Online, Odoo.sh, and on-premise — because one of the three doesn’t allow custom Python modules at all, which silently rules out most automation add-ons. Here’s how the three compare, what each means for automation, and how BOTS4.me connects to all three (Odoo versions 13–19).
🎯 Why Your Hosting Choice Decides Your Automation Options
The trap usually springs months after go-live. A company picks Odoo Online for its simplicity — no servers, automatic upgrades, predictable cost. Then the team wants to automate something real: import email orders, match bank payments, send dunning reminders. They find a promising module on the app store, click install… and discover it can’t be installed, because Odoo Online does not allow custom or third-party Python modules. Only Odoo’s own standard apps run there.
That single platform rule divides the Odoo world in two: hosting where you can extend the server (Odoo.sh and on-premise), and hosting where you can’t (Odoo Online). Any automation strategy that depends on installing code inside Odoo works on the first group and fails on the second. The good news: automation that talks to Odoo from the outside, through Odoo’s standard API, works everywhere — and that’s the approach this guide recommends regardless of hosting.
🏗️ The Three Hosting Types in Plain Terms
☁️ Odoo Online (SaaS)
Odoo’s fully managed cloud. Zero infrastructure work, version upgrades handled by Odoo, fastest start. The trade-off is extensibility: no custom Python modules, no server access, no third-party app-store modules that contain Python code. You configure what Odoo ships — and integrate externally via the API, which Odoo includes in its Custom plan.
🚀 Odoo.sh (PaaS)
Odoo’s managed cloud platform for customized databases. You get git-based deployment, staging branches, and full support for custom and third-party modules — without running your own servers. More capable than Online, more to manage than Online (developers, module updates, upgrade testing).
🖥️ On-Premise / Self-Hosted
Odoo Community or Enterprise on your own servers or cloud VMs. Total freedom — any module, any customization, full database and OS access — and total responsibility: hosting, security, backups, monitoring, and version upgrades are all yours.
| Automation criteria | ☁️ Odoo Online | 🚀 Odoo.sh | 🖥️ On-Premise |
|---|---|---|---|
| Custom Python modules | ❌ Not allowed | ✅ Full support | ✅ Full support |
| Third-party automation add-ons (app store) | ❌ Most won’t install | ✅ Yes | ✅ Yes |
| External API access (for outside integrations) | ✅ Yes, with API keys (Custom plan) | ✅ Yes | ✅ Yes |
| Infrastructure & maintenance burden | ✅ None — Odoo manages it | ⚠️ Low-medium — platform managed, modules yours | ❌ High — everything is yours |
| Version upgrades | ✅ Managed by Odoo | ⚠️ Tooling provided, testing yours | ❌ Fully manual |
| BOTS4.me connector type | ✅ API key (+ optional zero-code XML helper) | ✅ Python connector (one-click connect) | ✅ One-click Python connector |
| Start the free Discovery month | On the app’s card at bots4.me/bots | In Odoo, on the app’s row (or at bots4.me/bots) | In Odoo, on the app’s row (or at bots4.me/bots) |
| Connecting Odoo and the mailbox to an app | Odoo URL, login and API key in the Access Manager; mailbox via Gmail / Microsoft 365 sign-in or IMAP | One click: + This Odoo as ERP and + My IMAP mail | One click: + This Odoo as ERP and + My IMAP mail |
| Whose rights the bots use | ⚠️ The user whose API key you paste: you grant the rights | ✅ A technical user that gets only the rights of your active apps (it counts as an Odoo user) | ✅ A technical user that gets only the rights of your active apps (it counts as an Odoo user) |
| API key renewal (Odoo 18 and later) | ⚠️ Create a new key and paste it before the old one expires | ✅ Banner in Odoo; Disconnect, then Connect | ✅ Banner in Odoo; Disconnect, then Connect |
| BOTS4.me apps that work with Odoo | ✅ Same on all three | ✅ Same on all three | ✅ Same on all three |
Honest summary: Odoo Online is the easiest to run and the hardest to extend internally. Odoo.sh and on-premise can be extended freely — at the cost of owning more of the stack.
Plan note: Odoo Online needs Odoo’s Custom plan for API access; Odoo.sh and on-premise work on any plan.
☁️ Automating Odoo Online — Despite the No-Python Rule
Because Odoo Online forbids custom Python, most automation add-ons simply don’t exist for it. But Odoo Online supports its standard external API on the Custom plan, authenticated with per-user API keys — and that is exactly the path BOTS4.me uses:
- Step 1: In your Odoo Online database, open Settings → Users & Companies → Users, pick the user the bots should act as, open Account Security (switch on developer mode if the tab is hidden) and click New API Key. Copy it; Odoo shows it only once.
- Step 2 (optional): Install “BOTS4.me for Odoo Online” from apps.odoo.com. It is a data-only module with no Python in it, so Odoo Online accepts it, and it adds a BOTS4.me app with Connect / Dashboard, a Setup Guide and How to Create an API Key.
- Step 3: Sign in at bots4.me/bots, click Start free Discovery month on the app’s card and accept the Terms once — no credit card needed. Then open Settings (gear) → the app → Access Manager → Add Destination or Add Source → ERP → Odoo. Enter your Odoo URL (the Database Name fills itself in for yourcompany.odoo.com), the user’s login email and the API key, then click Add ERP Account. The bots now talk to your Odoo from the outside, over HTTPS.
No server access, no code deployment, no risk to your automatic upgrades. The bots work with the rights of the user whose key you pasted, so give that user what your apps need: Sales (Administrator), Contact Creation and Purchase (User) for Mail2ERP; Sales (Administrator), Contact Creation, Invoicing (Billing) and Inventory (User) for AutoERP; Invoicing (Billing) and Accounting (Accountant) for Pay2ERP; Invoicing (Billing) for AutoCASH; Purchase (User) and Contact Creation for Supplier2ERP. A dedicated integration user keeps Odoo’s logs clean but counts as a paid Odoo user; your own administrator’s key works too.
🚀 Automating Odoo.sh and On-Premise — the Full Connector
On Odoo.sh and self-hosted Odoo, custom modules are welcome, so you get the richer experience: the free “BOTS4.me Connect” Python module from apps.odoo.com — added once to your Odoo.sh repository or addons folder, then connected in one click — adds:
- Guided login — connect to your BOTS4.me account from inside Odoo, with a two-factor code when 2FA is on for your account.
- Launchpad menu — your bots appear as a menu inside Odoo, one click from your daily screens.
- Signed-in dashboard links — admins open the BOTS4.me dashboard, logs and settings from inside Odoo without a second sign-in.
Under the hood, the Python connector signs every request it sends to BOTS4.me with HMAC over HTTPS only, keeps the keys visible to Odoo admins only, and lets the bots work through a dedicated technical user that receives only the Odoo user groups your active apps need; on Odoo Online the bots act with the rights of the user whose API key you paste. The full walkthrough is in the Odoo connector install guide.
🧭 Try It in Your Free Discovery Month — on Any Hosting
The first month of each start-free app (Mail2ERP, Pay2ERP, AutoCASH, Supplier2ERP, AutoERP, AutoSTOCK, AutoPURCHASE and ClientFACTORY, plus AutoSPAM, Mail2CLOUD and Mail2KNOW for your mailbox and AutoGEO for your website) is a free Discovery month: the usage allowance of the Personal plan with many Family and Business features unlocked to try, and no credit card needed.
- Odoo Online: sign in at bots4.me/bots, click Start free Discovery month on the app’s card and accept the Terms once, then add your Odoo in Settings → the app → Access Manager (URL, login, API key).
- Odoo.sh and on-premise: in Odoo, open BOTS4.me Connect → Settings, click Complete billing first once, then Start free Discovery month on the app. This Odoo, and its IMAP mailbox if it has one, is connected in the same click.
- Then, on every hosting type: in the app’s Control tab switch Bot Power on and keep the Mode on DEMO. Switches with a Discovery tag on the Control tab are included in your free month and start switched off — switch on the ones you want to try. Read the DEMO report email and the Logs tab.
- Go LIVE: when the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email.
- After the month: the app continues on the free plan by itself with a small monthly allowance: when it is used, new items wait until next month or until you choose a plan, and an item already started always finishes. Choose a plan to keep all features — see the plan table on the app’s product page.
Full step-by-step for each hosting type: Odoo connector install guide.
🤖 One Connection, Every Odoo App, Versions 13–19
Connect once
(XML helper or Python module)
Start each app
from one dashboard
Automate order-to-cash
and procure-to-pay
Whichever hosting you run, one connection serves every BOTS4.me app that works with Odoo: Mail2ERP (email orders in), AutoERP (confirm, ship, invoice), Pay2ERP (match bank payments), AutoCASH (payment reminders) and Supplier2ERP (supplier confirmations), plus AutoSTOCK (reorder points), AutoPURCHASE (draft purchase orders) and ClientFACTORY (new leads). AutoSPAM, Mail2CLOUD and Mail2KNOW need only a mailbox. Every Odoo app supports Odoo versions 13 through 19 and starts in DEMO: it emails you what it would do and writes nothing. When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. The first month of each start-free app is a free Discovery month; when it ends, the app continues on the free plan by itself, with a small monthly allowance, unless you choose a plan.
⚠️ Don’t migrate hosting just to automate
If you’re on Odoo Online and considering a costly move to Odoo.sh purely to unlock automation modules, check first whether external automation covers your needs. Order import, payment reconciliation, payment reminders and supplier confirmations work on Online through Odoo’s standard API, and you keep Odoo-managed upgrades and zero maintenance. The only extra work is pasting an API key and renewing it before it expires. Odoo Online needs Odoo’s Custom plan for API access.
❓ Frequently Asked Questions
Can you install custom modules on Odoo Online?
No. Odoo Online (the SaaS edition) does not allow custom or third-party Python modules — only Odoo’s standard apps run there. That’s why most automation add-ons from the app store can’t be installed on Odoo Online. Automation is still possible through Odoo’s standard external API, which Odoo Online supports on the Custom plan with per-user API keys.
Does BOTS4.me work with Odoo Online?
Yes. Odoo Online forbids Python modules, so you connect from bots4.me: create an API key in Settings → Users & Companies → Users → your user → Account Security, then add your Odoo in the app’s Access Manager at bots4.me/bots. The optional data-only helper “BOTS4.me for Odoo Online” adds a BOTS4.me menu inside Odoo. Every BOTS4.me app that works with Odoo then runs on Odoo Online as it does on Odoo.sh or on-premise. Odoo Online needs Odoo’s Custom plan for API access.
Where do I create the API key in Odoo Online?
Log in to Odoo as the user the bots should act as, go to Settings → Users & Companies → Users → that user → Account Security (turn on developer mode if the tab is hidden) and create a new API key; on Odoo 18 and later choose how long it stays valid. Paste that key, together with your database URL, into the connection form at bots4.me/bots.
What’s the difference between the BOTS4.me connector on Odoo Online and on Odoo.sh?
The bots do the same work on both. On Odoo.sh and on-premise, the full Python connector (“BOTS4.me Connect” on apps.odoo.com) adds: a guided login inside Odoo, Start free Discovery month and one-click Odoo and IMAP connection on each app’s row, a technical user that gets only the rights of your active apps, a renewal banner for Odoo 18+ API keys, and signed-in links to the BOTS4.me dashboard. On Odoo Online you paste an API key at bots4.me instead: the bots use that user’s rights, and you renew the key yourself before it expires.
Which Odoo versions does BOTS4.me support?
Odoo versions 13 through 19: Community and Enterprise on-premise, plus Odoo.sh and Odoo Online on the versions Odoo runs there. One connection serves every BOTS4.me app that works with Odoo; you start each app separately at bots4.me/bots or, with the connector, from its row inside Odoo.
Do I need to migrate from Odoo Online to Odoo.sh to automate my processes?
Usually not. Migration makes sense when you need deep in-database customization (custom models, modified workflows, bespoke UI). For automating order import, payment reconciliation, payment reminders, purchasing, and reorder rules, API-based automation like BOTS4.me runs on Odoo Online as-is on a plan with external API access (Odoo’s Custom plan) — you keep Odoo-managed upgrades and zero server maintenance.
How secure is connecting an external automation service to Odoo?
The BOTS4.me Python connector signs its requests with HMAC over HTTPS only, and the bots act through a dedicated technical user that receives only the Odoo user groups your active apps need (on Odoo Online, through the user whose API key you paste). The platform is EU-hosted, built for GDPR, offers 2FA, and every bot starts in Demo Mode — showing what it would do without writing anything — before you switch it to LIVE.
📚 Related Guides
🔗 Sources and Further Reading
Official documentation and standards referenced in this guide. External links open in a new tab.
Whatever You Host, You Can Automate
Odoo Online, Odoo.sh or on-premise: connect once, start an app and watch its first run in DEMO. The first month is free, with no credit card; afterwards the app simply continues on the free plan.