[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-2f591639-63bc-4235-92c9-2ea1649ea763":3,"$fFjrHuf4IeQx0kn0bj41h0h4wiKzbTR0MJ-gRwe_4H0E":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"2f591639-63bc-4235-92c9-2ea1649ea763","odoo-purchase-workflow","Odoo采购专家指南：询价单→采购订单→收货→供应商发票工作流程，采购协议，供应商价格表和三方匹配。","cat_prod_automation","mod_productivity","sickn33,productivity","---\nname: odoo-purchase-workflow\ndescription: \"Expert guide for Odoo Purchase: RFQ → PO → Receipt → Vendor Bill workflow, purchase agreements, vendor price lists, and 3-way matching.\"\nrisk: safe\nsource: \"self\"\n---\n\n# Odoo Purchase Workflow\n\n## Overview\n\nThis 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.\n\n## When to Use This Skill\n\n- Setting up the purchase flow for a new Odoo instance.\n- Implementing purchase order approval workflows (2-level approval).\n- Configuring vendor price lists with quantity-based discounts.\n- Troubleshooting billing\u002Freceipt mismatches in 3-way matching.\n\n## How It Works\n\n1. **Activate**: Mention `@odoo-purchase-workflow` and describe your purchasing scenario.\n2. **Configure**: Receive exact Odoo menu paths and field-by-field configuration.\n3. **Troubleshoot**: Describe a billing or receiving issue and get a root cause diagnosis.\n\n## Examples\n\n### Example 1: Standard RFQ → PO → Receipt → Bill Flow\n\n```text\nStep 1: Create RFQ\n  Menu: Purchase → Orders → Requests for Quotation → New\n  Vendor: Acme Supplies\n  Add product lines with quantity and unit price\n\nStep 2: Send RFQ to Vendor\n  Click \"Send by Email\" → Vendor receives PDF with RFQ details\n\nStep 3: Confirm as Purchase Order\n  Click \"Confirm Order\" → Status changes to \"Purchase Order\"\n\nStep 4: Receive Goods\n  Click \"Receive Products\" → Validate received quantities\n  (partial receipts are supported; PO stays open for remaining qty)\n\nStep 5: Match Vendor Bill (3-Way Match)\n  Click \"Create Bill\" → Bill pre-filled from PO quantities\n  Verify: PO qty = Received qty = Billed qty\n  Post Bill → Register Payment\n```\n\n### Example 2: Enable 2-Level Purchase Approval\n\n```text\nMenu: Purchase → Configuration → Settings\n\nPurchase Order Approval:\n  ☑ Purchase Order Approval\n  Minimum Order Amount: $5,000\n\nResult:\n  Orders ≤ $5,000  → Confirm directly to PO\n  Orders > $5,000  → Status: \"Waiting for Approval\"\n                     A purchase manager must click \"Approve\"\n```\n\n### Example 3: Vendor Price List (Quantity Breaks on a Product)\n\n```text\nVendor price lists are configured per product, not as a global menu.\n\nMenu: Inventory → Products → [Select Product] → Purchase Tab\n  → Vendor Pricelist section → Add a line\n\nVendor: Acme Supplies\nCurrency: USD\nPrice:    $12.00\nMin. Qty: 1\n\nAdd another line for quantity discount:\nMin. Qty: 100 → Price: $10.50   (12.5% discount)\nMin. Qty: 500 → Price:  $9.00   (25% discount)\n\nResult: Odoo automatically selects the right price on a PO\nbased on the ordered quantity for this vendor.\n```\n\n## Best Practices\n\n- ✅ **Do:** Enable **Purchase Order Approval** for orders above your company's approval threshold.\n- ✅ **Do:** Use **Purchase Agreements (Blanket Orders)** for recurring vendors with pre-negotiated annual contracts.\n- ✅ **Do:** Set a **vendor lead time** on products (Purchase tab) so Odoo can schedule arrival dates accurately.\n- ✅ **Do:** Set the **Bill Control** policy to \"Based on received quantities\" (not ordered qty) for accurate 3-way matching.\n- ❌ **Don't:** Confirm a PO before prices are agreed — use Draft\u002FRFQ status to negotiate first.\n- ❌ **Don't:** Post a vendor bill without linking it to a receipt — bypassing 3-way matching creates accounting discrepancies.\n- ❌ **Don't:** Delete a PO that has received quantities — archive it instead to preserve the stock and accounting trail.\n\n## Limitations\n\n- Does not cover **subcontracting purchase flows** — those require the Manufacturing module and subcontracting BoM type.\n- **EDI-based order exchange** (automated PO import\u002Fexport) requires custom integration — use `@odoo-edi-connector` for that.\n- Vendor pricelist currency conversion depends on the active **currency rate** in Odoo; rates must be kept current for accuracy.\n- The **2-level approval** is a binary threshold; more complex approval matrices (department-based, multi-tier) require custom development or the Approvals app.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,89,2078,"2026-05-16 13:32:20",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"效率工具","productivity","mdi-lightning-bolt-outline","文档处理、数据分析、自动化工作流",4,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"自动化","automation","mdi-robot-outline","工作流自动化、批处理",3,101,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"62d60796-5167-4c03-9292-43387ba1a925","1.0.0","odoo-purchase-workflow.zip",1995,"uploads\u002Fskills\u002F2f591639-63bc-4235-92c9-2ea1649ea763\u002Fodoo-purchase-workflow.zip","3ef56508cc17f2e6951507f6d80297555beeb2ce0127b53045e109b1d5ea7df5","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":4206}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]