Learn Odoo

3.5 (2 reviews total)
By Greg Moss
  • Instant online access to over 7,500+ books and videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Setting Up Odoo 12

About this book

Odoo is management software that contains a set of open source enterprise management applications that help you modernize your business.

Completely revised and updated, this comprehensive Odoo guide is a fourth edition of Working with Odoo. This book begins with an introduction to Odoo and helps you set up Odoo Online in your system. You'll learn how to start a new company database in Odoo and the basics of Odoo sales management. You will explore customer relationship management in Odoo and its importance in a modern business environment. Moving on, you'll learn how to install the purchasing application, set up suppliers, and begin purchasing and receiving products in Odoo. Next, you'll learn how to use the MRP module to create, process, and schedule the manufacturing and production order. Once you get to grips with the basic applications, you'll uncover how to customize Odoo to meet the specific needs of your business. You'll learn some advanced techniques for searching and finding information, and you'll be taken through business intelligence in Odoo. Towards the end of the book, you'll go in-depth into Odoo's architecture and learn to use Odoo's API to integrate with other applications.

By the end of the book, you'll be ready to use Odoo to build enterprise applications and set up the functional requirements for your business.

Publication date:
October 2019


Setting Up Odoo 12

Odoo is a powerful business application framework with a complete suite of enterprise business applications. When you first install Odoo, the only functionality you will have is a limited messaging options between users. From there, Odoo allows you to install the applications you need, as you need them. This flexibility makes Odoo much more accessible than many business software solutions.

The release of Odoo 12 has introduced quite a number of impressive new features and enhancements. Among them are improved layout for mobile devices, a Documents app (a full-featured document management system), keyboard navigation and shortcuts, mass actions, Optical Character Recognition (OCR) to import bills emailed from vendors, a new report designer (Odoo Studio), data enrichment that auto-completes company information, Customer Relationship Management (CRM) email templates, automated lead generation with user-defined rules, enhanced bank synchronization, additional payment acquirers, a pop-up chatbox, dashboards that more closely resemble the familiar Google Analytics, and vastly improved overall system speed.

In this chapter, we will get started on working with Odoo by covering the installation and the basics of setting up an Odoo database.

The topics we will cover include the following:

  • A comparison of Community and Enterprise Editions
  • Setting up a trial company on Odoo Online
  • Installing Odoo on Windows and Ubuntu
  • Troubleshooting and configuring your installation

Community and Enterprise Editions of Odoo

Beginning with Odoo 9, Odoo SA started releasing two versions of Odoo—a Community Edition and an Enterprise Edition. The Community Edition is free, open source, and primarily supported by the Odoo community. Odoo Enterprise, while also open source, requires a license based on the number of users. More recently, Odoo pricing for the Enterprise version has been varied depending on region.

Odoo Enterprise offers an alternative (and arguably better) user interface. Additionally, there is better functionality in some applications, as well as support by SA and, perhaps most critical of all, migration to the new releases of Odoo. More information on the differences between Odoo Community and Odoo Enterprise Editions is available in Chapter 16, Comparative Analysis of Community versus Enterprise Editions.

This book primarily targets the Community Edition of Odoo.


Getting started with Odoo Online

Not long ago, nearly all companies kept their primary information systems in-house. This approach not only requires a lot of capital expense in purchasing servers and software licenses, but also creates a lot of responsibilities and risks in backing up data and ensuring business continuity. Today, more and more companies are choosing to host their business applications in online networks commonly called the cloud. Odoo allows you the flexibility of both options—either hosting on your own hardware, or utilizing Odoo's online software services.

Odoo also offers developers access to Odoo.sh, a cloud-based, GitHub-enabled staging server for beta-testing customized apps and deploying them to a managed production server. This service is available to those who have a license for the Odoo Enterprise Edition and would like to have it hosted like Odoo Online but require customized features. For further information about this Odoo.sh, visit https://www.odoo.sh/features.

Taking advantage of Odoo Online instant access

The best thing about accessing Odoo Online is that you can jump in and start using the software right away. You don't have to decide what operating system (OS) to use, and you don't have to install any software at all. Just enter the URL into your web browser and you are ready to get started.

Another added benefit of taking this approach is that you will verify that your web browser is up to date and compatible with the latest version of Odoo. So, even if you intend to install Odoo on your own hardware, it is still worth taking a minute to test out the Online Trial version of Odoo. You can expect to put a great deal of time into determining which Odoo applications are right for your company.

Taking a few hours to use the Odoo Online version is time well spent, and you can put off installing Odoo until you are more certain it is the right software for your business.

Use the Odoo Trial Edition to verify browser compatibility with any older machines.

Odoo browser requirements

Odoo is designed to run on a variety of modern web browsers. Supported browsers include the following:

  • Google Chrome (recommended)
  • Firefox
  • Internet Explorer
  • Safari
Macintosh users will need to make sure they are running macOS X or above. Users running older Macintosh systems are currently having difficulties running Odoo version 7. Also, in my experience, Google Chrome tends to offer the best experience in working with Odoo. Firefox is also often recommended by others in the Odoo community.

Odoo mobile phone and tablet support

Beginning with Odoo 8, Odoo has included native support for mobile phones and tablets. As with previous Odoo upgrades since, mobile support has been further improved in Odoo 12. Menus are designed to flow and format properly. The new website application even includes a preview within the portal administration to emulate how the site would appear on a mobile phone. While you still suffer many of the limitations that come with a small screen size, the applications are functional and this makes it even easier for developers to create mobile Odoo applications.

Odoo's mobile-application support covers both the Android and Apple iOS platforms. Note, however, that these mobile apps will only be able to connect to Odoo Enterprise; Odoo Community installations are not supported. Make sure you thoroughly test all processes that you intend to implement for your business, and test them on both desktop and mobile platforms. The smaller screen sizes might make some data unreadable or very awkward to work with.

Accessing the Odoo free online trial

Accessing the online trial version of Odoo Online could not be simpler. Just open up your browser and navigate to https://www.odoo.com/trial.

Please be aware that Odoo Online's trial is the Enterprise Edition of Odoo. While very similar to the Community Edition, the interface will be slightly different.

You will then be prompted to choose one of Odoo's primary business applications, as shown in the following screenshot:

Don't worry too much, because you can add more applications later.

Clicking on the appropriate button for the application immediately begins installing your own unique Odoo instance. For our example, let's go ahead and install the CRM application: 

For installing the CRM application, you will need to perform the following steps:

  1. Click the radio button for CRM.
  2. Now, click Configure, and you will be taken to a simple sign-up page.
  3. Fill out the Get Started form and click Start Now, as shown in the following screenshot:

Be patient, as it can take thirty seconds or longer for the servers to build the database and bring up the starting page. When the installation is complete, Odoo automatically signs you in so you can begin trying out the software. The goal of this approach is to get users to start using the software right away, and avoid having to fill out lengthy forms or create logins and passwords to begin using the software. It really is just one click, and you have your own version of Odoo to evaluate:

The screen now contains the Odoo dashboard for the Enterprise Edition. Please be aware that this will look a bit different than the Community Edition of Odoo, even though they are very similar in terms of functionality.

We will discuss the CRM application in detail in Chapter 3, Exploring Customer Relationship Management in Odoo 12.

Take a few minutes to look around in Odoo to get familiar with the interface. You don't have to worry about breaking anything or doing anything wrong. If you run into problems or get confused, just close your web browser and try again.

This is a demonstration and will only last for a four-hour session. If you close your browser, you will lose your setup and have to start over again.

Continuing to use the trial version of Odoo

At the very top of the Odoo application, just under the address bar in the browser, you will see a message that informs you of how much longer your trial version of Odoo will run before you need to register. Also, remember that it is possible to lose this instance of Odoo before the time runs out, as seen here:

Clicking on the Activate by email link will send a message to the email address that you provided, containing a link to activate your Odoo database. Currently, you may use Odoo for free as long as you only install one application.

Odoo SA has experimented quite a bit with different trial terms, so do not be surprised if the trial options are slightly different by the time you are reading this.

Subscribing to Odoo

You can use one Odoo application for free without subscribing. If you wish to install more applications (as you likely will), you must subscribe to Odoo in order to keep using their Enterprise cloud-hosted version of the software.

For each user, the current pricing is $24 per month. At the time of this writing, there is a $4-per-month user discount, thus reducing the total per-month cost to $20. Each application you use will also incur a monthly cost that varies for each respective application.

The following is the Odoo Online Pricing calculator for October 2018 in the United States with one user and three applications:

You can locate the Odoo Online Pricing page at https://www.odoo.com/pricing-online.

Odoo Online is priced for employees that use the applications. You are not charged for customers or suppliers that access Odoo through the web portal.

Depending on your requirements, an Odoo subscription might be a good decision. Installing and maintaining an Odoo installation takes a degree of expertise and has risks for production systems. You must maintain adequate disaster recovery procedures in case of server crashes or hard drive failures. There are also complexities in applying bug fixes and migrating to newer versions of Odoo. This book will help you with many of these tasks. It can be quite convenient to have an Odoo subscription so that you can focus on the functional, rather than the technical, aspects of working with Odoo.

Using Odoo without subscription fees

One of the greatest advantages of Odoo is that Odoo Community is both open source and can be used without paying any license fees. If you choose not to pay the subscription fee, do not fear! The remainder of this chapter will assist you with installing Odoo on your own hardware.


Getting to know the Odoo architecture

Setting up and managing an Odoo installation will require a basic understanding of the components that make up Odoo. Every business system has a set of technologies and underlying software platforms that are required for the system to function. Fortunately, unless you plan to customize Odoo, you only need to understand the very basics of the Odoo architecture to complete a successful installation.

In this book, we provide a basic overview of the Odoo architecture. If you wish to get more detailed documentation on the Odoo architecture and technical documentation, visit https://www.odoo.com/documentation/12.0/.

Introducing the PostgreSQL database

Like most ERP systems, Odoo has specific database requirements: in this case, PostgreSQL. PostgreSQL is an open source, cross-platform Object Relational Database Management System (ORDMS). While not popular on the scale of Microsoft SQL Server or MySQL, PostgreSQL is an enterprise-class database server with many advanced features. In fact, PostgreSQL stacks up very well against far more expensive databases such as Microsoft SQL Server and Oracle Database.

PostgreSQL runs on every major OS. For most Odoo installations, Ubuntu is the OS of choice. However, PostgreSQL will also run quite well under other versions of Linux, Microsoft Windows, and even macOS X.

You can learn more about PostgreSQL at http://www.postgresql.org/.

Writing code with Python

The primary programming language of Odoo is Python. Like the other technologies underlying Odoo, the Python language is open source and runs on all of the major contemporary OS. It is an extremely popular programming language, which makes it very easy to find resources to help you to get started.

Starting in Odoo 11, Odoo began using Python 3.5 instead of Python 2.7.

You can learn more about the Python programming language at http://python.org/.

Following the Model-View-Controller design

Odoo is built upon a Model-View-Controller (MVC) architecture. One of the primary goals of this architecture is to separate the visual display of the information from the business rules and management of the underlying data. For example, if you need to change the way data is organized in the model, it is desirable not to have to make dramatic changes to how you view the data. This is true for maintaining flexibility in viewing data. Today, it is common to have many different client applications sharing the same underlying data.

Designing models

The model is essentially the data that makes up your Odoo installation, which is stored in the PostgreSQL database. Odoo is unique in that database structures are typically defined by the Odoo modules at the time they are installed. The Odoo framework takes the model definitions and automatically creates the necessary table structures inside of the PostgreSQL database. Furthermore, a web interface in Odoo allows administrators to easily extend the Odoo data model in a variety of ways without having to modify the Odoo source code.

Rendering views

Each view in Odoo is defined in XML documents. The Odoo framework is responsible for rendering these view files in a web browser. Alternative views can be built to render Odoo functionality upon other platforms such as mobile devices.

Authoring controllers

The controller component of the architecture is where the business logic and workflow rules of the Odoo application are applied. The controller components in Odoo are written in Python code and stored as objects in Odoo modules.


Choosing your installation OS

In this section, we will discuss some of the advantages and disadvantages of choosing Ubuntu or Windows for your first Odoo installation.

Choosing a Microsoft Windows Odoo installation

For the most part, Ubuntu has been the platform of choice for most Odoo installations. However, there are some reasons why you might choose to run Odoo under a Windows installation.

Some of you, after buying this book, might have already jumped ahead and installed Odoo on your Microsoft Windows computer. So, for you go-getters, that working installation of Odoo might function just fine for researching and testing its features. Often, the Windows all-in-one installer provides a simple method to get Odoo up and running in a snap on your hardware. Basically, you do not have to install a new OS.

Introducing Ubuntu

While Microsoft Windows does not really need an introduction, it is probably worth giving a brief introduction to Ubuntu. In short, Ubuntu (pronounced oo-BOON-too) is a very popular open source OS based on the Linux kernel. It has enjoyed increasing popularity because it is easy to install and very stable. Ubuntu can be installed either as a server OS without a graphical interface, or as a desktop OS with a graphical interface, that closely resembles Windows.

You can learn more about the Ubuntu OS, and why it is so popular, at http://www.ubuntu.com/.

Choosing an Ubuntu Odoo installation

It is generally accepted that Ubuntu is the recommended OS for running a production installation of Odoo. There are several reasons why this is true:

  • Ubuntu is the primary target platform: While Odoo is released for Windows and is still well supported, the Ubuntu installation continues to be favored. The development team for Odoo works primarily with Ubuntu for bug fixes and platform releases. It can be expected that, for the most part, Odoo development will be optimized around Ubuntu, not Windows or macOS.
  • Ubuntu is open source: Installing Odoo on any Windows OS is going to require a license from Microsoft. While using Odoo on your Windows PC or macOS is a viable and perhaps desirable solution for testing and development, it is unlikely you will want to run Odoo on a Windows desktop system for any production environment. Why? Well, this requires Windows Server, which has much higher license costs than desktop editions. With an Ubuntu installation, you get an entirely open source and virtually cost-free solution.
  • Ubuntu has additional scalability options: It is possible to configure a more scalable solution under Ubuntu than what you can currently configure under Microsoft Windows Server. Specifically, multiprocessing mode is not available, at least with the default Odoo release, under the Windows OS.
  • Ubuntu has strong community support for Odoo: The fact is that a vast majority of the production installations of Odoo are running under Ubuntu. When you run into trouble or management issues with your Odoo installation, you may find it easier to get assistance if you are running an Ubuntu installation.

Choosing another OS option for Odoo

Although this book will focus on Window and Ubuntu installations, you do have several other options. In the past, Odoo has been deployed under a variety of Linux distributions and even macOS. There are also many community members actively developing client frontends for mobile platforms such as Google's Android OS.


Understanding Odoo releases

When deploying an Odoo system, it is important to understand the various Odoo versions, as well as the release and upgrade policies. There is currently one major release each for versions 10.0, 11.0, and 12.0, as well as a master branch that is the latest development version, which will become Odoo version 12.0. The stable versions are the standard support versions of Odoo, and typically the ones you should choose to install for most situations. The master version is the development version and will often contain bugs and unfinished features. This is primarily downloaded by developers and those who wish to get a look at the latest features.

Upgrading Odoo

The goal of the Odoo development team is to release two stable version upgrades each year. Odoo further labels some stable versions as Long-Term Support (LTS) versions. These releases are supported by Odoo for those that have an Odoo Enterprise support contract. For any production environment, it is smart to choose an LTS version. Most importantly, installing an LTS release of Odoo will make bug fixes and patches much easier to implement.

At the time of this writing, the most recent stable LTS version is version 12.0.

Installing Odoo on Windows OS

We begin our installation by locating the packages that are currently available to install. You can find the current list at http://nightly.odoo.com/The following screenshot is the Odoo Nightly builds page, which is the jumping-off point for downloading the source files for installation:

The examples and case studies in this book use Odoo 12.0. This means you should select the 12.0 (stable) version of Odoo to download. You can navigate directly to the Odoo 12.0 downloads at http://nightly.odoo.com/12.0/nightly/, and you should see a screen similar to the following screenshot:

It is entirely possible that Odoo will change the URL as new versions are released. To best follow the examples in this book, download a 12.x installation of Odoo.

Windows installations of Odoo use EXE packages. Click on the exe/ directory to get the list of downloads that are available.

Naturally, the specific download packages are going to change on a nightly basis.

The latest version of the stable LTS release will contain the most current Odoo build, with bug fixes included, and will appear at the bottom of the list. By the way, the upload dates you'll see are in Coordinated Universal Time (UTC), and therefore might be many hours ahead of your time zone, especially if you live in the Western Hemisphere.

Click the LATEST.EXE file to download the most current build to your computer.

Performing an all-in-one Odoo installation on Windows

Installing Odoo using the all-in-one package is very simple. After the package has finished downloading, double-click on the .exe file to begin the installation wizard.

The first screen will prompt you to select the language for your install.

After you have selected the language and clicked on OK, the wizard will continue with the installation. From here, everything will continue like a normal installation on Windows.

I highly recommend that you choose the Custom Install, so you can select the directory for installation. The default directory name contains the lengthy build number, making it rather difficult to work with in Command Prompt.

Configuring Postgres on Windows

During the installation, you will be asked to provide information for the PostgreSQL connection, as in the following screenshot:

It is recommended that you change the default username and password for security purposes. These values will be written into the Odoo configuration file. The username and password provided will be the administration credentials for the PostgreSQL database, so be sure to remember them.

After the wizard is complete, if you leave Start Odoo checked and then click on Finish, Odoo should open up in a new tab of your default browser.

If Odoo fails to launch, you can look at the Troubleshooting and Odoo Management Tips section later in this chapter for solutions to some of the problems commonly encountered during installation.


Installing Odoo on Ubuntu

This book will walk you through the installation procedure for Odoo on Ubuntu using the latest all-in-one nightly package. Depending on your Ubuntu installation and how you want to work with Odoo, there are alternative installation methods.

At the time of writing, Odoo is most commonly installed on Ubuntu version 18.04.

Modifying the sources.list file

Installing Odoo in Ubuntu is easy when you use the Debian repository. In order to perform these operations, you may have to be the root user. If you have an account that has the permissions to do so, you can temporarily switch to the root user by opening a Terminal window and entering the following:

sudo -s

For better security, and to guarantee you are installing the correct package, Odoo now signs their distributions. The following command adds the correct key to your Ubuntu installation so that it will recognize the Odoo package:

wget -O - https://nightly.odoo.com/odoo.key | apt-key add -

Next, we want to add the distribution to the /etc/apt/sources.list file with the following command line:

echo "deb http://nightly.odoo.com/12.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list

This installs the package.

You can start the installation process by entering these commands into a Terminal window:

sudo apt-get update
sudo apt-get install odoo

The Odoo packages will first be downloaded and then installed. This is an all-in-one installation and should set up all of the necessary packages, PostgreSQL, and library dependencies required to run Odoo.

By default, the deb installation will place the source in the /usr/lib/python3/dist-packages/odoo directory.

About the Author

  • Greg Moss

    Greg Moss has been a business and information systems consultant for over 30 years and is both a Certified Information Systems Auditor (CISA) and a Certified Six Sigma Black Belt. He also has an Information Assurance Certification from Carnegie Melon University. Presently, Greg is the CEO of First Class Ventures, LLC., the owner of First Class Computer Consulting—Odoo consulting and training, the Odoo Class website, and an Odoo Ready partner. Greg is the founder of Odoo Class, a technical training platform for Odoo. He has published more than 20 courses on Udemy. In his spare time, Greg enjoys playing the trumpet, saxophone, keyboard, and guitar, and taking cross-country road trips with his African grey parrot, Bibi.

    Browse publications by this author

Latest Reviews

(2 reviews total)
Good content, and helped fill in the missing gaps.
Me parece que al libro la falta mucho que explicar. Es muy poca información como para trabajar con Odoo.

Recommended For You

Odoo 12 Development Cookbook - Third Edition

Build customized solutions for your business using the latest features of Odoo 12 and Python

By Alexandre Fayolle and 3 more
Python Machine Learning - Third Edition

Applied machine learning with a solid foundation in theory. Revised and expanded for TensorFlow 2, GANs, and reinforcement learning.

By Sebastian Raschka and 1 more
Mastering PostgreSQL 12 - Third Edition

Master PostgreSQL 12 features such as advanced indexing, high availability, monitoring, and much more to efficiently manage and maintain your database

By Hans-Jürgen Schönig
Advanced Deep Learning with Python

Gain expertise in advanced deep learning domains such as neural networks, meta-learning, graph neural networks, and memory augmented neural networks using the Python ecosystem

By Ivan Vasilev