Find Interview Questions for Top Companies
Ques:- What is the difference between server actions and automated actions?
Asked In :- odoo,
Right Answer:

Server actions are backend operations triggered manually or by code—like running Python scripts, updating records, or calling methods.

Automated actions are rule-based triggers that run automatically when certain conditions are met—like sending an email when a record is created or updated.

🧠 In short:
- Server actions = manual or script-based
- Automated actions = automatic rule-based triggers

Ques:- What is Odoo and what are its key features?
Asked In :- odoo,
Right Answer:

Odoo is an open-source ERP platform that helps businesses manage operations in one system.

Key features include:

  • CRM and Sales Management

  • Accounting and Invoicing

  • Inventory and Warehouse

  • HR and Payroll

  • Website and eCommerce

  • Project and Task Tracking

  • Manufacturing (MRP)

  • Marketing Automation

Ques:- What is the purpose of QWeb in Odoo?
Asked In :- Emipro Technologies, odoo,
Right Answer:

QWeb is Odoo’s XML-based templating engine. It’s mainly used to design reports, website pages, and dynamic UI elements. It lets you insert Python data into HTML/XML and control how content is displayed in things like PDF reports, invoices, or website views.

Ques:- Explain the architecture of Odoo
Asked In :-
Right Answer:

Odoo has a modular and layered architecture made up of the following components:

1. 🧠 Core (Framework):

  • Built in Python using the Odoo ORM

  • Handles business logic and data models

2. 🗃️ Database Layer:

  • Uses PostgreSQL to store all records, users, and configurations

3. 🧩 Modules:

  • Each app (like CRM, Sales, Inventory) is a module

  • Modules can be installed, upgraded, or customized independently

4. 🌐 Web Interface (Frontend):

  • Built with JavaScript (OWL/QWeb)

  • Renders UI and communicates with the backend via JSON-RPC or XML-RPC

5. 📡 API Layer:

  • Allows external integrations using REST, JSON-RPC, or XML-RPC

6. ⚙️ Odoo Server:

  • Runs the entire system

  • Interacts with both the database and the client/browser

📝 Summary:
Odoo is a full-stack, modular ERP built with Python (backend), PostgreSQL (database), and JavaScript (frontend), allowing easy customization and integration.

Ques:- How do you manage workflows and approvals in Odoo?
Asked In :-
Right Answer:

Odoo manages workflows using stages, rules, and automated actions. For approvals, you can enable approval settings in apps like Purchase or Leave. You can also customize approval flows using Studio or by adding custom rules and user roles in Python or XML.

Ques:- What are the main modules available in Odoo?
Asked In :-
Right Answer:

Odoo includes key modules such as:

- Sales
- CRM
- Inventory
- Accounting
- Purchase
- Manufacturing (MRP)
- Website & eCommerce
- Project
- HR (Employees, Payroll, Recruitment)
- Helpdesk
- Marketing (Email, Social, SMS)

Ques:- Explain how to integrate third-party APIs with Odoo
Asked In :- Emipro Technologies,
Right Answer:

To integrate third-party APIs with Odoo:

1. Import libraries like requests or http.client in your Python code.
2. Use Python code (in models) to send/receive API data (GET, POST, etc.).
3. Handle API authentication (token, key, OAuth).
4. Parse and use the response (e.g., save in Odoo models).
5. Optionally schedule it with cron jobs for auto-sync.

Ques:- What is the difference between Odoo Community and Enterprise editions?
Asked In :- Emipro Technologies,
Right Answer:

Odoo Community is free and open-source with basic features.
Odoo Enterprise is paid, includes everything in Community plus extra features like Studio, advanced accounting, mobile support, better UI, and official support from Odoo.

Ques:- What are the steps to upgrade a module from one version of Odoo to another?
Asked In :-
Right Answer:

Update the module’s version in manifest.py.
2. Check for deprecated APIs and replace them.
3. Update XML files (views, menus) to match new structure.
4. Migrate Python code (models, methods) as needed.
5. Test the module on the new Odoo version.
6. Fix any errors or warnings during installation.
7. Upgrade the module from the Apps menu.

Ques:- How do you create a custom module in Odoo?
Asked In :-
Right Answer:
  • Create a folder in the addons directory.

  • Add required files:
     • init.py
     • manifest.py
     • models/ and views/ folders

  • Define your model in Python using Odoo ORM.

  • Create XML views for menus and forms.

  • Update app list and install from Odoo backend.

Ques:- What is ORM in Odoo and how does it work?
Asked In :-
Right Answer:

Answer:
ORM stands for Object-Relational Mapping. In Odoo, ORM is a powerful system that lets developers interact with the database using Python code instead of writing SQL queries directly. It maps Python classes (called models) to database tables and handles all CRUD operations (Create, Read, Update, Delete) behind the scenes.

🛠 How it works:

  • Each model in Odoo (e.g., res.partner) represents a table.

  • Fields in the model represent columns.

  • When you create or update a record in Python, Odoo’s ORM automatically updates the database.

Ques:- Explain the purpose of XML in Odoo module development
Asked In :-
Right Answer:

In Odoo module development, XML is used primarily to define and configure:

  1. User Interface (Views)
    XML structures define forms, lists (tree), kanban, calendar, search, and dashboard views.

  2. Menus and Actions
    It links models to UI via menus, window actions, reports, etc.

  3. Security and Access Rights
    XML files declare access control lists (ACLs) and record rules.

  4. Data Initialization
    You can pre-load data like countries, product categories, or company details using XML.

Ques:- What is a model view controller pattern in Odoo
Asked In :-
Right Answer:
  • Model:

    • Represents the business logic and database structure.

    • Defined using Python classes (e.g., models.Model).

    • Manages data: fields, constraints, relationships.

  • View:

    • Defines how data is displayed to users.

    • Created using XML (form, tree, kanban, calendar, etc.).

  • Controller:

    • Handles user interactions and HTTP requests.

    • Mainly used in website and portal modules (http.Controller in Python).

Ques:- How do you inherit and extend existing models in Odoo
Asked In :-
Right Answer:

from odoo import models, fields

class InheritPartner(models.Model):
_inherit = ‘res.partner’

custom_field = fields.Char(string=”Custom Field”)

Ques:- What is the difference between @api.model @api.multi and @api.depends
Asked In :-
Right Answer:
  • @api.model: For methods that don’t use specific records (operate on the model).

  • @api.multi: For methods working on multiple records (deprecated in Odoo 13+).

  • @api.depends: Used on computed fields to declare dependencies.

Ques:- How do you define relationships like One2many and Many2one in Odoo
Asked In :- Emipro Technologies, odoo,
Right Answer:

In Odoo, you define relationships between models using special field types in Python:

1. 🔁 Many2one – many records relate to one:

partner_id = fields.Many2one('res.partner', string="Customer")

2. 🔄 One2many – one record links to many (used with inverse Many2one):

order_line_ids = fields.One2many('sale.order.line', 'order_id', string="Order Lines")

3. 🔗 Many2many – many records link to many:

tag_ids = fields.Many2many('crm.tag', string="Tags")
Ques:- How do you create and use views like tree form kanban and calendar
Asked In :-
Right Answer:

In Odoo, views define how data is displayed. Common types:

1. 🔢 Tree View – shows records in a table format.
2. 📝 Form View – shows one record in detail.
3. 📌 Kanban View – shows cards for records, used in CRM/projects.
4. 📅 Calendar View – shows records by date (e.g., events/tasks).

Ques:- What are security rules and access control in Odoo?
Asked In :-
Right Answer:

Security rules and access control in Odoo manage who can view, create, update, or delete data.

They include:

  1. Access Control Lists (ACLs)
     – Define model-level permissions (read, write, create, delete)
     – Set per user group (e.g., Manager, User)

  2. Record Rules
     – Define access at the record level using domain filters
     – Example: a user can only see their own records

Ques:- How can you import and export data in Odoo?
Asked In :-
Right Answer:

You can import and export data in Odoo using the built-in tools:

🔹 Import:

  • Go to any list view (e.g., Customers)

  • Click the ⚙️ gear icon → Import

  • Upload a CSV or Excel file matching Odoo’s fields

  • Preview and validate before importing

🔹 Export:

  • Select records → Action → Export

  • Choose fields to export and format (CSV or Excel)

  • Use “Export All” for templates or backups

Ques:- How do you debug a module in Odoo?
Asked In :- Emipro Technologies, odoo,
Right Answer:

To debug a module in Odoo:

1. Enable developer mode in the UI.
2. Use logging (e.g., _logger.info()) in your Python code.
3. Check logs in the terminal or Odoo log file.
4. Use pdb (Python debugger) to pause and inspect code.
5. Inspect XML views or JS console for frontend issues.



AmbitionBox Logo

What makes Takluu valuable for interview preparation?

1 Lakh+
Companies
6 Lakh+
Interview Questions
50K+
Job Profiles
20K+
Users