An Odoo MCP server gives an AI assistant a set of tools, such as "search records", "read a partner ledger" or "create a draft quotation", that call Odoo's external API as a specific user. Most teams start with read-only questions that cut across several Odoo apps and add a small number of confirmed write actions later. The examples below use standard Odoo models, so you can check which apps you need.
How to read the examples
Each use case lists three things: a prompt a person would type, the Odoo models the tools touch, and the tool type. "Read" means search and read calls only. "Write" means the tool creates or changes records and, in a safe setup, asks for confirmation first. See the security page for how confirmation and undo work.
Finance and accounting
| Prompt | Odoo models | Tools |
|---|---|---|
| "Which customer invoices are more than 30 days overdue, grouped by customer?" | account.move, res.partner |
Read |
| "What do we owe suppliers this month, and which bills are due this week?" | account.move (vendor bills) |
Read |
| "Summarise VAT on sales and purchases for last quarter." | account.move.line, account.tax |
Read |
| "Show the partner ledger for this customer since January." | account.move.line |
Read |
| "Create a draft vendor bill from this text for supplier X." | account.move |
Write, draft only |
Finance questions are a strong first use case because accountants already know the expected answer and can verify it against Odoo's Aged Receivable or Tax Report.
Sales and CRM
| Prompt | Odoo models | Tools |
|---|---|---|
| "Which opportunities in my pipeline have had no activity for two weeks?" | crm.lead, mail.activity |
Read |
| "Before my call: what did this customer buy last year and what is unpaid?" | sale.order, account.move |
Read |
| "Prepare a draft quotation for 20 units of product A for this customer." | sale.order, sale.order.line |
Write, draft only |
| "Log a note on the lead: customer asked for delivery in March." | crm.lead (chatter) |
Write |
The second prompt shows the main advantage over Odoo's own screens: one question pulls sales and accounting data together, filtered by the salesperson's own access rights.
Operations, inventory and purchasing
| Prompt | Odoo models | Tools |
|---|---|---|
| "How many units of product B are on hand in each warehouse?" | stock.quant |
Read |
| "Which purchase orders are confirmed but not yet received?" | purchase.order, stock.picking |
Read |
| "Trace lot L-2024-118: where did it come from and who received it?" | stock.lot, stock.move.line |
Read |
| "Which lots expire in the next 60 days?" | stock.lot |
Read |
| "Create a draft request for quotation to supplier C for these items." | purchase.order |
Write, draft only |
Lot traceability is a good example of a question that takes several Odoo screens but is a single prompt for the assistant.
Customer support
| Prompt | Odoo models | Tools |
|---|---|---|
| "Show this customer's open tickets, recent orders and deliveries." | helpdesk.ticket, sale.order, stock.picking |
Read |
| "Summarise the ticket history and suggest a reply." | helpdesk.ticket, mail.message |
Read |
| "Add an internal note to ticket 4512 with this summary." | helpdesk.ticket (chatter) |
Write |
Support data contains text written by customers. That text can include instructions aimed at the AI model, so keep support assistants read-only or confirm every write. The security page explains why.
Management
| Prompt | Odoo models | Tools |
|---|---|---|
| "Compare this month's revenue, cash in and cash out with last month." | account.move, account.payment |
Read |
| "Who are our top ten customers this year by invoiced amount?" | account.move |
Read |
| "Which projects are over their planned hours?" | project.project, account.analytic.line |
Read |
Managers often do not have an Odoo seat, or use Odoo rarely. A read-only assistant connected with a manager's own Odoo user gives answers without building a dashboard for every question.
Odoo partners and integrators
| Prompt | Odoo models | Tools |
|---|---|---|
| "Which modules are installed and which custom fields exist on sale.order?" | ir.module.module, ir.model.fields |
Read |
| "Find partners with duplicate VAT numbers." | res.partner |
Read |
| "How many records of each document type did this company create last month?" | various, search_count |
Read |
Partners use these for implementation reviews and support triage. Offering MCP access to clients as a service is covered on the page for Odoo partners.
What does not work well yet?
- Bulk changes. Updating hundreds of records through a chat is slow and hard to review. Use Odoo's import or a server action instead.
- Posting and validating. Posting journal entries, validating deliveries or confirming payments should stay a human action in Odoo.
- Questions about data that is not in Odoo. The assistant only knows what the tools return.
- Exact report replicas. The assistant computes from raw records. For statutory reports, use Odoo's own reports and let the assistant explain them.
To see how tools map to Odoo models and methods, read what Odoo MCP is. To try one use case on your own database, request a pilot below.
Pilot one use case on your Odoo
Tell us your Odoo version and the first question you want an AI assistant to answer from your data.
Frequently asked questions
Which Odoo MCP use case should we start with?
Start with a read-only question that someone answers manually every week, such as overdue invoices or open purchase orders. It needs no write permissions, the answer is easy to check against an Odoo report, and it shows quickly whether the assistant understands your data.
Can the assistant combine data from several Odoo apps in one answer?
Yes. The model can call several tools in sequence, for example reading a partner, their open sales orders and their unpaid invoices, and then summarise them. That cross-app synthesis is where MCP saves the most time compared with opening three Odoo menus.
Do these use cases work with Odoo Community?
Read and write tools work through Odoo's external API, which exists in both Community and Enterprise. A use case only needs the Odoo apps it touches to be installed, for example Helpdesk is an Enterprise app, so helpdesk tools need Enterprise.
How do we check that the AI answer is correct?
Ask the assistant to list the record references it used, such as invoice numbers, and open one or two in Odoo. For totals, compare with the matching Odoo report once during the pilot. A good MCP server returns record IDs with every result to make this easy.