Odoo Apps FAQ
I am an App Buyer
Only official modules can be installed in Odoo Online, you cannot install community modules.
There are a few exceptions in the case of data modules that are possible to import on the SaaS, but we don't officially support this. Official modules installable in Odoo Online are recognizable by their Certified tag and their Online Series tag. In this case, you do not have to buy them, they are already included in Odoo Online.
Certified modules are official Odoo modules. This means they are covered by the Odoo Enterprise Agreement and thus benefit from its services, such as bugfix, upgrade, etc.
You should receive an email with temporary download links up to one hour after you made the purchase. After the temporary download links you received by email are not valid anymore, you can still log in with the Odoo Account with which you made the purchase. Go on the description page of the module you bought, you will see a download link. If the download button still doesn't appear after this time and you are sure you are logged in with the same account with which you made the purchase, please contact email@example.com.
You need to copy paste the module that is inside the zip file to your addons folder. After that, you need the Technical Features enabled to click on Settings > Update Modules List. Your new module will now appear in the list of modules that you can install.
All purchases are final and non-refundable. Support is provided by the author themselves, so if you have any doubt and can't find the answer in the description, please ask the author or maintainer before purchasing. Usually, you can find their support address on the module description page. Sometimes, the author doesn't give a support address directly but gives a link to his website. You can often contact them from there. If you can't find any way to contact the module maintainer, send an email to firstname.lastname@example.org, we will provide you with their email address.
If the module you bought is indicated as also available for another Odoo version, you will also be able to download those other versions, including previous ones.
I am an App Maintainer
It is possible to sell your own module on our Apps platform. You can start selling your modules very easily by adding a
price and a
currency keys in your module manifest like
'price': 49.99, and
'currency': 'EUR', for example. Supported currencies are EUR and USD. We require that the modules sold on our Apps platform is the lowest (or the same) price on the web, have a proper description, complete with screenshots of the functionalities and an overall nice presentation page. Please refer to the following section for more informations on how to achieve this goal. We reserve the rights to unpublish modules which do not conform to these criterias until they receive a proper presentation page.
Don't be afraid to value your work as it should be ! If people need the feature of your module, they will pay for it. In any case it will make them gain development time so you should not undervalue your work. We think 100 euros is a good starting point.
Starting from version 8.0, the module icon needs to be located at
static/description/icon.png in the module folder. The main screenshot location is defined in the
images key of the manifest, like
'images': ['images/main_screenshot.png'], for example. The rich-text HTML description comes from the
static/description/index.html file in the module folder. It is recommended to start with this official template.
To have a big screenshot in your theme, you need to have more than one picture in
'images': ['images/main_1.png', 'images/main_2.png', 'images/main_screenshot.png'], and the first picture with a name ending with '_screenshot' will be selected and displayed as big screenshot.
The purpose of this screenshot format is to show a full demo page and not your company logo larger.
Either your icon is not in the right place (
static/description/icon.png since Odoo 8.0), or its format is not PNG. Please note that changing the file extension of an image does not change its format. For example, renaming icon.ico into icon.png will not work. You need to actually convert the image type.
Like Theme Clean
The license is defined in the
license key of the manifest (
__manifest__.py as of Odoo 10,
__openerp__.py for older series), like
'license': 'AGPL-3', for example. Possible values are
Other OSI approved licence,
Other proprietary. The license file is loaded from the
LICENSE file at the root of your module or, if there is none, at the root of your repository. The license file will only be displayed if the license is not a well known open source one, that is:
Other OSI approved licence,
Other proprietary. If no license information is provided in the manifest, we will use Other Proprietary as default value.
Like Odoo VOIP
The documentation is automatically loaded from the
doc/index.rst file in the module folder. It needs to be a valid, pure rst file.
We do not currently review every module published, but we do take action when users report abusive behavior. You will usually know when you cross the line, but here are some examples of things that would cause your modules to be removed from the store:
- R1. Stealing data from the users, copying other developers' work without permission and without giving proper credit (according to the license terms), cheating on the ratings system, are all examples of abusive behavior that will get your modules removed;
- R2. Modules that download code in any form, or modules that install or launch other executable code will be removed. This includes obfuscated/encrypted code.
- R3. Modules that include undocumented or hidden features inconsistent with the module description will be removed.
- R5. Modules that harm the image and/or reputation of another author will be removed, such as a module that doesn't work and is attributed to another author.
- R6. Modules for which you don't provide support to customer who bought it, such as a customer asking for help configuring the module or who encounters a bug when using it.
You will get 70% of your modules revenues on our Apps platform. You can either opt-in for automatic monthly payments or manually send us an invoice. To opt-in for automatic monthly payments, please go to your Preferences in your Apps Dashboard, and fill in the form accordingly with all the required information. Please note that we will pay you the sales of the previous month at the end of each month. If you prefer to send us an invoice, or if the accounting laws of your country require you to do it, send an invoice to email@example.com with your sales grouped by modules, with the number of units sold and the price. You can find these informations in your Sales Dashboard. If your module price has changed at some point, please make separate entries for each different price. Considering the time needed to process those invoices, please consider we will only process invoices with a minimum total amount of 400 EUR, and won't process more than one invoice per user per month. In addition, please be patient when we process your invoice, we receive a lot of them and have limited resources to process them. It may take some time, but we will process your invoice eventually.
To publish your modules on our platform, we need to be allowed to read from your repository. If you are on Github, you can simply authorize our online-odoo user on your repository. If you are on Bitbucket, you can authorize our OdooApps user. If you use another service, you will need to authorize our public SSH key instead. Don't forget to use the SSH url of your repository when registering it to allow us to identify using ssh. For example for GitHub, it would be something like
We intentionally keep deleted modules for safekeeping. If you really want that we remove your modules from Odoo Apps, please issue your request to firstname.lastname@example.org. We will however continue to keep those modules if people have already bought them, or if another module depends on it.
Please contact email@example.com with the urls of both the old Bzr repository and the new Git one, we will take care of everything!