What Is the OCA? The Odoo Community Association Explained

The OCA is a nonprofit association, founded in 2013 and based in Switzerland, that maintains free open source modules for Odoo. If you run Odoo Community, the OCA is the reason you rarely have to choose between paying for Enterprise and paying for custom code.

The Short Version

What the Odoo Community Association Actually Does

It maintains the module ecosystem

The OCA hosts more than 260 repositories on GitHub, organized by topic: accounting, logistics, HR, e-commerce, and localizations for dozens of countries. Together with the wider ecosystem, that adds up to over 44,000 free modules you can install without buying a license.

It sets a quality bar for community code

Anyone can publish an Odoo module anywhere. What the OCA adds is process: coding guidelines, mandatory peer review, automated tests, and migration scripts for breaking changes. An OCA badge on a module tells you real reviewers looked at the code before it was merged.

It keeps Odoo viable as open source

The association states its purpose plainly: make sure Odoo remains a usable open source ERP regardless of what Odoo SA decides to do. That independence matters if you are betting your company operations on the platform for the next decade.

Quality Control

How OCA Modules Are Built and Reviewed

01

A contributor opens a pull request

New modules and fixes arrive as pull requests on GitHub, visible to everyone. The author explains what the change does and why. Nothing lands in an OCA repository through a private channel.

02

Automated tests run first

Continuous integration runs the module test suite against a real Odoo instance and reports test coverage on the pull request. Code that breaks the build does not move forward, no matter who wrote it.

03

Peers review the code

Other developers read the actual diff and comment on design, naming, and edge cases. At least one approval must come from a maintainer with write access to the repository, so a merge always carries an experienced sign-off.

04

One branch per Odoo version

Each repository keeps a separate branch for each Odoo release, and module version numbers start with the Odoo version they target, such as 17.0.1.0.0. You always know exactly which release a module supports.

05

Breaking changes ship with migration scripts

When a change would break existing databases, OCA rules require a migration script alongside it. That discipline is why upgrading a system full of OCA modules is a manageable project instead of a rewrite.

The Honest Comparison

What OCA Modules Can Replace, and What They Cannot

Where OCA modules deliver

  • Financial reporting: mis_builder builds the management reports, budget views, and KPI dashboards that many companies buy Enterprise for.
  • Warehouse barcode flows: stock_barcodes brings barcode-driven picking, receipts, and inventory counts to Community.
  • Country compliance: the localization repositories cover tax reports and e-invoicing formats for dozens of countries, detailed below.

Where Enterprise still stands alone

  • Odoo Studio: there is no OCA equivalent of the visual customization tool. On Community, that work is done in code.
  • Some statutory reports: Romanian SAF-T D406 filing, for example, ships as an Odoo Enterprise module with no mature OCA alternative.
  • Odoo.sh and official Odoo SA support contracts, which are commercial services rather than software.
Compliance, For Free

OCA Country Localizations in Our Markets

United States: OCA/l10n-usa

A focused repository rather than a large one. It covers ACH payment handling through the account_banking_ach modules, US GAAP account structures via l10n_us_gaap, and 1099 vendor reporting with l10n_us_form_1099 on the 17.0 branch. For US companies the standard Odoo accounting already does a lot, and these modules close specific gaps.

Spain: OCA/l10n-spain

One of the largest localization repositories in the OCA. Spanish companies get l10n_es_aeat_sii_oca for immediate VAT reporting to the tax agency, l10n_es_facturae for electronic invoicing to public administrations, and l10n_es_vat_book for the VAT record book, plus carrier connectors for local logistics providers.

Romania: OCA/l10n-romania

A rich repository we work with constantly. It includes l10n_ro_stock_account for Romanian stock accounting rules, l10n_ro_vat_on_payment for the VAT on payment regime, l10n_ro_etransport for e-Transport declarations, and l10n_ro_partner_create_by_vat, which fills in partner data from a VAT number. Worth knowing: e-Factura support is part of Odoo core since version 17, not an OCA module.

Germany: OCA/l10n-germany

A smaller, deliberate repository. Its most important pieces are the datev_export modules, which produce the DATEV files German accountants expect, and l10n_de_tax_statement for the German VAT statement. German projects usually combine these with the general OCA accounting repositories rather than relying on the country repo alone.

Our Approach

How We Use the OCA in Client Projects

Sometimes nothing fits and custom development is the right call. When that happens, our Odoo custom development page explains how we scope that work. And where our fixes to OCA modules are useful beyond one client, we send them back upstream as pull requests, because the whole model only works if users of the code also feed it.

The budget impact of this approach is concrete. Module licenses at zero and fewer custom developments shift most of your spend to configuration and training, and our Odoo implementation cost guide shows what that means in real numbers for teams of different sizes.

Ask About OCA Modules for Your Project

Send us your feature wishlist and we will tell you which items an existing OCA module handles, which need custom work, and which might justify Enterprise. Straight answers, no obligation.

+40 729 143 430

or.ayrea@ofni

Loading security check...

OCA Modules: Frequently Asked Questions

Are OCA modules really free?
Yes. OCA modules are published under OSI-certified open source licenses, mostly AGPL-3 and LGPL-3. You can download them from GitHub, install them, modify them, and run them in production without paying license fees to anyone. What you pay for, if anything, is the work around them: picking the right module, configuring it, and testing it against your data.
Are OCA modules safe for production?
The well-maintained ones are. Every OCA module goes through peer review before merge, automated tests run on every change, and thousands of companies run OCA code in production every day. The honest caveat: quality varies by module and by Odoo version. A module with recent commits, good test coverage, and an active maintainer is a safe bet. An unported module from three versions ago is not. Checking that maintenance state is part of our job during implementation.
Do OCA modules work with Odoo Enterprise?
Yes, they work with both editions. OCA modules are built against Odoo Community, which is the shared core of both, so almost all of them install on Enterprise too. Plenty of Enterprise users add OCA modules to cover gaps in the standard apps. The rare exceptions are modules that replace a feature Enterprise already ships, where running both makes no sense.
What is the difference between the OCA and Odoo SA?
Odoo SA is the Belgian company that develops the Odoo software and sells the Enterprise edition. The OCA, the Odoo Community Association, is an independent nonprofit based in Switzerland. It does not sell anything. It maintains open source modules that extend Odoo, sets quality standards for community code, and exists partly to keep Odoo viable as open source software no matter what the company decides in the future. The two cooperate, but they are separate organizations with different goals.
How do I find an OCA module for my need?
OCA code lives in more than 260 repositories on GitHub, grouped by topic: accounting, inventory, e-commerce, country localizations, and so on. Search github.com/OCA for a keyword and check whether the module has a branch for your Odoo version. If reading module manifests is not how you want to spend an afternoon, ask us. Checking the OCA catalog is the first thing we do when a client asks for a feature.