# Odoo Purchase MCP

> Odoo Purchase handles your entire purchasing workflow directly through your AI agent. Use this MCP to search for vendors, draft new purchase orders (RFQs), check item costs on specific lines, and confirm those quotes into official, processed purchase orders. It lets you manage everything from initial supplier contact to final receipt creation without ever leaving your chat window.

## Overview
- **Category:** erp-operations
- **Price:** Free
- **Tags:** purchase-orders, vendor-management, procurement, rfq-management, supplier-relations, inventory-replenishment

## Description

Managing purchases in a large company usually means jumping between vendor portals, inventory systems, and the main ERP dashboard. This MCP fixes that. You tell your agent what you need—say, 'I need three different types of widgets from Acme Corp.' Your AI client connects to Odoo and finds the necessary supplier data, drafts the full quote request, and handles the initial paperwork. Once approved, it confirms the order, notifying the vendor and even setting up the expected warehouse receipt in one go. This centralized control means you spend time making decisions, not clicking buttons or copying IDs. Connecting this MCP via Vinkius gives your agent access to Odoo's entire procurement lifecycle, letting you manage supplier relationships and stock replenishment purely through conversation.

## Tools

### odoo_confirm_purchase_order
Approves a preliminary quote, turning it into a confirmed order that notifies the vendor and sets up warehouse receiving records.

### odoo_create_purchase_order
Drafts a brand new purchase request for a vendor using specified products, quantities, and unit costs.

### odoo_get_po_lines
Retrieves the individual product line details of an order, showing cost, quantity, and estimated delivery dates.

### odoo_get_purchase_order
Pulls all core data about one specific purchase order by its number for a complete status check.

### odoo_list_purchase_orders
Lists multiple current and completed orders, giving you the vendor name, amounts, total status, and expected receipt date.

### odoo_list_rfqs
Retrieves only draft requests for quotation that are waiting for pricing or internal approval from a vendor.

### odoo_search_vendors
Finds and lists contact information, including email and phone number, for existing suppliers in the system.

## Prompt Examples

**Prompt:** 
```
Search for leads from the website
```

**Response:** 
```
👥 **CRM Leads — Website**
| Name | Email | Stage | Revenue |
|---|---|---|---|
| Acme Corp | info@acme.com | Qualification | $15,000 |
| Beta Inc | hello@beta.io | Proposition | $8,500 |
```

**Prompt:** 
```
Show recent sales orders
```

**Response:** 
```
📋 **Sales Orders**
| SO# | Customer | Amount | Status |
|---|---|---|---|
| S00042 | Acme Corp | $12,500 | Confirmed |
| S00041 | Beta Inc | $3,200 | Draft |
```

## Capabilities

### Search for Suppliers
Find vendor contact details like phone numbers and emails by searching the database.

### Initiate Purchase Requests
Create a new, preliminary purchase order draft (RFQ) specifying products, quantities, and costs for a vendor.

### List Pending Quotes
Retrieve a list of all requests for quotation that are waiting for pricing or internal approval.

### Get Order Overview
View an overall status, total amount, and expected delivery date for any specific purchase order number.

### Inspect Line Items
Check the detailed breakdown of products within a single purchase order, including unit cost and planned delivery dates per item.

### Finalize Order Confirmation
Approve a draft RFQ, converting it into an official Purchase Order that triggers vendor notifications and warehouse receiving records.

## Use Cases

### Approving a vendor quote
A purchasing manager gets an email with an approved RFQ. Instead of logging into Odoo, navigating to the correct draft record, and manually clicking 'Confirm,' they ask their agent to confirm it. The tool runs `odoo_confirm_purchase_order`, which locks in the order, alerts the vendor, and creates the incoming receipt for inventory.

### Verifying a large shipment
An operations analyst needs to know if the latest expected delivery date for three specific product lines—say, motors, cables, and valves—matches the quote. They use `odoo_get_po_lines` on the PO number; it returns all three details in one structured response.

### Checking outstanding requests
The team lead asks for a list of all purchase requests that are waiting on pricing from external vendors. The agent uses `odoo_list_rfqs`, giving the lead an immediate, filtered view of everything stalled in 'draft' status.

### Finding new suppliers
A manager needs to buy something but doesn't have a vendor ID. They ask their agent to search for local electrical equipment providers. The tool uses `odoo_search_vendors` and returns the name, email, and phone number so they can start drafting the request.

## Benefits

- Confirming orders is instant. Instead of logging into Odoo to manually change a status from 'draft' to 'purchase', you simply ask your agent, and the `odoo_confirm_purchase_order` tool handles the approval, vendor notification, and receipt creation automatically.
- Never start from scratch. If you need to buy something new, use `odoo_search_vendors` first to verify contact details, then use `odoo_create_purchase_order` to draft a request instantly with all product lines included.
- Track everything in one go. To see the status of multiple pending items, run `odoo_list_purchase_orders`. You get the PO number, vendor name, current state, and total amounts without changing tabs.
- Deep dives are easy. If you only need to check the costs or expected delivery dates for a few specific products on an order, use `odoo_get_po_lines` instead of pulling up the entire record.
- Manage pending work. If your team is waiting on pricing, run `odoo_list_rfqs`. This tool shows only the requests that are stuck in draft status and need someone's attention or negotiation.

## How It Works

The bottom line is you use natural language to execute complex, multi-step ERP transactions that usually require several screens and clicks.

1. First, tell your agent what you need. You might ask to find a supplier's contact info or list all pending quotes.
2. Next, the MCP uses Odoo’s tools to pull data—maybe it creates an initial purchase order draft with product lines and costs for review.
3. Finally, when everything is correct, your agent confirms the transaction. The system locks the order, sends vendor notifications, and sets up the incoming receipt in the warehouse.

## Frequently Asked Questions

**How do I find vendor contact info using odoo_search_vendors?**
You tell your agent to search for a supplier name. It runs `odoo_search_vendors` and returns their verified email, phone number, city, and country directly in the chat response.

**Can I list all my pending RFQs with odoo_list_rfqs?**
Yes. Running `odoo_list_rfqs` filters out every completed or confirmed order and shows only those Requests for Quotation that are currently waiting on pricing, negotiation, or final approval.

**What is the difference between odoo_create_purchase_order and odoo_get_purchase_order?**
Creating a purchase order uses `odoo_create_purchase_order` to build a new draft. Getting details uses `odoo_get_purchase_order` to retrieve all existing information about a single, specific PO number.

**Does odoo_confirm_purchase_order automatically notify the vendor?**
Yes, confirming an order with `odoo_confirm_purchase_order` is designed to do more than just change the status. It locks the order, notifies the external vendor, and creates a corresponding incoming receipt record for inventory.

**I need to check item costs on an existing PO; which tool should I use?**
Use `odoo_get_po_lines`. This function specializes in returning the individual line items, letting you inspect product names, ordered quantities, unit cost, and planned delivery dates per item.