AI Assistant for Odoo
by TechnoVision · Odoo App
Every AI integration has to decide whose permissions it reads with. Almost all of them answer “the administrator’s”, because that is the answer that always works - and it is why a warehouse clerk asking about stock gets told the payroll it found on the way past. That is not a prompt problem. It is an architecture problem.
One-off licence per Odoo instance. The store bills in its own base currency, so checkout may differ by a few cents.
Security Center
Live82
Score
1.2k
Events / 24h
3
Alerts
Export volume · 14 days
Unusual export detected
res.partner · 4,812 rows · outside business hours
Illustrative UI. Product screenshots to be dropped into this frame.
What it does
Every read runs through with_user(the person asking), so enforcement is Odoo’s own access rules. Two people asking the same question get different answers.
An administrator lists the models the assistant may read at all. Until they do, a fresh install can answer nothing and sends no data anywhere.
Every tool call: the model, the operation, the record ids, the count, whether it was refused - and, with Access X-Ray installed, the group that entitled the asker.
Choose which fields are readable per model. Passwords, tokens, keys and attachments are never sent, whatever anybody configures.
No write, no create, no delete, no method call. An assistant that can act on an ERP is a different product with a different risk profile.
Anthropic and OpenAI ship with it behind one interface. The endpoint is overridable for Azure OpenAI or a self-hosted deployment.
Everything installs, configures and runs with no API key from anybody. It records which records a question would have reached and sends nothing.
Screenshots
4 captures of the shipped product: the whole loop on one screen, what it read, and under whose rights, the audit trail, exposed data.

The whole loop on one screen

What it read, and under whose rights

The audit trail

Exposed data
How it works
Depends on base alone. The default account is simulated, so nothing leaves your server.
Customers and invoices is enough to see whether it is useful. Choose the fields it may read.
The wizard tells each person what they can look at before they type, resolved from their own rights.
Then decide whether to point it at a vendor. That is the honest order.
FAQ
No. The default provider is simulated: it runs the whole assistant and sends nothing anywhere, so you can see exactly which records a question would reach before choosing a vendor.
No. There is no write, create, delete or method call in the tool layer, and no setting that adds one.
Not through this module. Enforcement is Odoo’s own access rules and there is no privileged query path. A model somebody cannot read is not even offered to the language model as a tool.
The question, the conversation so far, the tool schemas for models that person may reach, and the rows a tool returned. Credentials and binary fields are excluded whatever is configured.
Install from Odoo Apps, or talk to us about a guided rollout across multiple companies.