Submit your Apps

Register your Git repository

Please sign in to be able to register a repository.

What is Viindoo Marketplace? 

Viindoo Marketplace Or called "Marketplace"; which is a platform organized and developed by Viindoo Technology Joint Stock Company, serving for distributing apps, modules and theme integrated into Odoo Software and/or Viindoo Enterprise Management Software. The customers are able to search, purchase and download these apps on the platform via link: 

Viindoo Marketplace FAQ 

You can sell your modules on the Viindoo Marketplace platform. Getting started is easy just by adding the keywords price and currency in the manifest file, for instance, 'price': 23.03, and 'currency': 'EUR'. Viindoo supports these currencies EUR, USD and VND. Modules sold on the Viindoo Apps Store are required to have the lowest price (or equivalent), a proper description, screenshots of functions, and a beautiful presentation. We reserve the right to unpublish modules that fail to meet these criteria until we receive a suitable presentation.

Software development takes a long so don't underestimate your work. People are willing to pay when they need your provided modules with features. We recommend you start at 99.9 Euro.

In the file “”, information of Apps required to be declared as follow: 

  • name (str): The name of App must be clear and easy to understand.
  • version (str): Specifies the version of App, expressed in the format string “xxx”. This field is used to detect the version of installed Apps. If the string doesn't start with Odoo's version (e.g. 14 or 15), the Odoo instance is automatically appended to the beginning. Each release must have a new version number.
  • license (str): The App may be released under any license selected by the Vendor provided that the license released is compatible with the licenses of the dependent modules, libraries or derivative products. If this field is left blank, the default value is LGPL-3 for Open Source Applications and OPL-1 for Proprietary Source Applications.
  • depends (str): A list of technical names of the dependent modules required for the App to function. The App also needs data declaration modules to avoid generating errors when installing App and making it difficult to trace errors module “base” in case App does not have a dependent module.

Optional information in the file “” by the Vendor includes: 

  • summary (str): A brief, summary description of App, usually presented on a single line.
  • live_test_url (url): Add a URL in this field if the Vendorwants User to be able to use App in trial directly and can be accessed through the Live Preview button displayed on the Viindoo Apps Store.
  • price (float): The selling price of the App to User will be recorded in this field. The selling price should be an integer. App is considered free distribution in case of leaving it blank.
  • currency (str): This field is required. The currencies supported are Vietnam Dong (VND), the US Dollar (USD) and the Euro (EUR). In the event that it is necessary to change the currency of the App, Vendor should contact Viindoo for assistance. 
  • description (str): Detailed description of the module's features.
  • demo_video_url (str): Video URL introducing the module’s features.
  • website (str): URL to module.

Modules can contain multilingual content. The system automatically finds and loads the multilingual content of keys in manifest file. The following keys are supported:

  • name_xx_YY: translated version of the key 'name' in the language with code xx_YY (for example, es_ES is for Spanish)
  • summary_xx_YY: translated version of the key 'summary' in the language with code xx_YY (for example, es_ES is for Spanish)
  • description_xx_YY: translated version of the key 'description' in the language with code xx_YY (for example, es_ES is for Spanish)
  • live_test_url_xx_YY: translated version of the key 'live_test_url' in the language with code xx_YY (for example, es_ES is for Spanish)
  • demo_video_url_xx_YY: translated version of the key 'demo_video_url' in the language with code xx_YY (for example, es_ES is for Spanish)

Starting from the Odoo version 8.0, you need to locate the module's icon in the folder static/description/icon.png. Use the keyword images in the manifest to locate the cover picture, for instance, ['images/main_screenshot.png']. The HTML description comes from the file static/description/index.html.

When you have more than one 'images': ['images/img_1.png', images/img_2.png', 'images/main_screenshot.png'], the first image with a name ending with '_screenshot' will be selected as the cover picture. The cover picture helps show the full demo page rather than showing your company's logo larger.


  • Supported image formats are png, gif, and jpeg.
  • In the case, There are not any images with a name ending with  '_screenshot'  , the first image in keywork  images  will be chosen to be the cover picture.

Maybe your icon isn't in the right position (since Odoo 8.0, it’s static/description/icon.png), or the format of the icon isn't png. Please note that the image extension changes do not affect the original format. For instance, trying to rename icon.ico into icon.png won't solve the problem. Actual format conversion of the image should be taken place.

The license is defined with the keyword license in the manifest file ( for Odoo 10, for older Odoo versions), such as 'license': 'LGPL-3'. Possible values can be GPL-3, AGPL-3, LGPL-3, OPL-1, OSI-approved licenses, and proprietary licenses. OPL-1 is set as default if there is no license information.

  • You can automatically load your documentation from the doc/index.rst in the module's file. Remember that your documentation needs to be a valid rst file.
  • For images, you can place them in the doc or static/description folder.
  • For index.rst file, image declaration only requires the name of that image, for example .. image:: example.jpg.

Currently, we don't review every published module, but we do intervene if there are reports of violation. You should know your intentional violation. Here are some cases that could lead to the removal of your modules from the store:

  • Stealing data from users, copying the work of other developers without permission, and cheating in the rating system.
  • A module that installs or launches other executable code, or a module that downloads code of any type. (Including code that is obscured or encrypted)
  • Module with undocumented or hidden features mismatches the description.
  • Modules that gather data without the user's consent (usage statistics, for example) unless the module description explicitly states about the gathered data and provides links to the current Privacy Policy.
  • Modules that damage other authors' images and/or reputations will be removed, for instance, blaming other authors for an inactive module.
  • Modules without support after customers’ purchase, for example, ignore customer’s issues about configuring the module or getting an error while using

The list is not exhaustive, so please ask if you are unsure about anything. We respect and appreciate your work. However, we also need to create a safe and reliable platform for all Odoo users. Therefore, our Vendor Guidelines are provided.

You will get 70% of the revenue from your module sold on Viindoo Marketplace. You will be accounted for in a PO shown in your portal dashboard. At the beginning of each month, we will pay your invoices from the previous month. Please note that payment may take days or weeks as we are currently making international SWIFT transfers.

The standard ssh URI scheme should be applied to all repository URLs. Standardization is done for two purposes:

  • Passwords and other sensitive information will be removed from the URL.
  • Unintentional repository duplication is averted.

The URL is shown as ssh://git@gitServer(:port)/mypath#version when applying the standard. In case registration fails due to misformatted URL, use a colon only to define the port. You can use slash to separate gitServer from mypath if there is no port. 

For any modules to be published on the Viindoo Marketplace platform, permission to read from your repository is required.

  • If you are using Github, please grant access to our account to your repository (you must perform authorization specifically on the repository, not the whole company).
  • If you are using Gitlab, you can grant access to our account.
  • If you are on Bitbucket or any other platformlet our publish SSH key access your repository 

For reasons of safety, we store removed modules on purpose. Send an email to  with your request if you genuinely want to have your modules removed from the Viindoo Marketplace. However, if someone has already purchased such modules or if another module depends on them, we will keep them. We may just hide the module in this instance.

Yes. Viindoo receives a 30% commission on all orders on Viindoo Marketplace. Refer to Vendor Policy for more details.

If you have any questions, please contact . We are always ready to answer!