A human expert, AI agents, and a fence between them and your money.
This page explains exactly who does what when you open a ticket, what the agent is allowed to touch, and what you can see afterwards. If any of it is unclear, that is a bug in this page. Tell us.
The model
Odoo support work splits into two parts. There is the legwork: reading the ticket, finding the relevant model and view, checking the database, reading the module that overrides the standard behaviour, writing the patch, running the test. And there is the judgment: is this the right fix, will it affect something else, is this something the customer should be asked about first, is it safe to run against a live company's books.
The legwork is what makes support slow and expensive at most partners. It is also what AI coding agents are now very good at, when they have access to the actual system and a person who knows Odoo checking their work. So that is the split. An agent does the legwork. A human Odoo implementer with years of production experience does the judgment, and holds the only keys that can change anything that matters.
The expert stays. The waiting goes.
The approval flow
Every ticket, from a typo in a report to a stuck cron job, goes through the same five steps. Nothing skips step three.
-
You open a ticket
In the support portal or by emailing the support address. Say what is wrong in your own words. Screenshots help; Odoo jargon is not required.
-
The agent triages it
It reads the ticket, then inspects your Odoo read-only: the models involved, the views, any custom module that overrides them, recent changes, and the relevant records. It drafts a proposed change on a git branch and runs it against a copy of your database in dry-run mode, recording what would change. If the ticket is a question rather than a change, it drafts an answer with references. If the ticket touches anything on the fence list below, it stops and writes up what it found for the human.
-
A human reviews and approves
The expert reads the diff and the dry-run output, checks it against what he knows of your business and of Odoo, and either approves, amends, or sends it back to the agent with notes. If the change needs a decision from you (which of two behaviours you want, whether to touch historical records), he asks you in the ticket before anything moves.
-
The change is applied
By the human, from the reviewed branch, using a deployment script that is itself in your repository. Production credentials never leave that step. For data changes, the same dry-run is repeated against production before it is committed, and the before-and-after is written to the ticket.
-
It is logged and you are told
The ticket closes with a plain-language summary, a link to the commit, the dry-run output and the list of records or files touched. Changes are also noted in the record's own chatter inside Odoo, so someone looking at that invoice or product a year later sees what was done and why.
The fences
These are hard limits built into how the agent is connected to your system, not a policy it is asked to follow. The agent's credentials cannot do these things. Only a person's can.
-
MoneyNo posting, cancelling or editing of invoices, bills, payments, journal entries or bank reconciliations. The agent may read them to diagnose a problem and propose what a person should do.
-
TaxNo changes to tax rates, tax groups, fiscal positions, tax reports or anything connected to a tax filing service. These are changed by a person on your written instruction.
-
DeploymentsNo pushing to your main branch and no restarting or upgrading modules on production. The agent works on branches and on copies. A person deploys.
-
Outbound email and messagesNothing is sent from your Odoo to a customer, vendor or employee by the agent. Test runs are done with mail disabled, and we check the outbox afterwards to confirm nothing leaked. This rule exists because we have seen what happens without it.
-
External servicesNo calls to payment processors, shipping carriers, bank feeds or tax services during testing. Anything with a real-world side effect is switched to a logging mode that records what would have been sent.
-
Your data leaving your serverThe agent inspects your system in place. Database dumps are not uploaded to any AI service. What the agent sees to do its work is described in the privacy and data processing note.
The support portal
The portal is where you open tickets and where you see what happened to them. It is deliberately boring. For each ticket you see the request, the agent's write-up of what it looked at, the proposed change as a readable diff, the dry-run output, the human's decision and any notes, and the final summary with a link to the commit.
You also see the standing items for your system: the last successful backup and the last restore test, the current Odoo and module versions, open and recently closed tickets, hours used this month against your block, and the monthly operations summary.
Nothing on the portal is a marketing dashboard. If a number is on it, it is because you would want to check it.
The audit log
Every change to your system, whether code or data, is attributable: who asked for it, who proposed it, who approved it, when it ran, and what it touched. For code, that is a git commit with a human author and a ticket reference. For data, it is a note in the affected record's chatter inside Odoo plus the dry-run and result in the ticket.
This is not just for comfort. When something looks wrong in six months, the first question is always "what changed?" and the answer should take one search, not a week of archaeology.
You can export the whole log at any time. It is your record, not ours.
Plain facts about the agent
The agent makes mistakes. It has invented field names that do not exist and proposed fixes that would have worked on standard Odoo but not on a customized one. That is exactly why step three exists and why it is a person who has run Odoo in production, not a checklist.
Some tickets are not small. When a request turns out to be a real project, we say so and quote it rather than quietly burning your fix hours on it.
We use Claude models from Anthropic for the agent work, with the agent running on infrastructure we control. We say which model in the ticket log. If that changes, the log will say so.
Every change to your system has a named person behind it. That is the whole point of the model, and it is why you can trust the speed.
Want to see a real ticket?
Ask and we will walk you through an anonymized one, start to finish, including a rejected proposal.