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
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.
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.
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.
Odoo is designed to run on a variety of modern web browsers. Supported browsers include the following:
- Google Chrome (recommended)
- Internet Explorer
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 online trial version of Odoo Online could not be simpler. Just open up your browser and navigate to https://www.odoo.com/trial.
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:
- Click the radio button for CRM.
- Now, click Configure, and you will be taken to a simple sign-up page.
- 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.
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.
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.
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.
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.
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.
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/.
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/.
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.
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.
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.
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.
In this section, we will discuss some of the advantages and disadvantages of choosing Ubuntu or Windows for your first 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.
If you are familiar with Windows and have no Ubuntu experience, you might get going a little faster by sticking with a Windows installation for your first setup. Downloading and installing modules and making changes to configuration files will be much easier if you are familiar with the OS.
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/.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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:
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.
Point your browser to http://localhost:8069 and you should see the Odoo database creation page appear.
As far as ERP installations go, Odoo is typically very easy to install. Unfortunately, it is possible for an installation to fail for a variety of reasons. In this next section, we will discuss some of the most common installation issues and provide some troubleshooting tips for diagnosing problems with an Odoo installation.
If you have followed the default installation, then your Odoo installation should be accessing Odoo at http://localhost:8069.
Make sure the URL is exactly as you see it here. If you changed the port number during installation, make sure you change the port in the URL.
If you are unable to pull up Odoo in the browser and instead see the error message ERR_CONNECTION_REFUSED or localhost refused to connect, it might be good to verify that the Odoo service is running.
Pull up the task manager and go to the Services tab, then look for odoo-server-12.0. The status should be Running, as shown in the following screenshot:
This screenshot shows an example of the odoo-server-12.0 service successfully running on Windows.
Additional Odoo troubleshooting steps for Windows can be found at https://doc.Odoo.com/install/windows/server/complementary_install_information/.
In Ubuntu, you can locate the Odoo service by running the following command in a Terminal window:
ps aux | grep Odoo
You will then see the Odoo service listed if it is running:
Now, let's move on to the next section.
When managing an Odoo server, one of the most common tasks you will find yourself performing is starting and stopping the Odoo service. Odoo allows you to start and stop the service with a command switch.
To start the service, use the following command:
sudo /etc/init.d/odoo start
To stop the service, use the following command:
sudo /etc/init.d/odoo stop
Odoo writes many messages, warnings, and error messages to a log. Often, when troubleshooting problems, this log file is valuable in determining what action you should take. In a default installation, the log file is located at /var/log/odoo/odoo-server.log.
The log is especially valuable for locating problems you may have when installing new modules.
The Odoo framework allows you to specify a configuration file for your installation. By default, this file is located at /etc/odoo/odoo.conf.
Using this file, you can change many of the attributes of Odoo.
By default, Odoo runs on port 8069. For many installations, the default port will work fine. There are situations, however, when it can be useful to change this default port. One common scenario would be the need to run more than one version of Odoo. Multiple installations cannot run on port 8069, so you will need to modify the port on all installations following the first one. Sometimes, there are security reasons behind changing ports, as many hackers are aware of the default ports people use.
Fortunately, changing the default port number is easy.
Simply specify the following:
For example, Port=8059 will change the default port for the web client to port 8059.
Odoo offers database management tools that can be accessed easily through your web browser. This makes it easy to create, backup, and even delete databases, all through a web interface. While there are sometimes links available on the login page that will take you to these tools, it is possible that, when installing some applications, such as the website builder, you will not find a link easily.
To access the database management tools, use the following path:
As mentioned earlier, by default, Odoo sets the password for its operations to admin. To secure your server, it is necessary to change this password in your configuration file:
Also, be careful not to start up your Odoo server from the command line without specifying an alternative password or the path to the configuration file. If you do, you leave the instance open with the default password.
Installing and configuring Odoo can quickly become a very complex task that is outside the scope of this book. In the Appendix A, Locating Additional Odoo Resources, of this book, you will find links to additional resources that can assist you with installing Odoo.
In this chapter, we saw how easy it was to get started using Odoo Online. We discussed how to set up a trial company, and the basics for creating a database and installing your first module. If you choose not to use the online services, you likely found the topics on installing Odoo on Windows or Ubuntu helpful. Finally, we discussed various methods of troubleshooting and configuring Odoo.
In the next chapter, we will begin to jump into our first real business applications in Odoo. You will get introduced to our real-world case study and set up the basic configuration for the company. We will walk you through setting up your first product and, finally, creating and printing your first sales order.