Best Resources to Learn Odoo

Odoo, formerly known as OpenERP, is business management software including CRM, E-commerce, Sales management, Warehouse management, Purchase management, Accounting suit, Manufacturing management, HRMS, etc.

Tutorials and Courses

  • Odoo Developer Document – This official document includes everything for a developer to know and develop a module for Odoo.
  • Odoo Slides – Another official resource to learn about this open-source ERP. While the developer document is about each component, this Slides section is about using Odoo to handle business logic.
  • Odoo: The complete Master Class: Beginner to Professional – This course will teach about the basics of Odoo ERP, including Installing, Configuring the popular Odoo Modules and advanced Odoo Administrative features.
  • Odoo 11 Development Essentials – Learn to scaffold a new module, create new models inside it, and use the proper functions (business intelligence) that make Odoo the best ERP out there.
  • yenthevg – This blog is very useful for anything related to Odoo. It provides lots of tutorials. They are straightforward and help users solve a lot of problems related to Odoo’s features and coding.


  • Odoo 12 Development Essentials – Explore Odoo 12 capabilities to develop business applications.
  • Odoo Book V13 – Odoo 13 Book is a complete user manual for readers who are looking forward to implementing the all-in-one business application.

Best Odoo Apps

  • Odoo 13 Accounting – This Module will bring back the accounting features such as Account Reports, Asset Management, and Budget Management into Odoo 13 Community Edition.
  • Bureaucrat Helpdesk Lite – Bureaucrat Helpdesk module allows you to organize a company service desk. You can configure categories, types, and stages, set up routes of requests, and provide request handling.
  • Open HRMS Core – A simple, easy-to-use, and intuitive tool helping employees and management to perform at full potential, boosting productivity and overall employee satisfaction. Open HRMS offers a 360-degree overview of employee and their skills.
  • Database auto-backup – Keep your Odoo data safe with this module. Take automated back-ups, remove them automatically, and even write them to an external server through an encrypted tunnel.
  • Product Barcode Generator – The module automatically generates EAN13 standard barcode for each product while you create it. The module also introduces a new feature to print product variant prices on the product label.
  • Web Digital Signature v13.0 – This module is helpful to make your business process a little bit faster & makes it more user-friendly by providing you with digital signature functionality on your documents.
  • Project Report XLS & PDF – This module enhances project management with intuitive reports. Reports consist of task details with respect to the selected project.
  • Project Task Timer – Track hours with a button that starts & stops your task and records your actual working hours.
  • Shopify Odoo Connector – Using this connector, a seller can integrate Shopify Store with Odoo and manage different operations such as publishing products to Shopify, Importing Orders to Odoo, and much more.
  • Dashboard Ninja – create beautiful, customized, and robust dashboards for your different departments.
  • Odoo WooCommerce Connector – Odoo WooCommerce Connector will help you integrate and manage your WooCommerce store in Odoo. Perform various operations like Importing Orders and Customer Data, Updating Inventory, Updating Order Status, Importing & Exporting Products, Product Categories, Product tags, and much more. Automate various vital tasks like Order Import, Order Status Update & Stock Update to ease your work.
  • Mass Mailing Theme – With this module, you will be able to create beautiful, mobile-compatible mails with your own brand colors.
  • Odoo Multi Vendor Marketplace – The module transforms your single e-commerce website into a working e-commerce marketplace. Your sellers would signup and sell their products.


Change user’s default landing page after login

Let’s say you want to set the Inventory page as the default landing page:

  • Activate the developer mode (see the tip below for this part).
  • Access Settings > Technical > User Interface > Menu Items
  • Click on the Inventory page to view its settings.
  • Modify the Sequence field to 0.

Useful command lines

//restart odoo instance to reflect changes in modules
sudo service odoo-server restart
//show last 100 lines of log 
tail -f -n 100 /var/log/odoo/odoo-server.log
//install and uninstall a module
./ -d [database_name] -i [module_name]
./ -d [database_name] -u [module_name]

Enable developer mode

Normally, you can go to Settings and then click the Activate the developer mode button to enable developer mode. There is a method that enables developer mode on any pages I often use.

You just need to append ?debug after the web parameter in the URL. For example, replace http://localhost:8069/web#action=401&model=res.partner&view_type=kanban&menu_id=263 with http://localhost:8069/web?debug#action=401&model=res.partner&view_type=kanban&menu_id=263

Debug QWeb Template

QWeb Template can be debugged by using t-debug="pdb" attribute in your XML template. It is used for debugging the template code.

<t t-debug="pdb"/>

Blog Posts

Starting from Odoo 13, Purchase product lines have note and section as a line. This feature isn't enabled in Odoo 12. With this module, you can enable these 2 display types in Purchase Order form. Features: Add note and section...
Odoo is an open source ERP which can be connect from outside to perform some database operations. Part of its Models API is available over XML-RPC and JSON-RPC. These Dart & Flutter plugins use these protocols to communicate with Odoo....

Odoo provides an easy way to create settings in which you can modify their values in Settings > General Settings. Create setting model Firstly, we need to define a model which inherits res_config_settings. class ResConfigSettings(models.TransientModel): _inherit = 'res.config.settings' custom_emails =...

Odoo offers a way to scaffold a module with the built-in command line. If you are new to Odoo development, the created module still lacks some features for reference. That's why I create this Odoo module boilerplate. List of features:...

Knowing all available Odoo module categories will help developers choose a suitable one to place their module in. Category of a module can be defined in of your module folder. 'category': 'Uncategorized', The full list can be found at...
As your business grows, so does your data. Managing data efficiently is key to making informed business decisions. Odoo, the popular open-source enterprise resource planning (ERP) software, offers a wide range of features for business management. One of the key...

Odoo gives users the ability to add filtering and group by options to their search views, so that they can easily find the information they need. Additionally, users can set a default group in Odoo, so that the data is...
Anyone who uses Odoo can spot that the Name column of a model like Sale or Invoice is generated automatically. In Odoo, we call it Sequence. In this post, we will try to create a customer model and allow its...

The following are all available widgets that can be used in XML template files. Monetary The widget=”monetary” was introduced in Odoo 9.0 and is not available in previous versions. We used it when we want to create a field that...
Like other views in Odoo, email template can also be defined in view's XML file. Create email template <?xml version="1.0" encoding="utf-8"?> <odoo> <data noupdate="1"> <!--Email template --> <record id="my_email_template" model="mail.template"> <field name="name">First Email Template</field> <field name="email_from">${ and or ''}</field>...

In this article, we introduce a command line that can create a module from scratch for Odoo (v10+). Even though you can create a custom module manually by creating a new folder and its necessary files, it is faster to...

Odoo's QWeb Report is a powerful tool for businesses to create custom reports. It is a template-based engine for dynamically creating documents for various purposes. With QWeb Report, businesses can easily generate and deliver highly customized, professional-looking reports in almost...
In Odoo a menu item can link to an external URL. URL action (ir.actions.act_url) allows opening a URL (website/web page) via an Odoo action. Here is the menu item code and its action: <record model="ir.actions.act_url" id="act_reports"> <field name="name">Reports</field> <field name="url"></field>...

Odoo has this nice features which allow to change colors of tree lines based on condition. Starting from Odoo version 9, decorationsare used in tree XML instead of colors. decoration-bf - shows the line in BOLD decoration-it - shows the...

Contact can be accessed after installing the Contacts module. It is the core Odoo module that manages a company's address book, be it partner or customer. Add a custom field to the Contact form We will create a field to...

Odoo doesn't support popup messages out of the box. There is this raise Warning(message) which opens a popup to show errors. However, you SHOULD never use them to show messages to users. In Odoo, everything runs inside a big transaction....
There are 3 core methods that are related to a record. They are Create, Write, and Unlink. You can call them Create, Update, and Delete. To override a model create/update/delete functions in Odoo, you can create a new module that...

A wizard is essentially a pop-up window that guides users through a set of actions or prompts them to enter specific data. In Odoo, a wizard can be used to simplify complex processes, such as creating multiple records at once,...

A Sale Order is a document that is created by a salesperson to record a customer's order for goods or services. It includes details such as the customer's name and address, the products or services being ordered, and the price...
There is case you want to show a form for users to input before processing some logic. So we need to let user access this form from a menu item. Let's say we want to add a menu as child...
Discuss is the first page a user sees after logging in. In most cases, no one wants to see Discuss as the landing page. There are many apps that depend on Discuss, so you can't uninstall it. Odoo starts at...

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.