What is Odoo?
Odoo 18 is an all-in-one business management software that offers a complete suite of applications to run your company. Unlike traditional ERP systems that can be complex and expensive, Odoo provides an intuitive, modular approach where businesses can start with basic applications and add more functionality as they grow. This guide will walk you through the Odoo 18 installation process, helping you set up the platform efficiently and get your business management system up and running on Ubuntu.
Key Characteristics of Odoo
Modular Architecture
Odoo’s strength lies in its modular design. You can start with just a few applications and gradually add more as your business needs evolve. Core modules include:
- Sales & CRM
- Accounting & Finance
- Inventory & Manufacturing
- Human Resources
- Website & E-commerce
- Project Management
- Marketing & Email campaigns
Open Source Foundation
Odoo operates on a dual-licensing model:
- Community Edition: Free and open-source with basic functionality
- Enterprise Edition: Premium version with advanced features, support, and hosting options
User-Friendly Interface
Odoo 18 features a modern, intuitive interface designed for ease of use. The clean design reduces learning curves and increases user adoption across organizations.
Introduction to Odoo 18
Odoo 18 is the latest version of the comprehensive open-source Enterprise Resource Planning (ERP) suite that helps businesses manage their operations from a single integrated platform. Released in 2024, Odoo 18 continues to build upon its predecessor’s foundation while introducing significant improvements in user experience, performance, and functionality.
Core Applications Overview
Sales & CRM
Oversee the complete sales process, from generating leads to completing orders. Track customer interactions, manage opportunities, and automate sales processes.
Accounting & Finance
Complete financial management, including invoicing, expense tracking, bank reconciliation, and financial reporting. Supports multiple currencies and tax regulations.
Inventory & Warehouse
Real-time inventory tracking, automated reordering, barcode scanning, and advanced warehouse management with multiple location support.
Manufacturing
Bill of Materials (BOM) management, production planning, quality control, and shop floor management with real-time production tracking.
Human Resources
Employee management, recruitment, time tracking, payroll integration, performance evaluation, and leave management.
Website & E-commerce
Build professional websites with integrated e-commerce functionality, SEO tools, and content management capabilities.
Project Management
Task management, time tracking, project planning with Gantt charts, team collaboration, and project profitability analysis.
Setup Odoo 18 on Ubuntu
If
1) System update & essentials
sudo apt update && sudo apt -y upgrade
sudo apt -y install git curl wget xz-utils software-properties-common \
build-essential python3 python3-venv python3-pip python3-dev \
libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libpq-dev \
libjpeg-dev zlib1g-dev gcc g++ pkg-config
2) PostgreSQL (12 or newer)
sudo apt -y install postgresql postgresql-client
# Create a dedicated DB role for Odoo (login + createdb, no superuser)
sudo -u postgres createuser -d -R -S odoo
3) Install Required Packages
sudo apt install git python3 python3-pip build-essential wget python3-dev \
python3-venv libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools \
npm node-less libjpeg-dev libpq-dev libjpeg8-dev liblcms2-dev libblas-dev \
libatlas-base-dev -y
4) Create the “odoo” Linux user & folders
sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
sudo mkdir -p /opt/odoo/{odoo,custom-addons}
sudo chown -R odoo:odoo /opt/odoo
5) Get Odoo 18 source code (Community; Enterprise optional)
# Community
sudo -u odoo -H git clone --depth 1 --branch 18.0 https://github.com/odoo/odoo.git /opt/odoo/odoo
# Enterprise (optional; requires valid GitHub access)
Enterprise is run on top of Community by adding the enterprise folder to the addons-path. Odoo
6) Python virtualenv & dependencies
# Create & activate venv
sudo -u odoo -H python3 -m venv venv
sudo -u odoo -H /opt/odoo/venv/bin/pip install --upgrade pip setuptools wheel
# Install Python deps from Odoo's requirements.txt
# After activate virtual Environment
pip install -r requirements.txt
Odoo 18 needs Python 3.10+. Installing from requirements.txt is the supported way. Odoo
7) Odoo configuration
Create
odoo/odoo.conf
[options]
; security
admin_passwd = change-this-strong-master-password
; db connection (peer/local)
db_host = False
db_port = False
db_user = odoo
db_password = False
; paths
addons_path = /opt/odoo/odoo/addons,/opt/odoo/custom-addons
; add enterprise path first if you use EE:
; addons_path = /opt/odoo/enterprise,/opt/odoo/odoo/addons,/opt/odoo/custom-addons
; server ports
xmlrpc_port = 8069
longpolling_port = 8072
; logging
logfile = /var/log/odoo/odoo18.log
8) First run (dev mode)
Open http://localhost:8069 and follow the database creation wizard. (You can also pass DB options via CLI; see the Odoo CLI docs.)
After that activate developer mode
Search on Google – odoo debug chrome extension > add
Link https://chromewebstore.google.com/detail/odoo-debug/hmdmhilocobgohohpdpolmibjklfgkbi
VS Code Setup for Odoo 18
1) Install extensions
- Python (Microsoft)
- Pylance
- ESLint (for JS)
- XML (Red Hat)
- (Optional) Black Formatter, EditorConfig
2) Workspace & interpreter
Open /opt/odoo as your workspace (or a development copy in your home).
Select the interpreter: Ctrl/Cmd+Shift+P → Python: Select Interpreter → /opt/odoo/venv/bin/python.
.vscode/settings.json (recommended)
{
"python.defaultInterpreterPath": "/opt/odoo/venv/bin/python",
"python.linting.enabled": true,
"python.linting.flake8Enabled": true,
"flake8.args": ["--ignore=E501,E301,E302"],
"python.formatting.provider": "black",
"editor.formatOnSave": true
}
Odoo’s coding guidelines ignore some PEP8 checks (E501, E301, E302), hence the flake8 config above. Odoo
3) Debug configuration (launch Odoo from VS Code)
Create .vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Odoo 18 (dev)",
"type": "python",
"request": "launch",
"program": "/opt/odoo/odoo/odoo-bin",
"cwd": "/opt/odoo/odoo",
"args": [
"-c", "/etc/odoo18.conf",
"--addons-path", "/opt/odoo/odoo/addons,/opt/odoo/custom-addons",
"--dev", "xml,qweb,assets",
"-d", "odoo18_dev"
],
"console": "integratedTerminal",
"justMyCode": false,
"env": { "PYTHONUNBUFFERED": "1" }
}
]
}
Tip: Use the Odoo CLI to generate scaffolds and utilities directly from VS Code’s terminal, e.g.:
/opt/odoo/venv/bin/python /opt/odoo/odoo/odoo-bin scaffold academy /opt/odoo/custom-addons
(Scaffolding and other CLI subcommands like shell, populate, and tsconfig are documented here.) Odoo
Bonus: rich JS autocomplete
Generate a tsconfig.json that helps VS Code understand Odoo’s JS modules:
cd /opt/odoo
/opt/odoo/odoo/odoo-bin tsconfig –addons-path odoo/addons,custom-addons > tsconfig.json
This enhances autocompletion across JS modules in editors like VS Code. Odoo
Let’s take an example to setup an Odoo 18
After installation of Python 3.10+, PostgreSQL 12+
Step 1 – Create a folder
Open drive > create a folder name ‘code’> odoo_18 , right click on odoo_18 >
Open Terminal
Step 2 – Install the required package
sudo apt update && sudo apt upgrade -y
sudo apt install git python3 python3-pip build-essential wget python3-dev \
python3-venv libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools \
npm node-less libjpeg-dev libpq-dev libjpeg8-dev liblcms2-dev libblas-dev \
libatlas-base-dev -y
sudo apt install postgresql -y
sudo systemctl enable postgresql
sudo systemctl start postgresql
Step 2- git clone
git clone –depth 1 –branch 18.0 https://github.com/odoo/odoo.git odoo
Step 3 – open with VS Code
after the successful completion of the clone
open odoo_18 with terminal > code .
Step 3- Create Virtual Environment
Python3 -m venv venv
source/venv/bin/activate
After that
pip install --upgrade pip setuptools wheel
pip install -r requirements.txt
Step 4- PostgreSQL (database)
sudo su – postgres -c “createuser -s odoo18”
Step 5- config file
odoo_18/odoo.conf
[options]
; master password
admin_passwd = changeme123
; db
db_user = your-linux-username
db_host = False
db_port = False
db_password = False
; addons
addons_path = ~/code/odoo_18/odoo/addons,~/code/odoo_18/custom-addons
; server
xmlrpc_port = 8069
; logs
logfile = ~/code/odoo_18/logs/odoo.log
Step 7 – run odoo
Activate virtual environment
6.1 source/venv/bin/activate
(venv)
6.2 python3 odoo-bin -c odoo.conf
Open a browser, run localhost: 8069
Difference: Community vs Enterprise
- Community: 100% free and open-source, but with limited features.
- Enterprise: Paid license, includes extra features like Accounting, Studio, Helpdesk, VOIP, advanced MRP, advanced HR, extra reporting, mobile UI enhancements, etc.
If we want to switch into enterprise version
Step 1: Add the path of the enterprise version file in the addons in Odoo.conf
Python3 odoo-bin -c odoo.conf -u all
Step 2 – Open browser – Run localhost
2.1- Log in to Odoo → go to Settings → Activate Developer Mode.
2.2- Go to Apps → Update Apps List (or “Update Apps”).
2.3- Search enterprise > Install
Read More:- How to install Odoo and OpenEduCat on Ubuntu: A Step-by-Step Guide