Skip to content

Odoo Purchase Management: Complete Setup & Workflow Guide

DeployMonkey Team · March 22, 2026 12 min read

Purchase Module Overview

Odoo Purchase manages the entire procurement process: vendor selection, request for quotation, purchase order, goods receipt, and vendor bill matching. It integrates with Inventory for automatic reordering and Accounting for bill payment.

Setup Steps

1. Vendors

# Contacts → Create → check 'Is a Company'
# Set as vendor:
# - Purchase tab: vendor pricelist, payment terms
# - Accounting tab: bank account for payments
# - Address: for shipping and billing

# Vendor categories (tags):
# Raw Materials, Packaging, Services, IT, Office Supplies

2. Products with Vendor Info

# Product → Purchase tab:
# Vendor Pricelists:
# - Vendor: Acme Corp
# - Price: $12.50/unit
# - Minimum Qty: 100
# - Delivery Lead Time: 5 days

# You can set multiple vendors per product
# Odoo uses the cheapest vendor matching minimum quantity

3. Purchase Settings

# Settings → Purchase:
# - Purchase Order Approval: enable for amounts > threshold
# - Lock Confirmed PO: prevent editing after confirmation
# - Vendor Bills: auto-create from PO or manual matching
# - Purchase Agreements: blanket orders, call for tenders

Purchase Workflow

# 1. RFQ (Request for Quotation)
#    → Create RFQ → send to vendor(s) → receive quotes

# 2. Purchase Order
#    → Select best quote → Confirm PO
#    → Vendor receives confirmed order

# 3. Receipt
#    → Goods arrive → validate receipt in Inventory
#    → Quantities checked against PO

# 4. Vendor Bill
#    → Vendor sends invoice → match against PO + receipt
#    → Three-way match: PO ↔ Receipt ↔ Bill

# 5. Payment
#    → Approve bill → schedule payment → pay vendor

Purchase Agreements

Blanket Orders

# Long-term agreement with vendor:
# "We will buy 10,000 widgets over 12 months at $10/unit"

# Setup: Purchase → Purchase Agreements → Blanket Order
# - Vendor: Acme Corp
# - Product: Widget
# - Quantity: 10,000
# - Unit Price: $10.00
# - Valid until: 2027-03-22

# Call-off: create individual POs from the blanket order
# Track: ordered vs remaining quantity

Call for Tenders

# Send RFQ to multiple vendors, compare quotes:
# Purchase → Purchase Agreements → Call for Tenders
# Add vendors → send RFQ to all
# Receive responses → compare prices
# Select winner → create PO → reject others

Three-Way Matching

# The gold standard for procurement control:

# 1. Purchase Order: ordered 100 widgets at $10 = $1,000
# 2. Receipt: received 95 widgets (5 short)
# 3. Vendor Bill: billed for $1,000

# Match result: bill exceeds receipt by 5 units
# Action: either reject bill or accept with note

# Odoo highlights discrepancies:
# - Quantity mismatch (billed > received)
# - Price mismatch (billed price ≠ PO price)
# - Both → requires manager approval

Automated Reordering

# Odoo auto-creates RFQs/POs when stock is low:

# Inventory → Reordering Rules:
# Product: Widget
# Min Quantity: 50 (trigger reorder below this)
# Max Quantity: 200 (order up to this)
# Route: Buy
# Vendor: auto-selected from product vendor list

# When stock drops below 50:
# → Odoo creates RFQ for (200 - current stock) units
# → To the preferred vendor
# → Can be auto-confirmed if setting enabled

Vendor Evaluation

  • On-time delivery rate
  • Quality pass rate (from incoming inspections)
  • Price competitiveness
  • Response time to RFQs
  • Return/rejection rate

DeployMonkey + Purchasing

Deploy Odoo Purchasing on DeployMonkey. The AI agent configures vendor management, RFQ workflows, reordering rules, and three-way matching. Streamline procurement from day one.