Skip to content

Usage Guide

Welcome to the cybrosys assista odoo helper usage guide for PyCharm. This document walks you through the core features that streamline your Odoo development workflow: module generation, file creation, and code inspection.


1. Module Template Generator

The Module Template Generator automates the creation of new Odoo modules by generating a complete, ready-to-use module structure. It sets up the base directory with all necessary subfolders and files such as models, views, security configurations, and initialization scripts.

How to Use

  1. Right-click on your target folder in the PyCharm project explorer.
  2. Navigate to Odoo Module Templates in the context menu.
  3. Select the desired module template:
    • Basic Odoo Module
    • Advanced Odoo Module
    • OWL Basic Module
    • OWL Advanced Module
    • Theme Module
    • Systray Module
  4. Enter the name of your new module and press Enter.

module_creator_menu


What Gets Generated

  • Standard Odoo folder structure
  • Models, views, security, and data files
  • __init__.py and __manifest__.py
  • Sample code for rapid prototyping
Module TypeDescription
Basic Odoo ModuleMinimal module with essential files (__init__.py, __manifest__.py), simple example model, basic CRUD methods, form and tree views, minimal security, and standard folder layout. Ideal for prototypes, learning, or simple modules.
Advanced Odoo ModuleComprehensive module with complex models (multiple field types, mixins), diverse views (form, tree, kanban, calendar), advanced XML templates, enhanced security (groups, record rules), demo data, scheduled actions, website/static asset support, and full documentation. Suitable for production and team projects.
Theme ModuleWebsite theme scaffold with QWeb templates, folders for CSS, JS, images, fonts, and asset bundles. Includes sample snippets and optional demo data. Perfect for reusable website themes and design components.
OWL Basic ModuleMinimal OWL (Odoo Web Library) module with example JS/TS components, templates, manifest entries for JS/CSS loading, and QWeb integration. Great for simple widgets, buttons, and UI enhancements.
OWL Advanced ModuleRich OWL module scaffold featuring multiple components, parent-child relationships, state management, advanced asset bundles, backend controllers, QWeb templates, demo UI data, and documentation. Ideal for interactive dashboards and client features.
Systray ModuleAdds custom icons and menus to the Odoo web client's systray (top-right bar). Includes example OWL/JS systray components, QWeb templates, manifest setup, backend controllers, and lightweight model/controller logic. Useful for notifications, quick actions, and systray utilities.

Using the Module Template Generator


2. Odoo File Creator

Manually creating files and boilerplate code slows down development. The Odoo File Creator lets you instantly generate specific Odoo files—Python, XML, and CSV—with pre-filled, context-aware templates tailored for Odoo modules.

How to Use

  1. Right-click on the folder where you want the new file.
  2. Select New → New Odoo File.
  3. Choose the file type: Python, XML, or CSV.
  4. Select the desired content template (e.g., Model, Controller, Report XML).
  5. Name the file and press Enter.

file_creator_menu


Supported File Types & Templates

Python Files

Need assistance or have feedback? Reach out

TemplateDescription
__init__.pyBasic initialization file with encoding and import placeholders to set up the module structure.
__manifest__.pyReady-to-edit manifest file with standard metadata such as name, version, category, and dependencies.
Odoo ModelModel definition file with required imports, a sample model class, fields, and a basic create method example.
Odoo ControllerController file including imports, a controller class, and a sample @http.route method for web or API endpoints.

XML Files

TemplateDescription
Empty XMLBlank XML file for any custom configurations or advanced use cases.
Basic View XMLMinimal form or tree view definition for models.
Advanced View XMLComplex views featuring groups, notebooks, statusbars for richer UI layouts.
Inherited View XMLTemplate to extend existing views safely using <xpath>.
Report XMLPrintable report templates and actions for PDF/HTML output.
Menu XMLMenu items and navigation hierarchy definitions.
Action XMLir.actions.act_window records to link menus with views.
Settings XMLCustom settings templates for Odoo config panels.
Cron Job XMLScheduled actions for recurring background jobs.
Security XMLAccess control lists and group definitions.

CSV Files

TemplateDescription
Security FileCSV defining access control rules with model names, groups, and permissions (read, write, create, delete).

file_creator


3. Odoo Code Snippet Assistant

The Odoo Code Snippet Assistant streamlines development by providing a curated collection of reusable code snippets accessible through simple keywords. It supports both Python and XML, covering common patterns such as model definitions, view templates, actions, and security rules. This feature enhances productivity, reduces boilerplate, and promotes best practices across your Odoo modules.

How to Use the Odoo Code Snippet Assistant

Writing frequent Odoo code blocks is now faster and more consistent with the help of Assista:

type odoo in either an XML or Python file, and Assista will display a list of available code snippets along with their descriptions. Select a snippet from the list or type the keyword and press Enter to automatically insert the predefined code block.

Additionally, when inserting snippets related to views, actions, menus, or security rules, the plugin intelligently detects your model context and automatically fills in model names, record IDs, and XML record structures. This ensures consistency and adherence to naming conventions across your module, reducing manual errors and saving valuable development time.

This feature allows you to scaffold commonly used Odoo constructs in seconds, reducing repetitive tasks and ensuring adherence to best practices across your module development.


code_snippet


4. Smart Suggestion Plugin for Odoo Development

Smart Suggestion is a powerful plugin designed to enhance the Odoo development experience by offering intelligent, context-aware code completions. It significantly improves productivity and reduces errors by suggesting relevant model names, field names, and class attributes based on the context in both Python and XML files.

Key Features

  • Context-aware completions for common Odoo patterns.
  • Auto-suggestions for model and field names in both Python and XML.
  • Reduces manual errors and accelerates development workflows.
  • Compatible with Odoo’s ORM, API decorators, and XML view definitions.

suggestion


Suggestion Scope

Python

The plugin provides intelligent completions in the following Python contexts:

  • Model Names in _inherit
    Suggests existing model names to extend.

  • Model Names in comodel_name (One2many/Many2one/Many2many fields)
    Currently supports positional arguments for relational fields.

  • Model Names inside env["..."]
    Autocompletes model names when accessing models through the environment.

  • inverse_name in One2many Fields
    Suggests relational fields from the comodel_name.

  • Field Names in Decorators

    • @api.depends("field1", "field2", ...)
    • @api.onchange("field1")
    • @api.constrains("field1", "field2")
  • Record Traversals
    When accessing records (e.g., record.field), first-level relational fields are suggested.


XML

The plugin supports completions in key XML use cases, such as:

  • Model Names in <record> Tags
    Auto-suggests values for the model attribute.

  • Model Names in <field> Tags
    For attributes like name and model, including usage in res_model.

  • Field Names in <field> Tags
    Suggests appropriate field names based on the model context.


Benefits

  • Streamlines Odoo development by reducing boilerplate.
  • Prevents common typos and reference errors.
  • Saves time and improves code reliability.
  • Especially useful for both new and experienced Odoo developers.

5. Odoo Standard Inspection

The plugin includes built-in inspection tools that help maintain code quality and adherence to Odoo development standards. It works across Python, XML, and CSV files to detect common mistakes and enforce best practices.

Features

  • Inspects model definitions, field declarations, and API decorators.
  • Checks XML <record> and <view> structures.
  • Highlights issues inline with error messages and suggestions.

standard


For additional help, visit our Troubleshooting page or contact our support team.