Odoo is a powerful set of open source business applications built on the OpenObject framework. When you first install Odoo, the only functionality you will have is limited messaging options between users. From there, Odoo allows you to install the modules you need, as you need them. This flexibility makes Odoo much more accessible than many business software solutions.
In this chapter, we will get started working with Odoo by covering the installation and the basics of setting up an Odoo database.
The topics we will cover include:
- Exploring Odoo Online
- Setting up a trial company
- Installing Odoo on Windows and Ubuntu
- Troubleshooting and configuring your installation
While much of the process is the same as previous versions of Odoo, there have been some pricing changes in Odoo 11. No longer are there two free users and you pay for additional users. There is still one free application that you can install for an unlimited number of users, but as soon as you have more than one application, then you must pay $25 for each user, including the first.
In Odoo 11, the online installation documentation continues to improve and there are now options for Docker installations. In addition, Odoo 11 uses Python 3 instead of Python 2.7. This will not change the steps you take in installing Odoo but will change the specific libraries that will be installed.
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 varies depending on region.
Odoo Enterprise offers an alternative (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 Edition and Odoo Enterprise Edition is available in Chapter 16, Comparing Community and Enterprise Edition.
This book primarily targets the Community Edition of Odoo.
Not long ago, nearly all companies kept their primary information systems inhouse. This approach not only requires a lot of capital expense in purchasing servers and software licenses, but also creates a lot of responsibility and risk 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.
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 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 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. 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:
- Google Chrome (recommended)
- Internet Explorer
Beginning with Odoo 8, Odoo has included native support for mobile phones and tablets. This has been further improved in Odoo 10. 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 make it even easier for developers to create mobile Odoo applications.
Odoo's mobile application support covers both the Android and Apple iOS platforms. Make sure, however, that for any processes you intend to implement for your business, you test all processes thoroughly for both desktop and any mobile solutions. 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, 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 by clicking on the CRM button, which looks like the following:
Next, you will be taken to a simple sign-up page as follows:
After filling out the form, simply click Start Now.
Be patient, as it can take 30 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 lot 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 CRM in Odoo 11.
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 $25 per-month at the time of writing. Each application you use will also incur a monthly cost, which varies by application.
Below is the Odoo Online Pricing calculator for February 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.
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 operating system. For most Odoo installations, Ubuntu is the operating system of choice. However, PostgreSQL will also run quite well under other versions of Linux, Microsoft Windows, and even Mac OS 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 the major contemporary operating systems. It is an extremely popular programming language, which makes it very easy to find resources to help you get started.
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 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 operating system.
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 operating system.
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 operating system 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 operating system without a graphical interface, or as a desktop operating system with a graphical interface that closely resembles Windows.
You can learn more about the Ubuntu operating system, and why it is so popular, at http://www.ubuntu.com/.
It is generally accepted that Ubuntu is the recommended operating system 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 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 Mac.
- Ubuntu is open source: Installing Odoo on any Windows operating system is going to require a license from Microsoft. While using Odoo on your Windows PC or Mac 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.
- 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 the Mac OS. 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 for versions 9.0, 10.0, and 11.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 preceding 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 11.0. This means you should select the 11.0 (stable) version of Odoo to download. You can navigate directly to the Odoo 11.0 downloads here: http://nightly.odoo.com/11.0/nightly/.
Windows installations use the 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 latest 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 installation.
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 Windows installation.
During the install, you will be asked to provide information for the PostgreSQL connection.
It is recommended that you change the username and password for security purposes. The default username/password is shown in the preceding screenshot. 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 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 16.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:
echo "deb http://nightly.odoo.com/11.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 the necessary packages, PostgreSQL, and library dependencies required to run Odoo.
By default, the deb installation will place the source in the following 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 above. If you did change 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, it might be good to verify that the Odoo services are running.
Pull up the task manager and go to the Services tab, then look for odoo-server-11.0. The status should be running, as shown in the following screenshot:
Here is an example of the odoo-server-11.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:
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:
sudo /etc/init.d/odoo start
To stop the service, use:
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, where 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. 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, back up, 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 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.