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
- Right-click on your target folder in the VS Code project explorer
- Navigate to Create Odoo Module in the context menu
- Select the desired module template
- Enter the name of your new module and press Enter

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
- Learn about File Creation for adding new files to your module
- Explore Code Snippets for quick code generation
- Check out Best Practices for module development