OCA for Functional Consultants 



Introduction

In the beginning, Odoo software was created by a technical guy (Fabien Pinckaers). This explains why the Odoo ecosystem has been originally oriented to technical profiles. 

The Odoo Community Association (OCA), initially founded in 2013 by Odoo developers working for Odoo integrator (independent from Odoo S.A.) has also focused for a long time on the technical side: collaboratively building new open source Odoo modules. That is why it might be difficult for non-technical profiles, to navigate in the OCA resources and interact with our community.

To fill this gap, the OCA “functional working group” was founded and we have created this page for you! Our goal is to enrich the OCA with the knowledge of the Odoo functional expert and this page aims at helping anyone who is interested in OCA modules to discover how to find OCA modules, use them and even ask for new features. This page collects a series of questions that will guide any non-technical newcomers to find his way! If you are a complete newbie in Odoo, you may also check the official Odoo functional documentation https://www.odoo.com/documentation/


Who are non-technical or functional consultants profiles? 


By non-technical profiles, we mean Business Analysts, Functional Analysts, Project Managers, Accountants, Quality Assurance profiles. Of course, any technical person can find the content interesting as well. It often happens that an Odoo developer becomes a functional consultant or the other way around.

Modules

Well, first of all OCA has tons of free-to-use features (usually one feature is packaged into a “module”) enhancing Odoo, providing a lot of functionalities in order to help you address a large array of business needs. These modules are compatible with both Odoo community and Odoo Enterprise Editions. They are developed and reviewed by experts thus ensuring their high quality. 

These modules are used by a lot of people in different industries, so their effectiveness has been put to test with real case scenarios. They are written under open source licenses and ready to use.

Please note: Most of the actions within the OCA happens in Github, a popular development platform. We encourage you to create an account to make the most of what OCA has to offer.


Here is a quick overview of how a non-technical can use Github:

https://odoo-community.org/resources/code

https://youtu.be/lH3TQ9IK_co?si=FtiSx2yRkxMzLI4g


 You can search for these modules in our OCA shop: https://odoo-community.org/shop

Or browse them by repository in Github: https://github.com/OCA

How repos are structured

Repos are grouped by functional topics i.e in the main repo https://github.com/OCA, in the repository section, you can search for example for “sale”and you will find the following:


Take a look at the version. If you click on the repository link you will open a page where you can find all related modules. Pay attention to the version. Not all modules are available in all versions. You can check the version you are interested in by changing the branch. In our case, we see all modules that are available in v16. 






What is a Pull Request (PR), an issue?

A pull request is in general a proposal for a bug fix, proposal for adding a new feature, improving the documentation, etc. 

Example: I would like to improve the documentation of the sale_fixed_discount module in the  sale-workflow repo for v17. 
A very simplified process description would be: I clone the repository, update the documentation of the module, propose the update to the community via a Pull Request. Then the Pull Request should be reviewed, approved and at the end merged in the official branch i.e the OCA v17 branch.   You can find the “Pull requests'' related to a specific repository using the repository buttons. It is a good practice to search for migrations/bugfixes in the Pull request before you try to migrate/fix the code on your own.





“GitHub Issues are items you can create in a repository to plan, discuss and track work.
Issues are simple to create and flexible to suit a variety of scenarios. You can use issues to track work, give or receive feedback, collaborate on ideas or tasks, and efficiently communicate with others.” [1]

Tips on odoo-code-search

This is a very powerful tool and searches GitHub for Odoo code. You can use it, but pay attention that not only official (OCA/odoo) modules are listed. Anyways if you are interested only in OCA/odoo modules you can easily add a filter to the search only those. For example I am interested only in the “sale” modules from OCA and odoo, so I can use the following filter:





Each module for each version is immediately ready to test, to do that…

how to test from module page (or repo):
https://odoo-community.org/resources/review

how to test from an open PR:
https://odoo-community.org/resources/review#scrollTop=0


Even though we do our best to provide quality modules, it is always possible to encounter a problem. In this case, you can take a few minutes to report a bug. Thanks for taking this time!

Working on a module and realizing you could improve it? Great, we are always open to improvement and any help is welcome.

If you have technical skills, you can follow these guidelines to submit your code: Code. Otherwise, ask one of your colleagues to take care of this part.

If you don’t have technical skills nor a colleague who could take care of that, reach out to the OCA community by requesting a new feature (link: https://odoo-community.org/resources/request-a-new-feature.


First, the module you need might be under the process of being available in the version you need. Check the list of Pull Requests.

If you have developers skill, you can contribute to the OCA following this guidelines  https://odoo-community.org/resources/code. If not, you can ask your tech colleagues or make a feature request https://odoo-community.org/resources/request-a-new-feature.


There is a good chance that more popular modules are already translated in the languages most used by the community. The standard language at the OCA is English.

If you find a module that needs translation, you can translate it yourself. Check how to do that here: 

https://odoo-community.org/resources/translate

https://www.youtube.com/watch?v=DJIF6roJkZQ

You have a great idea for a new module or new functionality that would benefit a lot of people in the OCA. Write it down! Go to a repository which fits the best. Write a wonderful RFC (Request for Comment) and discuss with other OCA people how to bring your feature to life. A Request for Comment is simply an issue whose name starts with [RFC]. To know how to create an issue, see here . 

Example of RFC https://github.com/OCA/social/issues/625

https://odoo-community.org/resources/request-a-new-feature

Good question! As you already know the OCA work is voluntary, so sometimes it takes time till a PR is merged. You contribute to this process with:

  • A code review from you or a colleague of you

  • Functional test

https://odoo-community.org/resources/review


You would like to talk directly to other functionals who, like you, are discovering new Odoo features. There are different channels used by the OCA people: 

Subscribe to the OCA contributors mailing list: https://odoo-community.org/groups

This is mainly used by the developers but it’s also open for functional discussions.

Discuss: in Github Discussions are available as well. You can first search if there is a discussion on the topic you are interested in or open a new one. Link: https://github.com/orgs/OCA/discussions


You want to test an OCA module

You think a module could be useful to you and your customers, but you would like to test it first. 

To do so, you can use Runboat:
https://odoo-community.org/resources/documentation

First, the module you need might be under the process of being available in the version you need. Check the list of Pull Requests.

If you have developers skill, you can contribute to the OCA following this guidelines  https://odoo-community.org/resources/code. If not, you can ask your tech colleagues or make a feature request https://odoo-community.org/resources/request-a-new-feature.