bots4.me

Automate Purchasing In Odoo

Written by

in

BOTS4.me Logo

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, re-runs that extend the open order instead of duplicating it — 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. With Use AutoSTOCK Targets on, the stock targets come from the latest AutoSTOCK run that wrote its rules to Odoo. If there is no recent one, or you do not own AutoSTOCK, AutoPURCHASE uses Odoo’s own reordering rules.

📊

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: vendor minimum order quantities are honored, and each supplier’s combined order must reach your minimum order value. 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.
  • One open draft per supplier: a later run appends new lines to AutoPURCHASE’s own open draft for that supplier instead of creating a second order, and drafts made by people or by Odoo are never touched — safe to run hourly, daily or weekly.
  • Drafts by default: nothing is sent to a supplier without you — you send the RFQ from Odoo. From the Family plan, orders below a value cap you set can be confirmed automatically (off by default).
  • Purchase Hold: put customers on credit stop or in dispute on hold. No stock is bought for their open orders, their undelivered quantities are subtracted from every purchase need, and each report shows how much was excluded. Available from the Business plan.

From Free Month to First Draft Orders

  • Step 1 — Start your free Discovery month: sign in at bots4.me/bots, click Start free Discovery month on the AutoPURCHASE card and accept the Terms once — no credit card needed. Want help with the setup? Tell us which ERP you run and how you buy today, and we set it up together with you. You can also click through the sample-data dashboard at bots4.me/bots_demo first.
  • Step 2 — Connect Odoo: on Odoo.sh or on-premise, install the free BOTS4.me Connect module (Odoo 13–19) and connect it in one click. On Odoo Online, create an API key under Settings → Users & Companies → Users → your user → Account Security (turn on developer mode if the tab is hidden), then open Settings (gear) → AutoPURCHASE → Access Manager → Add Source → ERP → Odoo at bots4.me and paste it there; the Odoo user behind the key needs Purchase (User) rights. Odoo Online needs Odoo’s Custom plan for API access. One connection serves every BOTS4.me app that works with Odoo.
  • Step 3 — Set your rules: in the Control tab of AutoPURCHASE set Min. order value (the combined value a supplier’s order must reach), Max. cover cap (the months of average demand you never order beyond) and the Never-order list (product codes, comma-separated). Round to packaging rounds quantities up to each vendor’s minimum quantity.
  • Step 4 — Start in DEMO: AutoPURCHASE starts in DEMO. Each run there produces a full purchase proposal report (per-supplier orders with values, suppliers skipped and why, products missing a vendor) while nothing is created in Odoo. In DEMO a new proposal is produced at most about once a day, and it uses your usage allowance like a live run.
  • Step 5 — Go live: in the Control tab switch the mode from DEMO to LIVE (it unlocks after your first DEMO report); Create Purchase Orders is on by default on every plan. Then choose a Run Schedule (hourly, daily or weekly) and Operating hours, and your buyers will find clean draft RFQs in Odoo, grouped per supplier.

Your First Week with AutoPURCHASE

  • Read the first proposal report: the summary shows the settings the run used, how many supplier orders it proposed with their total value, which suppliers were skipped for being below your Min. order value, and which products need ordering but have no vendor in Odoo.
  • Fix missing vendors: a product without a vendor cannot be placed on any RFQ. Add the vendor to the product in Odoo (the first vendor line is the preferred one) and the next run includes it.
  • “No stock targets found”? AutoPURCHASE needs targets to order against. Add min/max reordering rules to your products in Odoo (on Odoo 14 and later with Trigger set to Manual, so Odoo does not order them by itself), or let AutoSTOCK write them (LIVE, with Write Reorder Rules on) and keep Use AutoSTOCK Targets on.
  • Check every number: the order lines table shows Target, On hand, Incoming and Open sales next to each order quantity, plus the supplier price and line value. If quantities look too big, lower the Max. cover cap and check the vendor’s minimum quantity used by Round to packaging, then compare the next DEMO proposal.
  • Watch the dashboard: the Logs tab records what every run did and why, and the stats show Products Needing Order, Purchase Orders Created and Suppliers Skipped.
  • Go LIVE when the proposals match what you would have ordered: draft RFQs then appear in Odoo Purchase, one per supplier. A later run appends new lines to AutoPURCHASE’s own open draft for that supplier instead of creating a second order, so re-runs never stack orders; drafts made by people or by Odoo are never touched.
  • Auto-Confirm Orders comes last: it is available from the Family plan, off by default, and confirms only orders below your value caps. Turn it on only after several weeks in which the drafts consistently matched your own decisions.

📅 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, and full decision logs in the Logs tab. The platform is EU-hosted, built for GDPR, with optional 2FA. It is the same platform on which IMP Kontakt turns thousands of emailed RFQs and orders a month into ERP records with 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.

🌍 Odoo First, Other ERPs Too

AutoPURCHASE supports Odoo versions 13 through 19 (Odoo Online, Odoo.sh, and on-premise), ERPNext 15 and 16, Zoho Inventory, Dolibarr 23 and newer, Microsoft Dynamics 365 Business Central (online), QuickBooks Online, Xero and SAP Business One today. Any other ERP with an API (SAP S/4HANA, Oracle NetSuite, Dynamics 365 Finance / Sales and others) is connected on request — 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, and sending the RFQ to the vendor stays in Odoo. From the Family plan, orders below a value cap you set can be confirmed automatically (off by default).

How does it handle vendor minimum order quantities and values?

Vendor minimum order quantities from your Odoo vendor pricelists are respected (with Round to packaging on, quantities are rounded up to them), and every supplier’s order must reach your minimum order value. Orders that fall below it 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?

AutoPURCHASE counts purchase orders already incoming as covered need, and a later run appends new lines to its own open draft for that supplier instead of creating a second order. Drafts made by people or by Odoo are never touched, so even frequent scheduled runs do not stack orders.

Do I need AutoSTOCK to use AutoPURCHASE?

No. Standalone, AutoPURCHASE uses the min/max reordering rules already in your Odoo — on Odoo 14 and later, the rules you set to Trigger = Manual; rules left on automatic stay with Odoo. Owning both is better: AutoSTOCK recomputes optimal targets from real sales history on schedule, and AutoPURCHASE always orders against fresh, data-driven numbers.

Does AutoPURCHASE use AI to decide what to buy?

No. AutoPURCHASE is purely rule-based. Purchase orders are built from your stock targets, confirmed customer orders, stock on hand and purchase orders already on the way, the same input always gives the same result, and nothing is ever sent to an AI provider.

Which Odoo versions are supported, and can I try it first?

Odoo 13 through 19: Odoo.sh and on-premise with the one-click Python connector, Odoo Online with an API key. Odoo Online needs Odoo’s Custom plan for API access. Your first month is a free Discovery month, with no credit card needed. It starts in DEMO, and you receive full purchase proposal reports before a single order is created in Odoo.

📚 Related Guides

🔗 Sources and Further Reading

Official documentation and standards referenced in this guide. External links open in a new tab.

Let Your Purchase Orders Write Themselves

Start your free Discovery month: connect your Odoo, and your first purchase proposal reports arrive in DEMO, with nothing created in your ERP until you switch to LIVE.