Skip to main content

Discover Odoo

The Odoo Community Association, From India's #1 OCA Contributor

The OCA maintains thousands of free modules that fill gaps in standard Odoo. Used well they remove custom development you would otherwise pay for and maintain. Used carelessly they become an upgrade problem. We contribute to those modules, so this is what we have learned about telling the two apart.

  • OCA member 2025 and 2026
  • Contributor, not just consumer
  • LGPL and AGPL
  • Version-branched

Reviewed by Bhavesh Selarka, COO & Co-Founder, Heliconia Solutions · Odoo 16 Functional Certification · Odoo Partner · Updated

Proof

OCA member 2025 and 2026#1 OCA contributor in IndiaModules built to OCA conventionsCommunity editions in production

Clients

Businesses that run on what we built

  • Mevalon Produkte
  • TIMmunity GmbH
  • Aria Jewellers
  • Freiburger Bund
  • Jo Ann's
  • Opsio
  • LittleQ

The short answer

What Is the Odoo Community Association?

The OCA is a non-profit association that maintains free, open-source Odoo modules and the conventions behind them. It is independent of Odoo S.A. Its modules are community-maintained rather than vendor-supported, published per Odoo version on GitHub, and free to use on Community or Enterprise. It is not an Odoo product, not a support contract and not a guarantee of fit.

For a business, the practical value is simple: before anyone writes a custom module, there may already be a maintained one that does the job, reviewed by people who work on Odoo every day. That's cheaper to adopt and cheaper to keep than code written once for you.

The catch is that "free" describes the licence, not the total cost. An OCA module still has to be evaluated, tested against your data, and carried across every version upgrade. The checklist below is what we run before we recommend one, and it's what we'd want a partner to run for us.

Where we stand in it

Our Odoo Community Expertise

We are an OCA member and the association's leading contributor from India. That matters to you for one practical reason: an opinion about whether a community module is production-grade is worth more from someone who has reviewed and fixed them than from someone who has read the README.

OCA contributor · India
#1
Years in the Odoo ecosystem
14+
Projects delivered
60+
Countries served
17+
  • OCA contributor, India
  • OCA contributor
  • OCA member 2026
  • Odoo Partner

Membership and contribution are separate things. Membership is a subscription anyone can take out. Contribution is code that other people merged, and it is the half that tells you whether a partner actually knows the modules they recommend.

Who is who

Odoo S.A., Community Edition, the OCA and the App Store

These four are routinely confused, and the confusion leads to bad decisions about support and licensing.

Odoo S.A., Community Edition, the OCA and the App Store
EntityWhat it isWho maintains itWhat it costs
Odoo S.A.The Belgian company that develops Odoo and sells the Enterprise editionOdoo S.A.Enterprise is a per-user subscription, Community is free
Odoo Community editionThe open-source core of Odoo, released under LGPL v3Odoo S.A., with community contributionsNo licence fee. You pay for hosting, implementation and support
Odoo Community Association (OCA)An independent non-profit publishing free add-on modules and coding conventionsVolunteer maintainers, partners and contributorsFree. Support is community-based or from your partner
Odoo Apps marketplaceOdoo's store for third-party apps, mostly commercialThe individual publisher of each appUsually paid per app and per version

Practical consequence: an OCA module has no vendor SLA. If it breaks in production, the people who fix it are your partner or your own team, which is exactly why the evaluation below matters.

Before you commission code

Why We Check OCA Before Writing Custom Modules

The cheapest custom module is the one you never write. This is what checking first actually buys you.

  • Someone already solved it

    Recurring needs (extra reporting fields, stock behaviours, partner data, document layouts, accounting helpers) often have a maintained OCA module already reviewed by people who work on Odoo daily.

  • It is maintained beyond us

    A module with active maintainers gets ported to the next Odoo version by the community. Code we write for you is ported by whoever you pay to port it.

  • Fewer Enterprise gaps

    On Community, OCA covers a meaningful share of what Enterprise apps do. That can change the edition decision, which is worth real money.

  • Conventions you can read

    OCA modules follow published conventions, so any competent Odoo developer can maintain them. Our own modules follow the same conventions for the same reason.

  • A review trail

    Pull requests, issues and tests are public. You can see how a module is maintained before you depend on it, which is not true of most commercial apps.

  • Less code to own

    Every custom module is a permanent liability at upgrade time. Adopting a maintained one moves that liability to a community that has already accepted it.

Our checklist

How We Evaluate an OCA Module Before Recommending It

  • Licence: LGPL or AGPL, and whether the choice affects how you can use or distribute your own code around it
  • Maintainers: who is named, whether they are active, and whether more than one person is involved
  • Version support: a branch for your Odoo version, and whether the previous version was ported promptly
  • Dependencies: which other OCA repositories it pulls in, because you adopt those too
  • Tests: whether the module has meaningful tests and whether continuous integration is passing on your branch
  • Issue activity: open bugs, how long they stay open, and whether anyone answers them
  • Security implications: access rules, record rules and anything that touches authentication, payments or personal data
  • Upgrade path: what it would take to move it to the next Odoo version if the community does not
  • Fit against your actual data: installed on a copy of your database and tested with your volumes, never judged from the README

The four answers

Adopt, Contribute, Fork or Build?

Once a module is evaluated there are four honest outcomes, and only one of them is "write something new".

Adopt, Contribute, Fork or Build?
OutcomeWhen it is rightWhat you own afterwards
Adopt as-isIt does the job on your version, is maintained, and its dependencies are acceptableConfiguration and a version-pinned dependency
Adopt and contribute backIt is close, and your change is generally useful. We submit it upstream so the community maintains itNothing extra: your change lives in the module
Fork deliberatelyYour change is specific to you, or upstream will not take it. Fork with a clear reason and an ownerA fork you must maintain across upgrades, tracked as such
Build your own moduleNothing maintained exists, or the fit is poor enough that adapting it costs more than writing itA module written to OCA conventions so any partner can maintain it

We record which of these four applies to every third-party module in your system, so at upgrade time nobody has to guess where a piece of code came from.

Version upgrades

What Happens to OCA Modules When Odoo Moves a Version

  1. Inventory

    Every third-party module in the database is listed with its origin (OCA, marketplace, ours) and its role, before anything is planned.

  2. Check the branch

    For each OCA module, is there a branch for the target version? Many are ported by the community within months of a release, some never are.

  3. Decide per module

    Ported and healthy: adopt the new branch. Not ported but needed: port it ourselves and offer it upstream. No longer needed: drop it, which is often the right answer.

  4. Test on a copy

    The upgrade is rehearsed on a copy of production with your data and your volumes, module by module, before a date is agreed.

  5. Go live and feed back

    Cutover with a rollback path. Where we ported a module, we contribute it back so the next business does not repeat the work.

In our projects

How OCA Shows Up in Systems We Run

  1. 01

    Flintu runs the OCA product_manufacturer module alongside client-specific customisations on a self-hosted Odoo 18 Enterprise deployment, which is the ordinary pattern: standard core, a maintained community module, custom code only where the business is genuinely specific.

  2. 02

    On Community projects, OCA is what makes the edition viable. Our foundry client runs enterprise-grade access control and reporting on Odoo 16 Community, with the gaps filled by community and custom modules rather than a licence.

  3. 03

    We write our own modules to OCA conventions so that another partner could maintain them after us. That is a continuity decision, not an aesthetic one.

  4. 04

    Heliconia is an OCA member (2025 and 2026) and the #1 OCA contributor in India, which is why our judgement about which modules are production-grade comes from working on them rather than from reading their README files.

  5. 05

    We do not publish a longer list of module names than our project records support. If you want the exact module inventory for a system we run, ask and we will send it.

The honest limits

What OCA Does Not Give You

  1. 01

    No support contract. A community module has no SLA and no vendor to escalate to. Your partner or your team is the support.

  2. 02

    No guarantee of fit. A module that solves the problem in general may not solve it for your data volumes, your localisation or your process.

  3. 03

    No compliance guarantee. Localisation and statutory behaviour must be verified for your country, whatever the module claims.

  4. 04

    No promise of a port. Most popular modules are ported to new Odoo versions quickly. Niche ones sometimes are not, and then it is your cost.

  5. 05

    Not automatically better than custom. Adapting a poor-fitting module can cost more than writing a small one that does exactly what you need.

  6. 06

    Not a substitute for testing. Every module we recommend is installed on a copy of your database and tested before it reaches production.

What clients say

In Their Words

Questions

OCA Questions, Answered Directly

Bhavesh Selarka

COO & Co-Founder, Heliconia Solutions

Not answered here? Ask Bhavesh directly, the person who reviewed this page, not a sales queue. Odoo 16 Functional Certification.

Ask a question

Are OCA modules free?

Yes, the modules are free and open source, published under LGPL or AGPL depending on the repository. What is not free is the work around them: evaluating, testing against your data, configuring, and carrying them across version upgrades.

Are OCA modules official Odoo modules?

No. The OCA is an independent non-profit, not part of Odoo S.A. Its modules are community-maintained add-ons rather than Odoo products, which is why there is no vendor support channel behind them.

They are also different from the paid third-party apps on the Odoo Apps marketplace, which are maintained by their individual publishers.

Can OCA modules run on Odoo Enterprise?

Yes. Enterprise is built on the same Community core, so OCA modules generally install and run on it, and plenty of Enterprise systems use them. Check for overlap first: if an Enterprise app already covers the need, adding a community module on top usually creates a maintenance problem rather than solving one.

Community vs Enterprise

Who supports an OCA module in production?

Whoever maintains your system. In practice that is your partner or your in-house team, with the community as a channel for bugs and fixes upstream. When we recommend a module we take responsibility for it in our support scope, which includes porting it if the community does not.

Odoo support and maintenance

What happens to OCA modules during an Odoo version upgrade?

Each one is checked for a branch on the target version. Healthy and ported: adopt the new branch. Needed but not ported: we port it and offer it upstream. No longer needed: remove it, which is frequently the right call after a few years.

The upgrade is rehearsed on a copy of production before any date is committed.

How we run migrations

Should we use OCA modules or ask you to build custom ones?

Check OCA first, always. We write a custom module when nothing maintained fits, or when adapting an existing one would cost more than a clean build. When we do write one, it follows OCA conventions so it is maintainable by anyone, including a partner who is not us.

Odoo development

How this page is maintained

Sources, Assumptions and Review

What this page assumes

  • CONFIRM before launch: the "#1 OCA contributor in India" claim now in the H1. The OCA publishes contributor activity per repository rather than a national ranking, so this needs a stated, checkable basis (for example merged pull requests over a named period, with the query that produces it) or it should be softened to "among the leading contributors from India". The public GitHub profile for our lead contributor shows merged-PR achievements but no ranking.
  • CONFIRM: OCA membership years (2025 and 2026) against the membership record.
  • Module availability and maintenance vary by Odoo version and by OCA repository. Everything on this page describes how we evaluate, not a guarantee about any specific module.
  • Licences differ per repository (LGPL or AGPL). The licence of a module you adopt should be checked against how you intend to use and distribute your own code.
  • Named module evidence is limited to what our project records document. We do not list modules we cannot evidence.

Primary sources

Change log

Reframed from a module explainer to the association plus our standing in it: the contribution claim moved into the H1, a credentials band added with the OCA marks, and the ranking claim recorded as a CONFIRM item with the basis it needs.
First published. Entity table, evaluation checklist, adopt/contribute/fork/build decision and upgrade process.

Reviewed by Bhavesh Selarka, COO & Co-Founder, Heliconia Solutions, on . Spotted something out of date? Tell us and we will correct it.

Next step

Ask Before You Commission a Custom Module

Send us the requirement and your Odoo version. We will tell you whether a maintained OCA module already covers it, what adopting it would involve, and what it would cost to carry across your next upgrade.