Odoo Sales MCP. Manage quotes and orders without leaving your chat.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
Odoo Sales connects your AI agent directly to Odoo ERP's sales pipeline. Draft quotes, list active orders, check product stock, or confirm a sale—all through natural conversation.
Manage every stage of the customer journey without switching tabs. Use it when you need to move data from an idea (a lead) straight into an action (a confirmed order).
What your AI agents can do
Odoo confirm order
Converts a draft quotation into an active sales order, triggering downstream inventory and delivery processes.
Odoo create quotation
Generates a new sales quote for a customer by specifying product IDs, quantities, and unit prices.
Odoo get order lines
Retrieves the individual products, quantities, and pricing details for any specific sales order or quotation.
Find products by name, checking current prices, cost, category, and available stock quantity.
Draft a new quotation for a customer, specifying product lines, quantities, and unit prices.
List all pending quotations or confirmed sales orders to check the current state of fulfillment.
Pull up a specific sales order by its database ID to see every detail: customer, amounts, dates, and salesperson.
Transition an approved draft quote into an active, confirmed sales order ready for delivery and invoicing.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
Odoo Sales: 8 Tools for ERP Management
Use these eight tools to query, draft, confirm, and manage every document in your Odoo sales cycle directly through your AI agent.
019d75e3odoo confirm order
Converts a draft quotation into an active sales order, triggering downstream inventory and delivery processes.
019d75e3odoo create quotation
Generates a new sales quote for a customer by specifying product IDs, quantities, and unit prices.
019d75e3odoo get order lines
Retrieves the individual products, quantities, and pricing details for any specific sales order or quotation.
019d75e3odoo get sales order
Gets all key information about a specific sales order or quote using its numeric Odoo database ID.
019d75e3odoo list pricelists
Lists all configured pricing structures (pricelists), showing their currency and active status for reference.
019d75e3odoo list quotations
Displays a summary of all outstanding quotes that haven't been confirmed yet, helping track the proposal pipeline.
019d75e3odoo list sales orders
Lists all sales orders that are already confirmed or finished, showing key details like amounts and completion status.
019d75e3odoo search products
Searches the entire product catalog by name to check prices, stock levels, and SKUs before quoting.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Odoo Sales, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
Look, forget spending half your day jumping between tabs just to close a deal. This server hooks up your AI client right into Odoo ERP’s sales pipeline. You can draft quotes, check stock, or confirm an order—all without leaving the chat window. It lets you manage every step of the customer journey using nothing but natural talk.
If you need to get data from a simple idea (like a lead) straight through to an actual confirmed sale, this is what you use.
When you're prepping to sell something, you start with product knowledge. You can run odoo_search_products by name; that checks the whole catalog and gives you current pricing, cost details, category info, and how many units are actually in stock. If you gotta know what prices look like generally, you'll use odoo_list_pricelists, which lists every configured pricing structure and tells you if it’s active or what currency it uses.
Want to start a proposal? You use odoo_create_quotation. It drafts a whole new quote for a customer, letting you specify exactly which product IDs, how many quantities, and the unit prices. If you just need a quick overview of all the quotes hanging out there that haven't been confirmed yet, run odoo_list_quotations to see the full proposal pipeline.
On the flip side, if you gotta check on sales that are already closed or finalized, odoo_list_sales_orders lists every confirmed order, showing amounts and where it's at with completion status.
Need the deep dive? You’ve got two ways to get details. If you know a specific sales order or quote number, run odoo_get_sales_order to pull up all key information about that record—customer info, amounts, dates, and who the salesperson was. Want to see only what products are on that bill? Use odoo_get_order_lines; it pulls up the individual product lines, quantities, and specific pricing details for any given sales order or quote.
When you're ready to close it out, confirming a sale is simple. You use odoo_confirm_order. It takes that draft quotation you created earlier and turns it into an active sales order. That single action triggers everything downstream—the inventory counts, the delivery processes, and gets the ball rolling on invoicing.
It lets your agent query any module in Odoo—from pricelists to specific order lines—just by using plain language instead of navigating complex menus.
How Odoo Sales MCP Works
- 1 First, use
odoo_search_productsto verify the correct product ID, current list price, and stock count. - 2 Next, call
odoo_create_quotation, providing the customer's partner ID along with the verified line items (product IDs, quantities, prices). - 3 Finally, when the client approves the quote, trigger
odoo_confirm_orderto move the draft into a fulfilled sales order status.
The bottom line is that you automate the entire sequence: research product data, build the document, and execute the final state change using structured tool calls.
Who Is Odoo Sales MCP For?
Any professional who spends too much time clicking through dashboards just to get order status or create a simple quote. This is for people who need data actionable right now—the sales rep stuck on follow-up, the account manager needing quick product specs, and the ops worker monitoring fulfillment pipelines from one chat window.
Needs to quickly pull up a client's recent quote status (odoo_list_quotations) or confirm product availability using odoo_search_products during a call.
Generates initial quotes for new leads via odoo_create_quotation, and then executes odoo_confirm_order once the client signs off.
Monitors confirmed orders (odoo_list_sales_orders) and drills down into line items using odoo_get_order_lines to validate fulfillment details.
What Changes When You Connect
- Confirm sales instantly. Instead of navigating to the Odoo UI, just tell your agent to confirm the order using
odoo_confirm_order. It handles the state transition automatically. - Build quotes on the fly. Use
odoo_search_productsfirst to verify product pricing and stock, then use that data immediately inodoo_create_quotationto draft a proposal. - Track pipeline status easily. Use
odoo_list_quotationsto see every proposal awaiting approval without running reports or opening multiple tabs. - Validate orders instantly. If you need details on an existing order, don't guess—call
odoo_get_sales_orderwith the ID and get a complete record dump. - Avoid pricing errors. Run
odoo_list_pricelistswhen in doubt to check which pricing structure applies before finalizing any price calculations.
Real-World Use Cases
Client needs a quick quote update
The Account Manager knows the client wants two different items. Instead of logging into Odoo, they tell their agent: 'Check stock for SKU 123 and then generate a new quotation.' The agent runs odoo_search_products and uses that live data to call odoo_create_quotation, giving the manager an immediate draft quote.
Closing out a deal
The Sales Rep has finished negotiating. They confirm, 'Approve the pending quote for Acme Corp.' The agent checks which quotes are available using odoo_list_quotations and then executes odoo_confirm_order, moving the client into the fulfillment pipeline.
Checking order details post-sale
The Ops Specialist receives a query about an old sale. They don't have the order number, just the ID. Running odoo_get_sales_order gives them all amounts and dates instantly. Then they use odoo_get_order_lines to break down exactly which products were sold.
Comparing pricing tiers
The Account Manager questions the price structure for a new region. They ask the agent to run odoo_list_pricelists. The agent returns all available pricelists and currencies, allowing the manager to advise the client on the best rate.
The Tradeoffs
Assuming stock is fine
The rep uses odoo_create_quotation based on old product knowledge and sends it. Later, fulfillment fails because stock ran out.
→
Always run odoo_search_products first to get live stock quantities and current list prices. Use this validated data when calling odoo_create_quotation. This prevents failed orders.
Drafting without checking status
The user tries to confirm a quote using odoo_confirm_order but doesn't know if it was already sent or rejected.
→
Before confirming, run odoo_list_quotations. This shows the current state of all drafts. Only proceed with confirmation after verifying the correct draft ID.
Bypassing order details
The agent only retrieves a summary via an initial search, missing crucial line-item pricing differences.
→
If you need to verify what was sold or quoted, always follow up the main order retrieval with odoo_get_order_lines. It provides granular detail on product names and subtotals.
When It Fits, When It Doesn't
Use this server if your core sales process involves drafting, confirming, or querying records within Odoo's structured ERP environment. The key is state management: you need to move a document from 'Draft' -> 'Quote' -> 'Sale'.
Don't use it if you only need simple CRM lead tracking (use dedicated lead tools) or if your sales process relies heavily on complex, custom business logic not covered by Odoo's native modules. If the problem is just reporting historical data without changing state, a read-only API connection might be better than this transactional server.
Always use odoo_search_products before calling any creation or confirmation tool to guarantee pricing and inventory accuracy.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Odoo. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 8 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Managing quotes shouldn't require jumping through three different Odoo tabs.
Right now, if you want to quote a client, you start in the Leads tab. Then you have to navigate to the Products menu to check pricing and stock. Once that's done, you jump to the Quotation module to build it. Finally, when they approve, you switch to the Orders tab to confirm it.
With this MCP server, your agent handles all those steps in one chat thread. You just tell it: 'Quote Acme Corp for X and Y.' It runs `odoo_search_products`, builds the quote using `odoo_create_quotation`, and gives you a complete record without any clicking.
Odoo Sales MCP Server: Control your order status changes.
The biggest time sink is the handoff between 'Quote' and 'Order.' You draft the quote, send it, and then manually track its movement. It’s a messy cycle of checking if it's still in `draft` or if it has moved to `sent`. This slows down closing deals.
Now you can manage this entire state machine conversationally. Your agent manages the transition from draft to confirmed sale using `odoo_confirm_order`. You get real-time confirmation that the order status changed, period.
Common Questions About Odoo Sales MCP
How do I find out if a quote is still pending acceptance using odoo_list_quotations? +
You call odoo_list_quotations and the agent returns all records currently in 'draft' or 'sent' status. This lets you see exactly which proposals are waiting for client approval without manually checking each record.
What is the difference between odoo_create_quotation and odoo_get_sales_order? +
odoo_create_quotation builds a brand new quote. odoo_get_sales_order retrieves all existing details for an order or quote using its specific numeric ID.
Can I use odoo_search_products to check stock before quoting? +
Yes, that's the best practice. Use odoo_search_products first. It returns live data on product name, price, and available stock quantity, letting you build an accurate quote.
What happens when I run odoo_confirm_order? +
Running odoo_confirm_order moves the selected draft quote into a live sales order. This action is key because it triggers downstream business processes like inventory reservation and delivery scheduling.
What happens if I pass a non-existent ID to `odoo_get_order_lines`? +
The tool will return an error indicating that no order record matches the provided numeric ID. This lets your agent know immediately that the data input needs correction before proceeding with line item analysis.
Can I filter results when using `odoo_list_sales_orders`? +
Yes, you pass filtering parameters (like customer ID or date ranges) directly into the function call. The server returns a limited set of confirmed orders that strictly match your requested criteria.
How do I get full financial details for one specific quote after running `odoo_list_quotations`? +
You must grab the numeric ID from the list results and pass it to odoo_get_sales_order. This retrieves all key fields—customer, amounts, dates—for that single record.
Does `odoo_list_pricelists` show the pricing rules for my current customer? +
No, it lists all configured pricelists and their active status globally. To see the price applied to a specific order, you must use odoo_get_sales_order with that record's ID.
Which Odoo versions are supported? +
This server uses the JSON-RPC protocol, which is compatible with Odoo 14, 15, 16, 17, and 18. Both Odoo Community and Enterprise editions are supported.
Does it work with Odoo.com (SaaS)? +
Yes! Works with both Odoo.com hosted instances and self-hosted Odoo servers. Just provide your instance URL and API key.
How do I generate an API Key? +
Go to Settings → Users → select your user → API Keys tab → New API Key. Give it a descriptive name and copy the generated key.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
Cedar AI
Process insurance documents with AI that extracts claims data, validates coverage, and accelerates underwriting decisions.
Beisen (iTalentX)
Comprehensive HR cloud platform — manage employees, attendance, and recruitment via AI.
Apaleo
Manage hotel reservations, properties, rooms, rate plans, folios, invoices, and availability for your Apaleo PMS through natural conversation.
You might also like
Veeqo
Manage multi-channel e-commerce inventory, shipping, and order fulfillment from one platform that syncs with Amazon and beyond.
FNS SNAP Retailer Locator (USDA)
Locate SNAP-authorized retailers across the US using USDA public data. Filter by location, store name, or coordinates.
GrainSure
Access silo monitoring via GrainSure — track grain fill levels, usage rates, predicted days to empty, and manage deliveries from any AI agent.