Dedicated Odoo Programmer Answering FAQ about Odoo

Mobilunity has a great chance to interview one of its dedicated Odoo ERP programmer with more than 10 years of experience in the web development sphere. We have gathered all the interesting and useful Odoo developer interview questions on the web and asked our professional. Let’s see what he has to tell us.

Q#1 What’s the Best Odoo or ERPNext?

Anar odoo developerReading forums you will notice one repeating argument of ERPNext followers and ERP specialist regarding ERPNext: “it works out of the box”. First of all, such complex systems never work “out of the box”. You always have some initial setup based on taxes, laws and accounting of country and business area. Odoo itself in early versions when it was “TinyERP” was indeed working “out of the box”. But the day has come when every ERP expert made a hard decision accepting that serious business means serious system. And starting from OpenERP it required initial setup and configurations. You will face the problems of configuration either at start or at moment when you install important modules (accounting, salary, manufacturing).

In functionality Odoo has at least one big advantage over ERPNext – automation. Cron tasks and automated actions let you fully automatize all processes in your business.

Other important thing is a possibility of adding new functionalities. Odoo developed its own inheritance system for easy expanding of present object. Inheritance in ERPNext is more Python-based. That’s why hiring an Odoo ERP programmer will be more expensive.

Q#2 What Is the Best Thing About Odoo?

  • Anar odoo developerSimplicity. Odoo development is very simple. Its ideology is “Only what we need.” There are no huge forms with hundreds of fields, selections and tables. But it gives you everything you need.
  • Flexibility. This one is opposite to previous. If you really need, you can have a form with hundreds of fields. Every request from a user can be implemented. But along with guidelines this also will be done with maximum possible simplicity. Odoo will never overload any ERP business analyst with too much information.
  • Customization. The development via Python is fast, simple and funny. And an Odoo ERP specialist is not getting tired when working on it. All needed actions, calculations, procedures can be implemented when a client wants. But Odoo features always will leave enough freedom for ERP programmer to make its own set up. Many of modules follow this rule. Sometimes this even creates trouble. For example, imagine the situation: user needs to edit many records setting equal values to one of fields. Usually software gives you 2 ways. Firstly, it is a hard code “mass edit procedure” and usage of it, but call for an ERP expert if the fields list has changed. Secondly, you will have the list of all the fields your working on and which model has. And there could be tons of lines to search for proper fields. Odoo uses way of customization: after installing module “Mass edit” you will have the configuration menu where you can configure which fields in which modules users can set or clear by mass editing.
  • Comfort. Easy to learn, easy to admin, easy to work with.

Q#3 How Secure Are Online Open ERP Systems Like Odoo?

Anar odoo developerOdoo supports all security technologies. The best practice is to run Odoo behind web server like nginx and use SSL. Working with Odoo you will have several layers of security and access. The client’s data can’t be shared because it is stored in a dedicated database. Odoo technology staff doesn’t have access to your password, therefore it is not possible to change it for you, you are the only one who knows it and can reset in case you lose it. HTTPS protocol always helps to transmit login credentials in a secure way. This access improves security and efficiency: they can solve any issue you are facing instantly at any time without your password, and ERP app developers manage staff actions separately! The Helpdesk staff desires to keep your privacy.

Q#4 Is It Possible to Setup Odoo Solutions without Having Python Knowledge?

Anar odoo developerIn windows you can easily install it using the installation tool. For Linux there are several full step-by-step instructions. There is no Python knowledge needed to configure network access to your Odoo instance. But you will be able to use only standard functionality and any kind of modifications will be impossible without programming skills. In reality, each client has its own needs which must be implemented and each database becomes a separate Odoo-project. Also, note that Odoo solutions are not written in a clear Python. 20-40% of the code is JavaScript which runs on the client side and XML files for templates parsing. There are many business solutions using Python (ERPNext, Django, web2py) we can call them Python-ERP. They have many similarities in architecture and standards. So you don’t need programming skills for installing and using Odoo, but these skills are necessary when you need to extend the functionality.

Q#5 What Is the Easiest Way to Customize an Invoice Layout Using Odoo?

Anar odoo developerAll print forms are stored as HTML templates. You can access to them using Odoo (Technica /User Interface/Views) and edit as you want. So you just need to find template used for invoice (it is report_invoice_document) and edit it. But it is not a right way if we develop a big project. There can be modules which extend this view. The right way is to create your own view where you inherit the old view and apply your changes to it.

Q#6 Is Odoo Working on Machine Learning, Data Science, and Artificial Intelligence?

Anar odoo developerI don’t think this is what Odoo was created for. If some companies have projects to develop these technologies, they can use Odoo for accounting and project management. Of course, Odoo, as well as any ERP CRM system, can use some algorithms for reporting and business analytics. That’s why there are so many ERP business analyst. But the system should be precisely checked and good proven. Of course, today we have a very strong trend focused on this technologies. Therefore, we have many startups which could be described a “X and machine learning” or “X and data science” and we can expect soon appearing of “Odoo and machine learning and/or data science”.

Q#7 Does Odoo Support More Than One Language?

Anar odoo developerPython itself has a great translation framework which is used in many web development frameworks. It named “_” (yes, it is just an underline). It can be used in Django, Web2py, Odoo and many other Python backends. So, how it works? Before translatable term (it could be a message string, field name, text constant, or even HTML document) you just put this symbol. And it will be stored in database as translatable term. Also you have a list of installed languages between which you can switch. Then, you can either generate and export .pot file or enter translations manually in database. Pot file is a well-known format for internationalization. It stores all translatable terms and you have a bunch of software where you can load this pot file and create .po file for each desired language.

Q#8 Does Odoo Support Integration/Connectivity with Other Systems?

Anar odoo developerYes, Odoo supports it in many ways. You can use Odoo connector module, one of many modules done using this connector (Asterisk-Telephony, Magento-connector) or write your own. You have API for XML exchange, Odoo-rpc interface for remote calling and retrieving data etc. You can build your own system using Odoo OpenERP only for business logic calls.

All of this can be used by ERP app developers in connection with Odoo automation. For example, in one of my projects I created an Odoo integration with mailing service using queue job for delaying document sending to night and cron tasks which had been creating and sending PDF files.

Q#9 How Complicated Is Odoo Development Under Windows?

Anar odoo developerSimilar to Linux. Python is a cross platform technology. If you have PyCharm or LiClipse and properly configured PostgreSQL server you shouldn’t face any problem developing and debugging Odoo. The only problem ERP programmer could have is that Odoo open source ERP requires the specific versions of some specific libraries.

For example, I had an issues with libraries lxml, xlrd, pillow and several others. Usually this issues were solved by installing Python unofficial binary releases. Also, there could be a different behavior in some minor functions. Important: when you have several addon folders you should modify parser command when running Odoo development from source code.

Q#10 Is It Possible to Migrate from One Odoo Version to Another?

Anar odoo developerWith each new version Odoo app developers get the migrations guidelines. Internal architecture and fields set are often changed from version to version, and, obviously, migration is a very complex task. But not that hard and long. Migration from version 6, 7, 8 is harder because of strong changes in API and change of a structure. In the 9th Odoo version it is divided to Community and Enterprise and many important modules become paid and inaccessible for free. Also the structure has changed a lot. And modules are totally incompatible. In this situation data must be remastered before migrating to a new version.

Q#11 What Are Odoo Controllers and Their Uses?

Anar odoo developerOdoo controllers are the handlers of client browser requests. These are very useful and helpful for every ERP business analyst. When you enter the address or push the button at form or hovering mouse on some element, JavaScript asset in your browser creates request and send it. Odoo reads request and searches proper controller to handle it.

Controllers can return full webpage or just JSON file with data.

Controllers are easily inherited so they can be modified for your needs.

Q#12 How Is It Possible to Change Odoo UI?

Anar odoo developerYou can define your own views, you can edit layout of your website to change your Odoo UI. You can extend web modules to change anything you want in Odoo. You can install predesigned themes from Odoo app store.

For example, community version of Odoo has a weird design of application navigation panel. I always install web-responsive module to make the interface more friendly.

In standard UI you are free to design elements as you wish. Color, size, place, custom widgets, everything you want can be added or changed following your desires.

Q#13 What Is One2many and Many2many Fields in Odoo and Its Uses?

Anar odoo developerMany2many is one of the relation types in the databases. There are 3 types: One2many – each class has a teacher; Many2one – each class has a list of students, but students can’t be in more than one class. And two sided relation: Many2many. All students have a list of exams to pass, and exams are not enclosed to one student.

In Odoo there are several widgets for this fields. It could be simple table (tree) used by default, or you can use custom widgets: tags, checkboxes, canban, or even design your own or use from community module (for example web_m2x_options module).

Q#14 Is It Possible to Develop a University ERP System in Odoo?

Anar odoo developerVery funny question because in the tutorial of module development we develop simple course management. However, there is complex application consisting of several modules for education which even includes library and laboratory management in Odoo ERP System.

Of course, this only handles a specific educational domain. University is full enterprise which has its own accounting, inventory, purchases, employees, etc. And there is a software Odoo has already developed for all these domains.

Final Word from Mobilunity

We at Mobilunity hope that these questions for Odoo Python developer will get in handy for you whether you are an Odoo website developer yourself or looking for an Odoo specialist. In any case, we hope this interview was the pleasure to read. If you have more questions regarding Odoo and its development processes, let us know filling the contact us form and we will answer you as soon as possible,

Having concerns with Odoo? Contact us and we will help you out!

Contact us
Go Up