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?
Reading 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 the start or at the 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.
Another important thing is the possibility of adding new functionalities. Odoo developed its own inheritance system for the easy expansion of the 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?
- Simplicity. 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 the previous one. If you really need it, 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 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 the 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?
Odoo 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?
Q#5 What Is the Easiest Way to Customize an Invoice Layout Using Odoo?
All 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 the right way if we develop a big project. There can be modules that 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?
I 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 is so many ERP business analyst. But the system should be precisely checked and well-proven. Of course, today we have a very strong trend focused on these technologies. Therefore, we have many startups that 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?
Python itself has a great translation framework that 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 the database as a 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?
Yes, 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 tonight and cron tasks that had been creating and sending PDF files.
Q#9 How Complicated Is Odoo Development Under Windows?
Similar 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 issues with libraries lxml, xlrd, pillow and several others. Usually, these 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?
With each new version, Odoo app developers get the migration 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 into 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?
Controllers can return a 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?
You 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?
Many2many 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 these 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?
Very 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 that 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,