← LeaderboardThe Skill Leaderboard

odoo-purchase-workflow

Expert guide for Odoo Purchase: RFQ → PO → Receipt → Vendor Bill workflow, purchase agreements, vendor price lists, and 3-way matching.

Published by sickn33 ↗sickn33/agentic-awesome-skills

Try your first task

A source-grounded starter task has not been verified for this skill yet.

SKILL.md

name: odoo-purchase-workflowdescription: "Expert guide for Odoo Purchase: RFQ → PO → Receipt → Vendor Bill workflow, purchase agreements, vendor price lists, and 3-way matching."risk: safesource: "self"date_added: "2026-03-04"

Odoo Purchase Workflow

Overview

This skill guides you through the complete Odoo Purchase workflow — from sending a Request for Quotation (RFQ) to receiving goods and matching the vendor bill. It also covers purchase agreements, vendor price lists on products, automated reordering, and 3-way matching controls.

When to Use This Skill

  • Setting up the purchase flow for a new Odoo instance.
  • Implementing purchase order approval workflows (2-level approval).
  • Configuring vendor price lists with quantity-based discounts.
  • Troubleshooting billing/receipt mismatches in 3-way matching.

How It Works

  1. Activate: Mention @odoo-purchase-workflow and describe your purchasing scenario.
  2. Configure: Receive exact Odoo menu paths and field-by-field configuration.
  3. Troubleshoot: Describe a billing or receiving issue and get a root cause diagnosis.

Examples

Example 1: Standard RFQ → PO → Receipt → Bill Flow

Step 1: Create RFQ
  Menu: Purchase → Orders → Requests for Quotation → New
  Vendor: Acme Supplies
  Add product lines with quantity and unit price

Step 2: Send RFQ to Vendor
  Click "Send by Email" → Vendor receives PDF with RFQ details

Step 3: Confirm as Purchase Order
  Click "Confirm Order" → Status changes to "Purchase Order"

Step 4: Receive Goods
  Click "Receive Products" → Validate received quantities
  (partial receipts are supported; PO stays open for remaining qty)

Step 5: Match Vendor Bill (3-Way Match)
  Click "Create Bill" → Draft quantities follow the product bill-control policy
  Verify ordered, received and billed quantities, allowing documented partial receipts
  Enable 3-way matching with received-quantity bill control; inspect Should Be Paid
  Resolve discrepancies and obtain authorized approval before posting/payment

Example 2: Enable 2-Level Purchase Approval

Menu: Purchase → Configuration → Settings

Purchase Order Approval:
  ☑ Purchase Order Approval
  Minimum Order Amount: $5,000

Result:
  Orders below the configured threshold → Confirm directly (subject to access rights)
  Orders at/above the threshold → Status: "Waiting for Approval"
                     A purchase manager can approve (manager rights can also permit direct confirmation)

Example 3: Vendor Price List (Quantity Breaks on a Product)

Vendor price lists are configured per product, not as a global menu.

Menu: Inventory → Products → [Select Product] → Purchase Tab
  → Vendor Pricelist section → Add a line

Vendor: Acme Supplies
Currency: USD
Price:    $12.00
Min. Qty: 1

Add another line for quantity discount:
Min. Qty: 100 → Price: $10.50   (12.5% discount)
Min. Qty: 500 → Price:  $9.00   (25% discount)

Result: Odoo automatically selects the right price on a PO
based on the ordered quantity for this vendor.

Best Practices

  • ✅ Do: Enable Purchase Order Approval for orders above your company's approval threshold.
  • ✅ Do: Use Purchase Agreements (Blanket Orders) for recurring vendors with pre-negotiated annual contracts.
  • ✅ Do: Set a vendor lead time on products (Purchase tab) so Odoo can schedule arrival dates accurately.
  • ✅ Do: Set the Bill Control policy to "Based on received quantities" (not ordered qty) for accurate 3-way matching.
  • ❌ Don't: Confirm a PO before prices are agreed — use Draft/RFQ status to negotiate first.
  • ✅ Do: Distinguish goods billed on receipts from ordered-quantity/service flows. Reconcile applicable PO/receipt/bill evidence; do not assume 3-way matching is an unbypassable payment block.
  • ❌ Don't: Delete a PO that has received quantities — archive it instead to preserve the stock and accounting trail.

Reference: Odoo 17 bill control and 3-way matching. Confirm the deployed version, modules, company currency and access rights before configuring approvals. Sending RFQs, confirming orders, validating receipts and posting/paying bills require the user's operational authorization; a setup request alone does not authorize these transactions.

Limitations

  • Does not cover subcontracting purchase flows — those require the Manufacturing module and subcontracting BoM type.
  • EDI-based order exchange (automated PO import/export) requires custom integration — use @odoo-edi-connector for that.
  • Vendor pricelist currency conversion depends on the active currency rate in Odoo; rates must be kept current for accuracy.
  • The 2-level approval is a binary threshold; more complex approval matrices (department-based, multi-tier) require custom development or the Approvals app.
odoo-purchase-workflow by sickn33 · The Skill Leaderboard