
The assistant that lives inside Odoo
Your Odoo already knows.
ATUM makes it say so.
Every answer your business needs is already in your database. Getting it out means knowing which model, which filter and which permission — so most people never ask. ATUM asks for them, in Arabic or English, and shows you the record before it shows you the number.
- 25
- grounded tools
- 20
- Odoo apps read
- 2
- native languages
- 0
- write paths
Ask it something that normally costs you
four screens and a colleague.
Real questions against a live Odoo database, and the answers it actually gave. Watch the order — the source and the permission check land before the number does. Every competitor shows the number first and the working afterwards, if at all.
Try one
You
What is the total of all sales orders?
- Orders
- 186
- Average order
- $73,023.15
A snapshot from a live demo database, each figure verified against SQL. Ask the assistant yourself and it recalculates from whatever is true at that moment.
It reads everything.
It writes nothing.
It creates a lot.
Three sentences are the whole product, and the middle one is why the other two are allowed to exist at all.
20
Reads
Sales, purchase, stock, accounting, CRM, manufacturing, HR, projects, helpdesk, point of sale — and any custom module of yours that ships a registry file. Through your permissions, never around them.
0
Writes
Nothing. There is no create, no write, no unlink anywhere in the tool surface. Not disabled — absent. A clever prompt cannot talk it into a capability the code does not contain.
25
Creates
Reports, PDFs, written documents, charts, pivots, ranked pick-lists, projections, and the route to the screen you actually needed. Output, never mutation.
Twenty-five tools, and not one of them
can change your data.
Most assistants are one model behind one search box. This is a tool surface, built and named one at a time, each with its own validation and its own limits. Here is every one of them.
Answer
Retrieval validated against the ORM, restricted to an allowlist of business models, with a sensitive-field blocklist and hard query limits. Never improvised SQL.
Pick a family. Every name is a real function in the module, not a marketing grouping invented for this page.
get_statisticssearch_recordscount_recordsget_record_detailsaggregatebusiness_queryfinancial_summaryget_product_salesget_document_linesquery_custom_modelexplain_membership
An answer is where it starts.
It is not where it stops.
This is the part most people do not expect. Ask a question and you get a number. Ask for the work and you get the work.
An analytical report
Any model, any dimension, any period. Totals computed by Odoo, grouped the way you asked, with a per-record detail section when you want one — and a download chip on the card.
A written document
A proposal, a management summary, a memo. You give the subject; it writes the prose and pulls every figure from live data first. The narrative is labelled AI-generated. The numbers are not its opinion.
Odoo's own PDF
Invoices, quotations, delivery slips, purchase orders, payslips, manufacturing orders, bills of material — the real print format, for the record you named, in the variant you asked for.
A chart or a pivot
Pie, bar, line, pivot, kanban, list — rendered from the same sentence, in the Odoo view your team already knows how to read.
A ranked pick-list
What to reorder and how much, which quotations to chase, which leads to follow up, which overdue to collect, which customer to put the effort into. One list, ordered, not a paragraph of hedging.
A projection you can argue with
One to three months from computed monthly trend, labelled as a projection — and refused outright when the history is too thin to carry one.
The hard part was never the answer.
Any model can produce a number. The work was producing one you would put in front of your auditor.
Read-only is the architecture
ATUM has no write path at all. There is no create, no write, no unlink in the tool surface — not switched off, absent. It cannot post an entry, edit an invoice or change a price. Not by accident, not by a clever prompt, not ever.
Every figure is traceable
The source model and the filter appear before the number. If a figure cannot be traced back to a real record, a corrective retry fires and the answer is recomputed — never guessed.
It obeys your permissions
A salesperson sees exactly what their Odoo role allows and nothing more. Queries are restricted to an allowlist of business models, sensitive fields are blocked outright, and every request carries hard limits.
It admits when it fell short
If a query was truncated or a filter rejected, ATUM says so. It will not hand you a partial answer dressed up as a complete one, and it will not project a trend it does not have the history for.
Arabic and English, natively
The question, the reasoning, the answer and the printed document. Not a translation layer bolted onto an English tool.
The same answer, every time
Ask it five times, get one answer five times. That is what makes it safe to quote in a meeting.
Ask it in Arabic. It answers in Arabic.
Not a translation layer bolted onto an English tool. The question, the trace, the answer and the printed document are native in both — including Odoo's own menu names, which is exactly where a translated assistant falls over.
العربية
ما إجمالي كل أوامر البيع؟
إجمالي الإيرادات 13,582,305.00 · متوسط الأمر 73,023.15 · عدد الأوامر 186
English
What is the total of all sales orders?
Total revenue 13,582,305.00 · Average order 73,023.15 · Orders 186
Both lines are the demo's real output, copied from it rather than written for this page.
It reads the Odoo you already run.
Every standard app your database has installed — and your own custom modules too, which is the part nobody else offers.
Your own modules, answerable too
Ship a small registry file inside a custom module and ATUM answers from it exactly the way it answers from Sales — same validation, same permission checks, same traceability. Your bespoke models stop being the blind spot.
See it on your own data.
A short session on a copy of your database, so you watch it answer your questions — not ours. If it cannot answer them, you will find that out in the session rather than after the invoice.
We run it on a copy. Nothing is written, to the copy or to anything else — that is the whole design.
