e-Zest members share technology ideas to foster digital transformation.

Odoo: Beyond Traditional ERP

Written by Vaibhav Bagal | Feb 2, 2015 7:35:42 PM

Formerly known as OpenERP, Odoo is a web application which focuses on ERP Business Logic and stores data through a user friendly GUI.

Why is it named Odoo and not something else?

Odoo developers and research teams have proven that success of a startup is directly related to the number of Os in its name – think about companies the Facebook, Google, Yahoo! etc. The name Odoo can be easily pronounced in any language. It doesn't have a meaning in any language.

Moreover, from the developer’s perspective, writing ./odoo is a much easier than ./openerp-server. The color purple in the logo symbolizes innovation and creativity.

Odoo Architecture:

Odoo is designed or implemented as a web application and uses a service-oriented Architecture.

Odoo has three basic pillars:

1. Web Server (Odoo Server):

The Odoo server and related business logic are written in the Python programming language.

2. Web Client :

The web client is written in JavaScript and developed with help of XML files.

3. Module Development :

Odoo has a modular structure and module development mainly relies around editing Python and XML files.

In case of some application logic, we can have workflows and different data structures and the same can be changed through the client interface using developer mode.

Important Features:

There are lots of features that everyone would love to use. Some of them are listed below:

  1. Email integration
  2. Payment gateway – (Default available is PayPal)
  3. Social networking website integration
  4. sending text Message
  5. Notifications
  6. Manage user roles and access rights are default available.
  7. Integration of BI Report Tools - Jasper Reports, Pentaho, Report Labs etc.

Any kind of user (technical/non-technical) can easily use these basic functionalities and more features by following these configuration steps:

Odoo Modules:

To make any application user friendly from the end user (customer) perspective (who may even be non-technical), all business features need to be organized into small modules or in a modular structure which plays a vital role in the application performance.

This modular structure helps developers in the agile development of the application. It has the same modular structure.

Odoo modules are folders with a pre-defined structure which contain Python Code and XML files. Each module defines a different data structure, business logic, different forms, reports, menus and work-flows. It also contains web components written in JavaScript and jQuery.

You can download Odoo from the following URL:

https://www.odoo.com/page/download

GitHub Access:

You can also access Odoo repository from GitHub and download quite easily.

https://github.com/odoo/odoo

Example:

In the directory: odoo/addons/ ->, you will find the list of all available (official) modules.

If you want to create a new module, just observe file structures and create new modules as per your requirements.

For new modules, developers need to create Directory/ File Folder inside addons.

Odoo Module/File Structure :

addons/<your module name>

Add the basic file below to create a simple module.

1. __init__.py

Need to add per directory.

This file contains initialization of Python files containing current directory.

2. __openerp__.py

This is a unique file in every module. This important file contains all information about the current module and along with declaration of different .xml, .js, .css, images and the icon path which the user will use in the application. It also consists of some configurations such as auto installation of module, declaration for dependent utilities, among others.

3. <file_name>.py

We can have multiple .py files as per requirements.

These files contain Python logic code and business objects.

4. <file_name>.xml

We can have multiple .xml files as per requirements and views.

These files are used to demonstrate data and show different views.

Reference link for more details: https://doc.odoo.com/trunk/server/03_module_dev_01/

The Odoo-ERP has around 260 core or default modules (which are also called official modules) and around 4000 community modules are easily available that can be downloaded from Odoo website easily.

Comparison with SAP-ERP:

SAP-ERP is a well known business suite already available in the market. Then why is Odoo gaining in popularity? Let’s compare the two.

Odoo and SAP are built for different types of customers. SAP is for large companies while Odoo is ideal for SMEs (Small and Medium-sized Enterprises).

Backward compatibility:

This is the only area where SAP is more proficient and Odoo does not match up, especially for bigger companies. SAP products are maintained and developed with backward compatibility. SAP-ERP has been in the market for more than 12 years and works precisely with the newer versions.

This is not the case with available Odoo versions. Every new version or release takes migration of the code and data which increases the complexity for existing Odoo Customers. This affects the cost of migration which includes the consulting price as well as the effort from business employees who will be involved in the testing of system.

Pricing:

As far as the prices are concerned, Odoo provides much cheaper options than SAP-ERP.

For a detailed comparison, refer to:

http://sapficonsultant.com/odoo-openerp-vs-sap/

Below is the list of available Modules which are frequently used:

- Sales Management

- Purchase Management

- Customer Relationship Management

- Project Management

Warehouse Management

- Accounting & Finance

  • Asset Management

- E-commerce

- Point of Sale

- Social Network

- Human Resource Management

  • Employee Directory
  • Event Manageme
  • Employee Appraisals
  • Recruitment Process
  • Payroll Management

- Knowledge and Document Management

- Portal

- Address Book

Technical Details:

Database:

PostgreSQL.

It is the menial of Odoo as it scales very well.

List of Programming Languages used in Development:

Python, JavaScript, jQuery, XML.

Operating systems for Development:

Linux/Ubuntu (recommended), Windows, Mac OS X

License:

AGPL - Affero General Public License

Official Website: www.odoo.com

Wiki Reference URL: http://en.wikipedia.org/wiki/Odoo

Version Release History:

Name Versions Available Launch
Tiny ERP 1.0, 2.0, 3.0, 4.0 2005
OpenERP 4.2, 5.0, 6.0,6.1 2008
OpenERP 7.0 2012
Odoo (Current) 8.0 2014

Note: Odoo supports CMS: Website Builder, e-commerce, point of sale and business intelligence modules .

You can try a demo version of Odoo:

Use the steps mentioned below:

  • Create Database :

You need to give a database name such as Ezest_demo1

  • Use the following credentials for login :

Email Address (as username): odoodemooe@gmail.com

Password: demo@123

  • Once you enter into the system, you need to install different Modules as per requirements. For e.g. If you want the HRM process, install Human Resource Modules.

(Photo: Odoo.com)