Skip to content

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 VS Code project explorer
  2. Navigate to Create Odoo Module in the context menu
  3. Select the desired module template
  4. Enter the name of your new module and press Enter
Module Creation Video Using Assista

Available Templates

Basic Odoo Module

A minimal module with essential files:

  • __init__.py and __manifest__.py
  • Simple example model
  • Basic CRUD methods
  • Form and List views
  • Minimal security
  • Standard folder layout

Ideal for:

  • Prototypes
  • Learning
  • Simple modules

Expected Structure

assista_basic_module
    ├── __init__.py
    ├── __manifest__.py
    ├── models
    │   ├── assista_basic_module.py
    │   └── __init__.py
    ├── security
    │   └── ir.model.access.csv
    └── views
        └── assista_basic_module_views.xml

Advanced Odoo Module

A comprehensive module with:

  • Complex models (multiple field types, mixins)
  • Diverse views (form, list, kanban, calendar)
  • Advanced XML templates
  • Enhanced security (groups, record rules)
  • Demo data
  • Scheduled actions
  • Website/static asset support
  • Full documentation

Suitable for:

  • Production modules
  • Team projects

Expected Structure

assista_advanced_module
    ├── data
    │   ├── ir_cron_data.xml
    │   └── ir_sequence_data.xml
    ├── demo
    │   └── assista_advanced_module_data.xml
    ├── __init__.py
    ├── __manifest__.py
    ├── models
    │   ├── assista_advanced_module.py
    │   └── __init__.py
    ├── security
    │   └── ir.model.access.csv
    └── views
        └── assista_advanced_module_views.xml

OWL Basic Module

A minimal OWL (Odoo Web Library) module with:

  • Example JS/TS components
  • Templates
  • Manifest entries for JS/CSS loading
  • QWeb integration

Great for:

  • Simple widgets
  • Buttons
  • UI enhancements

Expected Structure

assista_owl_basic
    ├── __init__.py
    ├── __manifest__.py
    ├── models
    │   ├── assista_owl_basic.py
    │   └── __init__.py
    ├── security
    │   └── ir.model.access.csv
    ├── static
    │   └── src
    │       ├── js
    │       │   └── client_action.js
    │       └── xml
    │           └── client_action.xml
    └── views
        └── assista_owl_basic_views.xml

OWL Advanced Module

A rich OWL module scaffold featuring:

  • Multiple components
  • Parent-child relationships
  • State management
  • Advanced asset bundles
  • Backend controllers
  • QWeb templates
  • Demo UI data
  • Documentation

Ideal for:

  • Interactive dashboards
  • Client features

Expected Structure

assista_owl_advanced
    ├── controllers
    │   ├── __init__.py
    │   └── main.py
    ├── data
    │   ├── ir_cron_data.xml
    │   └── ir_sequence_data.xml
    ├── demo
    │   └── assista_owl_advanced_data.xml
    ├── __init__.py
    ├── __manifest__.py
    ├── models
    │   ├── assista_owl_advanced.py
    │   └── __init__.py
    ├── security
    │   └── ir.model.access.csv
    ├── static
    │   └── src
    │       ├── js
    │       │   └── client_action.js
    │       └── xml
    │           └── client_action.xml
    └── views
        └── assista_owl_advanced_views.xml

Systray Module

Adds custom icons and menus to the Odoo web client's systray:

  • OWL/JS systray components
  • QWeb templates
  • Manifest setup
  • Backend controllers
  • Lightweight model/controller logic

Useful for:

  • Notifications
  • Quick actions
  • Systray utilities

Expected Structure

assista_systray
    ├── __init__.py
    ├── __manifest__.py
    └── static
        └── src
            ├── js
            │   └── systray.js
            └── xml
                └── systray_templates.xml

Theme Module

A website theme scaffold with:

  • QWeb templates
  • CSS, JS, images, and fonts folders
  • Asset bundles
  • Sample snippets
  • Optional demo data

Perfect for:

  • Reusable website themes
  • Design components

Expected Structure

assista_theme
    ├── __init__.py
    ├── __manifest__.py
    └── views
        ├── footer_template_views.xml
        ├── header_template_views.xml
        └── layout_template_views.xml

Next Steps