2What is OCA?
The Odoo Community Association (OCA) is a non-profit that coordinates open-source Odoo module development. Thousands of contributors across 50+ countries maintain 250+ repositories with 1000+ production-ready modules -- all free under LGPL-3 or AGPL-3 licenses.
Why OCA? Every module passes automated tests and strict code review. Many provide Enterprise-equivalent features at no cost. Visit odoo-community.org to learn more.
3OCA Module Categories
OCA maintains over 250 repositories organized by functionality. Here are the most popular categories for extending your Odoo installation:
Accounting
Financial tools, reconciliation, and reporting
E-commerce
Online store, product management, and cart features
Manufacturing
MRP, BOM management, and production planning
Stock & Logistics
Warehouse management, barcode, and shipping
Browse All Repositories
Explore the full list of 250+ repositories at github.com/OCA
4How to Install OCA Modules
There are several methods to install OCA modules. The most common approach is using Git to clone repositories directly to your Odoo server. If you haven't deployed Odoo yet, check our complete deployment guide.
Installation Methods
1Git Clone (Recommended)
Clone the entire OCA repository and add it to your addons path. Best for development and customization.
git clone https://github.com/OCA/account-financial-tools.git --branch 19.0 --depth 12Git Submodules
Add OCA repositories as submodules to your project for version-controlled dependencies. Works great with Docker deployments.
git submodule add -b 19.0 https://github.com/OCA/account-financial-tools.git addons/oca/account-financial-tools3OEC.sh Auto-Install
Specify OCA repositories in your project config and OEC.sh handles cloning, dependencies, and updates automatically.
# oec.yamladdons: - repo: OCA/account-financial-tools branch: "19.0" - repo: OCA/web branch: "19.0"5Step-by-Step Installation Guide
Follow these steps to manually install OCA modules on your Odoo server. This example uses the account-financial-tools repository.
Step 1: Create Addons Directory
# Create a directory for OCA modulessudo mkdir -p /opt/odoo/oca-addonssudo chown -R odoo:odoo /opt/odoo/oca-addonsStep 2: Clone the Repository
# Switch to odoo usersudo su - odoo# Clone the repository (replace 19.0 with your Odoo version)cd /opt/odoo/oca-addonsgit clone https://github.com/OCA/account-financial-tools.git --branch 19.0 --depth 1# For multiple repositoriesgit clone https://github.com/OCA/account-reconcile.git --branch 19.0 --depth 1git clone https://github.com/OCA/web.git --branch 19.0 --depth 1Step 3: Update Odoo Configuration
Add the OCA directories to your addons_path in the Odoo configuration file:
# Edit /etc/odoo/odoo.conf[options]addons_path = /opt/odoo/odoo/addons,/opt/odoo/custom-addons,/opt/odoo/oca-addons/account-financial-tools,/opt/odoo/oca-addons/account-reconcile,/opt/odoo/oca-addons/webStep 4: Install Python Dependencies
Some OCA modules require additional Python packages. Check each repository for a requirements.txt file:
# Activate Odoo's virtual environmentsource /opt/odoo/venv/bin/activate# Install dependencies for each repositorypip install -r /opt/odoo/oca-addons/account-financial-tools/requirements.txtpip install -r /opt/odoo/oca-addons/web/requirements.txt# Or install all at oncefind /opt/odoo/oca-addons -name "requirements.txt" -exec pip install -r {} \;Step 5: Restart Odoo and Update Module List
# Exit odoo userexit# Restart Odoo servicesudo systemctl restart odoo# Check logs for any errorssudo tail -f /var/log/odoo/odoo.logStep 6: Install Modules from Odoo
After restarting, update the module list and install the desired modules:
- Go to Apps menu in Odoo
- Click Update Apps List (requires developer mode)
- Search for the OCA module you want to install
- Click Install
Enable Developer Mode
To update the apps list, enable developer mode by going to Settings and clicking "Activate the developer mode" at the bottom of the page.
6Best Practices
Follow these best practices to ensure a stable and maintainable OCA module installation. These recommendations apply whether you're managing modules manually or using managed hosting:
Pin to Specific Versions
Always pin your OCA modules to specific commits or tags for reproducible deployments:
# Clone and checkout a specific commitgit clone https://github.com/OCA/web.git --branch 19.0cd webgit checkout abc123def # specific commit hash# Or use a tag if availablegit checkout 19.0.1.0.0Test in Staging First
Never install untested OCA modules directly in production. Always deploy to a staging environment first, verify functionality, and check for conflicts with existing modules.
Check Module Compatibility
Verify compatibility before installation:
- Check the
__manifest__.pyfor required Odoo version - Review module dependencies and ensure they are installed
- Check open issues on GitHub for known problems
- Verify Python dependencies are compatible with your environment
Handle Migrations Carefully
When upgrading Odoo versions:
- Check if OCA modules are migrated to the new version
- Review migration scripts in the module's
migrationsfolder - Create a full backup before any upgrade
- Test the upgrade on a copy of your database first
Document Your Modules
Maintain a list of installed OCA modules with their versions and commit hashes. This makes troubleshooting and replication easier. For development teams, see our developer-focused features.
7Frequently Asked Questions
Related Guides
Skip the manual setup?
OEC.sh automates Odoo deployment on any cloud — SSL, backups, monitoring, and scaling included. Deploy in minutes, not hours.
Deploy Odoo on Cloud Server
Complete guide to deploying Odoo on any VPS or cloud server.
Odoo Docker Deployment
Production-ready Docker Compose setup for Odoo with OCA modules.
Backup and Recovery Guide
Set up automated backups and disaster recovery for Odoo.
Performance Optimization
Tune PostgreSQL and Odoo for maximum performance.
CI/CD and Staging Setup
Automated deployments and testing environments for OCA modules.
Managed OCA Hosting
Auto-install and manage OCA modules with OEC.sh hosting.