About odoo-purchase-workflow
odoo-purchase-workflow guides Odoo users through purchasing, from RFQs to receipts and vendor bills. It covers purchasing configuration, approval thresholds, vendor pricing, and matching controls, with setup steps and troubleshooting guidance.
Key features
- 01RFQ-to-bill purchasing flow
- 02Purchase agreement configuration
- 03Vendor price lists and quantity breaks
- 04Purchase approval thresholds
- 05Receipt and bill matching controls
Use cases
- 01Set up purchasing in a new Odoo instance
- 02Configure two-level purchase approval
- 03Add quantity-based vendor pricing
- 04Investigate receipt and bill mismatches
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill odoo-purchase-workflowAfter installing, type/odoo-purchase-workflowin Claude Code to confirm it loaded.
Details
From the project READMEOdoo 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
- Activate: Mention
@odoo-purchase-workflowand describe your purchasing scenario. - Configure: Receive exact Odoo menu paths and field-by-field configuration.
- 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-connectorfor 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.