How to Automate Purchasing in Odoo: Draft POs from Real Needs
Purchase orders that write themselves — grouped per vendor, minimums respected, you keep the final say
Creating purchase orders by hand means juggling stock levels, open sales orders, incoming shipments, vendor minimums, and pricelists — for every supplier, every week. This guide covers what manual PO creation costs, where Odoo’s built-in replenishment stops, and how AutoPURCHASE computes exactly what to buy from live Odoo data and creates draft purchase orders per preferred vendor, ready for your review and confirmation.
💸 What Manual PO Creation Really Costs
The purchasing question sounds simple: what do we need to order today? Answering it correctly for every product means combining four numbers — the stock target, confirmed customer orders not yet delivered, what is on hand, and what is already on the way. Do that in your head or in a spreadsheet and the failure modes are predictable:
- Double ordering: the incoming PO from last week is forgotten, so the same need is ordered twice and lands as overstock.
- Forgotten commitments: a confirmed customer order that has not shipped yet does not show as missing stock — until it is time to ship and the goods are not there.
- Vendor minimums missed: a three-unit order goes out, the supplier rejects it or adds surcharges, and the buyer starts the round again.
- Slow movers over-ordered: without a stock-cover cap, “round up to a full box” quietly turns into two years of supply.
- Hours in spreadsheets: a competent buyer spends the best part of a day building order proposals that a machine could compute in seconds.
🔧 The Options Teams Try First
1. Odoo’s built-in replenishment
Odoo’s reordering rules and “Replenishment” screen are genuinely useful: when stock falls below the minimum, Odoo can propose or create an RFQ. But the quality of the output depends entirely on the min/max values stored in the rules — and Odoo does not compute those for you. Built-in replenishment also gives you limited say over business guardrails like per-supplier minimum order values, a maximum stock-cover cap, or a never-order list, so buyers still post-process every proposal.
2. The weekly spreadsheet ritual
Export stock, export open sales and purchase orders, merge, compute needs, then retype the result as POs in Odoo. It works, but it consumes hours, breaks when a column moves, and is only as current as the last export.
3. Custom automation
Scheduled server actions or custom scripts can create POs, but the edge cases — vendor grouping, minimums, idempotency so a re-run never duplicates an order — are exactly the parts that make it a real software project with real maintenance.
🤖 The Automated Way: AutoPURCHASE
AutoPURCHASE is a BOTS4.me bot that computes per-product needs from live Odoo data and creates draft purchase orders (RFQs), grouped per preferred vendor — so the buyer’s job shrinks to review and confirm.
🧮 One honest formula
need = (stock target + confirmed undelivered sales) − (on-hand stock + incoming POs)
Nothing you already ordered is ordered twice, and confirmed customer commitments are never forgotten. Stock targets come from AutoSTOCK if you own it — otherwise AutoPURCHASE uses Odoo’s own reordering rules standalone.
Needs computed from live Odoo data
Lines grouped per preferred vendor
Draft POs (RFQs) created in Odoo
You review, confirm, send
Business guardrails are built in, not bolted on:
- Vendor minimums respected: minimum order quantities and per-supplier minimum order values are honored — tiny orders are skipped and listed in your report instead of annoying suppliers.
- Over-ordering protection: a maximum stock-cover cap keeps slow movers from being over-ordered; a never-order blacklist keeps discontinued and special products out of every proposal.
- Idempotent re-runs: running twice never creates the same order twice — safe to schedule aggressively.
- Drafts by default: nothing is sent to a supplier without you. Auto-confirmation is available at the Enterprise tier for teams that want the loop fully closed.
Set it up in about five minutes
- Step 1 — Register: create an account at bots4.me/bots and add AutoPURCHASE. First month free; a permanent freemium tier (proposal-only reports, with daily limits) is available too.
- Step 2 — Connect Odoo: install the free BOTS4.me Connect module (Odoo 13–19). Odoo Online uses a zero-code XML helper plus an API key from Settings → Users → Account Security; Odoo.sh and on-premise get the one-click Python connector. One connector powers all eleven BOTS4.me apps.
- Step 3 — Set your rules: minimum order values per supplier, maximum stock-cover cap, and the never-order blacklist.
- Step 4 — Start in Demo Mode: every run produces a full purchase proposal report — per-supplier orders with values, suppliers skipped and why, products missing a vendor — while creating nothing in Odoo.
- Step 5 — Go live: enable draft PO creation and pick a schedule from every 15 minutes to weekly, within your operating hours. Buyers open Odoo to find clean draft RFQs waiting.
📅 What Day-to-Day Operation Looks Like
On each scheduled run, AutoPURCHASE recomputes needs from live ERP data, groups them by each product’s preferred vendor using your Odoo vendor and pricelist data, and creates one clean draft order per supplier — not a pile of single-line POs. A purchase proposal report lands in your inbox after every run, in your choice of 31 languages.
You stay in control from the dashboard at bots4.me/bots: Bot Power on/off, per-feature toggles, run schedule and operating hours, full decision logs in the Logs tab. The platform is EU-hosted, GDPR-native, with 2FA — the same platform that processes roughly 4,700 RFQs and orders per month for IMP Kontakt through Mail2ERP.
🔄 The Middle of the Odoo Inventory Loop
AutoPURCHASE is strongest as the middle link of a three-bot loop. Upstream, AutoSTOCK computes optimal stock targets from your real sales history and keeps Odoo’s reordering rules fresh — so the “stock target” in the formula is a statistically sound number, not a guess. Downstream, once you confirm and send the POs, Supplier2ERP reads supplier confirmation emails and writes confirmed prices, quantities, and delivery dates back to the POs in Odoo.
AutoSTOCK decides how much to keep → AutoPURCHASE drafts what to buy → Supplier2ERP records what suppliers actually promised. The result: replenishment runs on data end to end, and your team’s role is judgment, not data entry.
🌍 Works Beyond Odoo?
AutoPURCHASE supports Odoo versions 13 through 19 today — Odoo Online, Odoo.sh, and on-premise. The BOTS4.me platform as a whole connects to 21+ ERPs (SAP Business One, SAP S/4HANA, Oracle NetSuite, Dynamics 365, QuickBooks, Xero, ERPNext, and more) through its other apps, and new integrations are prioritized by demand — tell us what you run.
❓ Frequently Asked Questions
Can Odoo create purchase orders automatically?
Partially. Odoo’s reordering rules can trigger RFQs when stock drops below a minimum, but the min/max values must be maintained by you, and guardrails like per-supplier minimum order values, a stock-cover cap, or a never-order list are limited. AutoPURCHASE computes needs from stock targets, confirmed sales, on-hand stock, and incoming POs, then creates vendor-grouped draft POs with those guardrails built in.
How does AutoPURCHASE calculate what to order?
Per product: (stock target + confirmed-but-undelivered customer orders) minus (on-hand stock + purchase orders already incoming). Confirmed sales are never forgotten and nothing already on order is ordered twice. Stock targets come from AutoSTOCK if you own both apps, otherwise from Odoo’s own reordering rules.
Will it send orders to my suppliers without my approval?
No. By default AutoPURCHASE creates draft purchase orders (RFQs) in Odoo — you review and confirm before anything reaches a supplier. Teams that want a fully closed loop can enable auto-confirmation at the Enterprise tier.
How does it handle vendor minimum order quantities and values?
Vendor minimum order quantities and per-supplier minimum order values from your configuration are respected automatically. Orders that would fall below a supplier’s minimum are skipped and listed in the purchase proposal report, so you can decide whether to wait or top the order up.
What stops it from creating the same purchase order twice?
Built-in idempotency. AutoPURCHASE tracks what it has already proposed and counts incoming POs as covered need, so re-runs — even frequent scheduled ones — never duplicate an order.
Do I need AutoSTOCK to use AutoPURCHASE?
No. Standalone, AutoPURCHASE uses the min/max reordering rules already in your Odoo. Owning both is better: AutoSTOCK recomputes optimal targets from real sales history on schedule, and AutoPURCHASE always orders against fresh, data-driven numbers.
Which Odoo versions are supported, and is there a free tier?
Odoo 13 through 19, on Odoo Online (zero-code XML helper + API key), Odoo.sh, and on-premise (one-click Python connector). AutoPURCHASE has a permanent freemium tier with proposal-only reports and daily limits, plus a free first month on paid plans — cancel anytime.
📚 Related Guides
- Hub: How to Automate Odoo End-to-End: From Email Order to Paid Invoice
- Step before this one: How to Set Optimal Reorder Points in Odoo from Real Sales History
- Step after this one: How to Import Supplier Order Confirmations into Odoo Automatically
- The sales side: How to Import Email Orders and RFQs into Odoo Automatically
- Connector setup: How to Connect Odoo to BOTS4.me (Odoo 13–19)
Let Your Purchase Orders Write Themselves
Connect Odoo in about five minutes and get your first purchase proposal report in Demo Mode — zero changes to your ERP. First month free, cancel anytime.