Developing a module from Claude
The draft, sandbox, Git repository, production cycle: what Aidoo Modules allows, and why going live stays a human decision.
4 min. leestijdBijgewerkt op 7 augustus 2026
Deze pagina is nog niet vertaald naar uw taal en wordt weergegeven in het Engels.
When Odoo does not do exactly what you need, the answer is a module. Building one usually requires a Python environment, a test instance, and somebody who knows the Odoo framework.
Aidoo Modules replaces that chain with a conversation: you describe the need, Claude writes the module, Aidoo deploys it to a disposable Odoo instance so you can test it for real, then pushes it to your Git repository.
A separate connector
Aidoo Modules uses its own MCP connector and its own key family, distinct from Aidoo AI's. Your Odoo data and your module code never cross paths.
Where to find modules
Module projects live in the Modules space of the dashboard: switch with the selector at the top of the sidebar.
The life cycle
A module project moves through four states, in this order:
| State | Meaning |
|---|---|
| Draft | The code is being written |
| Sandbox-tested | The module installed on a disposable instance |
| Awaiting approval | Ready for production, a human must sign off |
| Deployed to production | Installed on your real Odoo |
Any change drops back to draft
Writing to a file automatically returns the project to draft. A fresh sandbox test is then mandatory before any deployment. There is no way to skip that step.
What the sandbox does
A sandbox is a complete, ephemeral Odoo instance, provisioned on demand, with the same version and edition as your production Odoo. Aidoo installs your module there and gives you a URL.
You click through the screens, test your real cases, and see what the module actually does. If something is wrong, you tell Claude, it fixes it, it redeploys.
The sandbox is a throwaway instance: it lives for 72 hours by default, renewed on every deploy of the module, and each redeploy rebuilds it from scratch. Your production data is never copied into it: it runs on a demo database.
What Claude knows about your Odoo
Before writing a line, Claude reads the real structure of your database: existing models, their fields, their types, their relations. It does not invent a field name, it reads yours.
This introspection covers structure only. No business data is read, transmitted, or copied into the sandbox.
Your Odoo edition and version are detected automatically from your connection: you do not choose them, and the generated module targets the right environment from the start.
What it makes possible, concretely
- adding fields and screens to an existing model
- creating a business model specific to your activity
- automating a process that does not exist in stock Odoo
- producing a bespoke PDF report
- adapting an Odoo flow to your organisation
I need a "site code" field on sales orders, mandatory, visible in the list view and filterable, along with a monthly report of revenue by site.
The limits
| Constraint | Value |
|---|---|
| Files per module | 200 |
| Size of one file | 512 KB |
| Total size of a module | 5 MB |
| Concurrent sandboxes | 1 on trial, 3 on the Standard plan |
| Module projects | 3 on trial, unlimited on the Standard plan |
| Sandbox lifetime | 72 hours by default, renewed on every deploy |
Each sandbox deployment costs 25 credits, drawn from the same pool as agents. The trial is exempt.
Production stays a human decision
Claude cannot deploy to production. It can prepare the module, test it, push it to your Git repository and mark it ready. Installing on your real Odoo requires explicit approval, by a person, from the Aidoo interface. Production deployment is not available during the free trial.
What it does not replace
Aidoo Modules produces genuine Odoo code, versioned in your repository: you own it, and a developer can pick it up at any time.
That said, a module touching accounting, payroll or regulatory calculations deserves a review by someone who knows the domain. The tool speeds up the writing and removes the environment setup; it does not replace judgement about what is right for your business.
Next step
- Creating a module: from stated need to tested module
- GitHub and going live: versioning and deploying