Odoo AI-Built Customization Audit
We review what was built or changed in your Odoo with AI, from custom modules and Studio to automations and AI agents, for technical debt, performance, security and impact on connected processes. You learn how to develop with AI the right way.
Audit my AI-built customizationsOverride delivery validation and check for overdue invoices:
You already have this. Your custom module customer_payment_hold blocks outgoing deliveries for customers with overdue invoices and leaves quotations alone. Its rule is turned off:
When AI-built customizations become a problem
AI can write good Odoo code and build useful automations. How good the result is depends on the context and environment it works in.
Many AI-built customizations are made without either: you describe a task in a chat with ChatGPT or Claude, in Studio or to an Odoo AI agent, and AI solves it within what it can see. Each change can work on its own and still conflict with the rest of the system.
AI sees the task. To see the system around it, it needs the right context.
What AI needs to see the whole system
- Your customizations and how they depend on each other
- Odoo source code
- How Odoo is meant to be developed and tested
- An anonymized copy of your data
- A running copy of the system to test its own work
Where AI-built Odoo starts to go wrong
Six patterns we see most often in AI-built Odoo customizations.
Works for one workflow but breaks another
Everything in Odoo is connected, and AI usually sees only the file it is editing.
Example: a custom delivery rule fixes picking in Inventory and silently changes how invoices are created from deliveries.
Works for the admin but opens access for everyone
AI often skips access rules or fixes permission errors by removing the check.
Example: a sudo() call added to make a report work lets sales users see purchase prices and other companies' data.
Works now but slows down with scale
Code tested on a few records behaves differently on years of real data.
Example: a computed field that runs a database query per line takes seconds to load an order with 400 lines.
Solves the task but duplicates standard Odoo
AI rarely knows what Odoo already does out of the box, so it rebuilds it.
Example: a custom approval module for purchase orders when Odoo's built-in purchase approval covers the same requirement.
Works today but complicates future upgrades
Every unnecessary override is code that has to be rewritten and retested on the next version.
Example: overrides of core methods copied in full instead of extended, so each one breaks when Odoo changes the original.
Works as an automation but nobody reviewed it
In Odoo 20, AI agents can take part in automation rules and act on records through the tools they are given. Once set up, such a rule runs on schedule, often without review by anyone who knows the system.
Example: a daily rule asks an agent to follow up on stale opportunities. The agent also has a tool that changes stages, uses it, and nobody notices for weeks.
What we audit
AI-built changes are checked in five areas against how Odoo is designed to work, whether they live in custom modules, Studio, or Python code in server actions and automation rules.
Architecture
- How custom modules inherit and depend on each other, including
__manifest__dependencies - Overrides of core methods
- View inheritance with fragile XPath that breaks on upgrade
- Duplicates of standard Odoo features
- Studio changes and Python code in server actions and automation rules
Code quality
- Raw SQL via
cr.executethat bypasses the ORM, its cache and access rights cr.commit()inside business logic, which breaks transaction rollback- Hardcoded record IDs instead of XML IDs
- Dead, unused and repeated code
- Missing tests
Performance
- Queries inside loops
- Heavy computed and stored fields
- Scheduled actions (cron)
Security and access
- Access rights, record rules and
sudo() - What AI agents can change, with or without approval
- Controllers, APIs and tools exposed to external AI via MCP
- Data sent to external AI providers
Processes and integrations
- Whether the change does the right thing for the process it touches
- Impact on inventory, accounting and sales
- E-commerce, marketplaces, carriers and other integrations
Security is reviewed at the Odoo application level. This is not a penetration test, infrastructure security audit or privacy compliance audit.
What a finding looks like
One AI-built field, three findings. A single customization can hide security, performance and design issues at once.
sudo() ignores record rules, so a salesperson restricted to their own orders sees the margin of every deal with this customer, including colleagues’ orders and other companies’ sales.Tell us what you have built with AI and where it hurts.
After a short call we will tell you whether an audit makes sense and what it should cover.
From findings to decisions
KEEP
Correct, fits the architecture, no action needed.
HARDEN
The logic is right, but access rules, tests or error handling are missing.
REFACTOR
The requirement is valid, the implementation is slow or hard to maintain.
REPLACE
Standard Odoo, a newer version or a supported module already does this.
REMOVE
Unused, obsolete, or costs more to keep than it is worth.
| Customization | Finding | Affects | Decision |
|---|---|---|---|
sale_custom customer margin field | Duplicates standard margin reporting; uses sudo() | Sales, access | REPLACE |
| Delivery batching automation | Correct logic, query per picking | Inventory speed | REFACTOR |
| Customer portal endpoint | No access check on order ID | Customer data | HARDEN |
| Old import wizard | No longer used | None | REMOVE |
| Custom pricelist rule | Clean, covered by tests | Sales | KEEP |
The goal is to keep only the customizations worth owning, rather than remove all AI-generated code.
What you receive
A written report and a walkthrough session with the specialists who did the review.
Audit first. Cleanup if needed.
AI-built customizations rarely need a full rebuild. Most need targeted fixes, some need refactoring or replacement with standard Odoo. Fixing them is half the job. The other half is changing how AI is used in your Odoo, so the same problems do not come back. We can do both with your team.
If the system is already unstable in production, the audit becomes the first step of an Odoo Project Rescue.
Findings ranked by business risk
Issues sorted by what they can cost you: wrong stock, wrong invoices, exposed data, downtime.
Standard Odoo opportunities
Custom logic you can retire in favor of standard features or cleaner configuration.
Action matrix
A decision for the customizations we review, as in the example above.
Cleanup roadmap
What to fix now, what can wait and what not to touch, with an estimate of effort, team, timeline and budget.
How to use AI properly from now on
What context, environment and checks your team needs so the next AI-built changes do not repeat the same problems.

AI at full capacity
We use AI on our projects every day, not only for audits. On each project we set up the environment AI needs to work effectively, correctly and safely, so it analyzes the whole project instead of one task at a time.
Our specialists have completed Odoo's official AI training, and VentorTech has worked only with Odoo since 2012, across warehouse, manufacturing, finance, eCommerce, integrations and multi-company setups.
“AI makes Odoo development faster. But once Odoo runs the business, the whole system still has to make sense.”
Need new functionality built properly from the start? See Odoo Development.
Questions about the AI-built customization audit
What is an AI-built customization audit?
First we check how AI was set up when your customizations were built. If it lacked context, we create the right environment, so AI sees your whole system and business processes. Then we review how well the customizations were done: code, Studio changes, automations and AI agents. You learn what caused the current problems, what could have been done more effectively, and how to avoid the same issues next time, with a recommendation to keep, harden, refactor, replace or remove.
How is it different from the Odoo Audit?
The Odoo Audit is for companies that know something is wrong but not why. This audit is for systems that were developed heavily with AI, where those changes are now causing problems. If the project is already failing in production, start with Odoo Project Rescue.
Which AI tools do you check the code from?
Any: ChatGPT, Claude or Claude Code, GitHub Copilot, Cursor, Odoo's built-in AI agents and Studio, or a mix of AI and human work. Whether your Odoo was vibe-coded or carefully prompted, we review the result in your system, not which tool wrote each line.
What access do you need from us?
Read access to Odoo, the source code of custom modules and information about integrations and hosting, plus working sessions with the people who built and use the system. Nothing is changed in production during the audit without separate approval. Before we start, we agree with you what can be shared. We can work on an anonymized copy of your database, and we use a business AI plan whose provider does not use your data to train models.
Will you tell us to rewrite everything?
No. Rewriting working code adds cost and risk. Every recommendation comes with a technical or business reason, and we keep what works.
How much does it cost and how long does it take?
The audit is a paid, fixed-price engagement. After an introductory call we prepare an offer based on the size of your Odoo, the number of customizations and integrations, and the processes in scope. A standard audit takes around two weeks; larger multi-module environments may take longer. Price and timeline are agreed before the audit starts, and cleanup is scoped separately.
Before you prompt the next fix, find out what the last ones changed.
An independent review of your AI-built customizations: what to keep, what to fix and in what order.
Audit my AI-built customizations