Installing a third-party module in Odoo is straightforward once you know where Odoo looks for code and when it refreshes its list of available applications. This guide covers the standard self-hosted path, then the two hosting situations where the rules are different.
First, check what your hosting allows
This is the step people skip, and it is the one that decides everything else.
- Self-hosted (your own server, Docker, a VPS): you control the filesystem and the configuration file, so any module can be installed. This guide's main procedure applies.
- Odoo.sh: custom modules are deployed through a Git repository connected to your project. You add the module to the repository, push, and the platform rebuilds. You do not edit an addons path by hand.
- Odoo Online (the standard SaaS offering): custom and third-party modules cannot be installed. If you need them, you have to move to Odoo.sh or to a self-hosted deployment first.
Confirming this before you buy anything saves a refund request.
Step 1 — Put the module in an addons directory
Unzip the module so that the folder containing __manifest__.py sits directly inside one of your addons directories. A common mistake is nesting it one level too deep: if your archive extracts to my_module/my_module/__manifest__.py, it is the inner folder that belongs in the addons directory.
Keep third-party modules in their own directory rather than mixing them into Odoo's core addons folder. Upgrades are far less painful that way.
Step 2 — Declare the directory in the configuration
Add the directory to addons_path in your Odoo configuration file, separating entries with commas:
[options]
addons_path = /usr/lib/python3/dist-packages/odoo/addons,/opt/odoo/custom-addonsCheck that the Odoo system user can read the files. Permission errors at this stage produce a module that is simply never listed, with no error message in the interface.
Step 3 — Restart the Odoo service
Odoo reads addons_path at startup. A new directory is not detected until the service restarts — no amount of clicking in the interface will change that.
Step 4 — Update the Apps list
Enable developer mode in Settings > General Settings > Developer Tools, then open the Apps menu and choose Update Apps List. This is what makes Odoo scan the addons directories and register newly found manifests.
Then search for the module by name. Clear the default Apps filter in the search bar, otherwise modules declared with 'application': False — which is most technical modules — will not appear.
Step 5 — Install and verify
Click Install. Odoo resolves dependencies automatically and installs anything the manifest declares in depends.
If installation fails, the server log is the place to look. The two most common causes are a missing Python dependency and an XML file referencing a record that does not exist in your database.
Common problems and what they mean
- The module never appears in the Apps list. Wrong folder depth, a directory missing from
addons_path, no restart, or the Apps list was never updated. - It appears but will not install. Usually an unmet dependency; read the error, which names the missing module.
- It installs but nothing changes. Often a browser asset cache issue — hard-refresh, and if needed regenerate assets from the developer tools.
- Version mismatch. An Odoo 18 module will not work on Odoo 19. Check that the manifest version starts with your Odoo series.
Next steps
Every module in our catalogue follows this procedure. If installation does not go as expected, contact us with the server log and we will look at it.
Frequently asked questions
Can I install third-party modules on Odoo Online?
No. The standard Odoo Online SaaS offering does not allow custom or third-party module installation. You need Odoo.sh or a self-hosted deployment.
Why does my module not appear in the Apps list?
In order of likelihood: the folder containing __manifest__.py is nested one level too deep, the directory is not in addons_path, the service was not restarted, or you did not run Update Apps List. Also clear the default Apps search filter.
Do I need developer mode?
You need it to reach the Update Apps List action. Once the module is registered, installing it does not require developer mode.
Will an Odoo 18 module work on Odoo 19?
No. Odoo modules are tied to a series. Install the build whose manifest version starts with your Odoo version — a 19.0 module on an Odoo 19 database.
Do I have to install dependencies manually?
No. Odoo reads the depends key in the manifest and installs the required modules automatically.