Odoo 19 Module Development for Openclaw

An automated development skill for bootstrapping, building, and debugging Odoo 19 ERP modules from models and views to business logic and security rules.

zhaobod1
v1.0.0
May 20, 2026
0
794
0

Install & Download

1. ClawHub CLI

The fastest way to install a skill directly from the registry.

npx clawhub@latest install huo15-odoo19-module-dev

2. Manual Installation

Copy the skill folder to one of these locations

Global
~/.openclaw/skills/
Workspace
<project>/skills/

Priority: Workspace > Local > Bundled

3. Prompt Installation

Copy this prompt to OpenClaw to install it automatically.

Help me install huo15-odoo19-module-dev using Clawhub. If Clawhub is not installed, install it first (npm i -g clawhub).

Prefer to download?

Get the raw skill files in a ZIP archive.

What is Odoo 19 Module Development?

The Odoo 19 Module Development skill is a specialized automation package designed to streamline the creation and maintenance of Odoo 19 ERP applications. By leveraging Openclaw Skills, developers can rapidly scaffold module directories, define database models, construct relational structures, and design modern user interfaces including Kanban, Form, List, and Search views. This skill enforces strict development guidelines aligned with Odoo 19 specifications and containerized Docker environments.

Using this capability within the ecosystem of Openclaw Skills ensures code uniformity, automatic security configuration through ir.model.access.csv, and effortless deployment. It significantly reduces the boilerplate overhead for enterprise developers, enabling them to focus entirely on core business logic, automated server actions, and cron scheduled tasks.

Odoo 19 Module Development Use Cases

  • Bootstrapping a brand new Odoo 19 module structure with required directories, init.py files, and standard manifests.
  • Defining database models with relational fields (Many2one, One2many, Many2many), constraint validation, and stored compute fields.
  • Designing rich user interfaces by generating clean XML views, including Tree (list) views, Form layouts, Search configurations, and Kanban boards.
  • Creating access control lists (ACL) and record rules to enforce granular security policies on custom models.
  • Writing complex backend business logic, button actions, override methods (create, write, unlink), and automated cron sequences.
  • Debugging and testing modules in live Docker containers, inspecting logs, and performing force-upgrades.

How Odoo 19 Module Development Works

  1. Triggering: The user initiates a request by mentioning keywords like 'Odoo 19 module development', 'manifest.py', or 'Odoo models/views/business logic'.
  2. Structure Scaffolding: The skill generates standard-compliant Odoo 19 folder architectures, initializing mandatory init.py, model, view, controller, wizard, and static directories.
  3. Manifest and Model Definition: It designs a minimal but functional manifest.py file and populates Python model classes with necessary fields, constraints, and dependencies.
  4. UI View Assembly: XML files are compiled containing custom window actions, menus, search criteria, editable tree grids, and tabbed notebook form sheets.
  5. Security Mapping: Access rights are dynamically generated inside ir.model.access.csv alongside XML-based security record rules.
  6. Dockerized Deployment: CLI commands are executed to load, install, or force-upgrade (-u my_module) the module directly within the active Odoo Docker environment.

Odoo 19 Module Development Setup

To set up and run this Odoo 19 module development workflow using your agent, follow these steps:

  1. Navigate to your custom Odoo addons directory in your workspace:
cd ~/.openclaw/workspace/huo15-odoo19-docker/custom_src/odoo/addons
  1. Initialize your custom module workspace:
mkdir -p my_module/{models,views,security,data,controllers,wizards,static/src/js,static/src/xml}
  1. Create the Python entry points:
echo 'from . import models' > my_module/__init__.py
echo 'from . import controllers' >> my_module/__init__.py
echo 'from . import wizards' >> my_module/__init__.py
echo 'from . import models' > my_module/models/__init__.py
touch my_module/controllers/__init__.py
touch my_module/wizards/__init__.py
  1. Load and upgrade your new module on your container:
docker exec -it odoo19 odoo-bin -u my_module -d huo15 --stop-after-init
  1. Tail the container logs to debug live changes:
docker logs -f odoo19

Odoo 19 Module Development Data Schema & Taxonomy

Directory Layout and File Descriptions

The skill organizes Odoo 19 modules using a clean separation of concerns:

Directory / File Format Purpose
__init__.py Python Handles module-level imports.
__manifest__.py Python / Dict Declares metadata, authors, dependencies, and view sequences.
models/ Directory Houses Python ORM model definition files (e.g., models.py).
views/ Directory Contains layout XML definitions (forms, trees, kanbans, search grids).
security/ Directory Contains standard CSV access files (ir.model.access.csv) and row-level record_rules.xml.
data/ Directory Includes bootstrap and demo XML/CSV files loaded on installation.
wizards/ Directory Declares transient models and wizard form dialogs.
static/ Directory Web resources structured in src/js/, src/xml/, and src/css/ folders.

Minimal Manifest Schema

Every module requires a manifest dictionary (__manifest__.py) mapping these core parameters:

  • depends: List of prerequisite modules (e.g., ['base', 'mail']).
  • data: List of views, security policies, and datasets loaded into the database sequentially.
  • installable: Boolean enabling installation on the tenant.

Odoo 19 Module Development Advanced Features

  • Stored Compute & Onchange Handlers: Automatic field updates leveraging depends annotations (@api.depends) and real-time frontend recalculations (@api.onchange).
  • Automated Actions (Cron): Native setup for scheduled maintenance actions, such as automatically detecting overdue documents and executing recurring procedures.
  • Bulk Server Actions: Standardized XML blocks to define mass action buttons ('Batch Confirm', 'Batch Cancel') from list views.
  • Inheritance & Method Overriding: Fully compliant OOP structures for extending core models (_inherit = 'sale.order') and intercepting create, write, and unlink lifecycle hooks safely.
  • Row-Level Security (Record Rules): Dynamic record filtering utilizing evaluation domains linked directly to current users ([('create_uid', '=', user.id)]).

SKILL.md


Loading

Related Openclaw Skills

METADATA

Github Stars: 0
forks: 0

Featured*