Ad – 728×90
🐍 Introduction

What is Odoo? – Open Source ERP & Business Platform

Odoo is the world's most widely used open-source ERP (Enterprise Resource Planning) platform, powering over 12 million users across 150+ countries. But for developers, Odoo is more than an ERP: it's a full-stack Python web framework with a built-in ORM, XML-based view engine, OWL JS frontend framework, module system, and REST-like RPC layer. This page explains what Odoo is, how it's built, and why learning to develop with it opens doors to a huge ecosystem of business software projects.

⏱️ 12 min read 🎯 Beginner 📅 Updated 2026

What is an ERP?

ERP stands for Enterprise Resource Planning — software that integrates core business processes into one unified system. Before ERP, companies used separate, disconnected tools: one app for accounting, another for inventory, another for sales. These tools rarely talked to each other, leading to duplicate data, manual reconciliation, and constant errors.

Odoo's approach is modular: you install only the modules you need. Each module handles one business area, and all modules share the same database, user system, and UI framework.

ModuleWhat it does
SalesQuotes, orders, invoices
InventoryStock moves, warehouses, routes
AccountingJournal entries, reconciliation, tax
CRMLeads, pipelines, customers
HREmployees, leaves, payroll
WebsitePublic website, eCommerce
POSPoint of Sale for retail/restaurants
ManufacturingBOM, work orders, MRP

Odoo as a Development Framework

Odoo is not just an ERP — it's a Python web framework. It has four distinct layers that work together to power every module:

  • Python ORM — Models are Python classes. The ORM handles all SQL automatically.
  • XML Views — UI is defined in XML files that Odoo stores and renders.
  • OWL JS Frontend — The browser client is built on Odoo's own JavaScript framework, OWL.
  • PostgreSQL Database — Every model maps to a PostgreSQL table.

Here is a minimal Odoo model — the foundational building block of every custom module:

Python
from odoo import models, fields

class Book(models.Model):
    _name = 'library.book'
    _description = 'Library Book'

    name = fields.Char(string='Title', required=True)
    author_id = fields.Many2one('res.partner', string='Author')
    price = fields.Float(string='Price')
    active = fields.Boolean(default=True)

The ORM handles CREATE TABLE, SELECT, JOIN, UPDATE, and DELETE automatically based on the model definition. You never write raw SQL for standard CRUD operations.

Ad – 336×280

Community vs Enterprise

Odoo comes in two editions. As a developer, the important thing to know is that both editions use the same API — Enterprise just adds more modules on top of the same framework.

FeatureCommunityEnterprise
CostFreePer user/month
Source codePublic (GitHub)Partial
Core modules~30~50+
AccountingBasicFull (IFRS/GAAP)
SupportCommunityOfficial

Community edition is free, open-source (LGPL), and hosted publicly on GitHub. Enterprise edition is paid, adds proprietary modules (advanced accounting, payroll, IoT, mobile), but uses the same Python/ORM/XML framework underneath. For learning Odoo development, Community edition is all you need.

Odoo Versions

Odoo follows an annual release cycle. Major versions are not backward compatible — a module written for Odoo 16 needs migration work to run on Odoo 17. Long-term stable releases are versions 14, 16, and 17.

ℹ️
This course targets Odoo 19

Odoo 19 is the current stable release (as of 2026). All code examples and instructions in this course are written for Odoo 19 Community edition.

📋 Summary

  • Odoo is the world's most popular open-source ERP platform, with 12 million+ users across 150+ countries.
  • For developers, Odoo is a full-stack Python web framework: ORM, XML views, OWL JS frontend, PostgreSQL database.
  • Odoo is modular — install only the business modules you need; all share one database and framework.
  • Community edition is free and open-source; Enterprise adds paid modules on the same framework API.
  • This course targets Odoo 19 — the current stable release.

FAQ

Is Odoo free to use? +

The Community edition is completely free and open-source under the LGPL licence. You can download it, use it, and build custom modules without paying anything. The Enterprise edition is paid (per user/month) and adds additional proprietary modules on top of the same free framework. For development and learning, Community edition is all you need.

What programming language is Odoo built in? +

Odoo's backend is built in Python. Views and data files are written in XML (using Odoo's QWeb template engine). The frontend browser client is built on OWL JS — Odoo's own JavaScript framework. All data is stored in PostgreSQL.

Can I build custom Odoo modules without buying Enterprise? +

Yes. Community edition fully supports custom module development. The module system, ORM, XML views, Python server, and all development APIs are available in Community. Enterprise only adds more pre-built modules — it does not give you a different or better development framework.

Is Odoo the same as Odoo.sh? +

No. Odoo is the software — the open-source ERP and web framework. Odoo.sh is Odoo S.A.'s cloud hosting platform for running Odoo deployments. You can self-host Odoo for free on your own server, a VPS, or locally for development — you don't need Odoo.sh.