Purchase orders, tenders and agreements
Odoo Purchase is the app that runs your procurement from the first quote request to the moment you pay the vendor. You build a request for quotation, send it to one or more suppliers, capture their prices, pick a winner, and turn that into a purchase order with a couple of clicks. The vendor ships, your warehouse receives, the vendor sends a bill, and Odoo Purchase checks all three documents agree before anyone cuts a payment.
It covers vendors, vendor pricelists, blanket agreements, alternative quote comparison, drop-shipping, and automatic POs from reordering rules. One ledger of who you buy from, what you owe, and what you've actually received. You can test Odoo Purchase free on the Odoo trial; pricing kicks in only if you install more than one Odoo app.
For Odoo's own product overview, see Odoo's product listing.
A buyer's day in Odoo Purchase usually starts on the Orders board. New demand surfaces in a few ways: a planner asks for something, the procurement scheduler runs (once a day on the default cron), a sales order with a drop-ship line creates a PO on its own, or a manufacturing run needs a component the warehouse doesn't have. Each of those lands as a draft request for quotation with the right product, quantity, and need-by date already filled in.
From that draft RFQ the buyer adds a vendor, applies the pricelist for that vendor (tiered by quantity, time-bound for a promo, or in the vendor's own currency), and clicks Send by Email. The PDF goes out as a request for quotation, not a confirmed order. If they're shopping the spend around, the Alternatives button copies the same RFQ to a second and third vendor and lays the three quotes side by side, so the cheapest line per product is highlighted and the buyer can mix and match before awarding. The winning RFQ is confirmed into a purchase order, the losers are cancelled in one click, and the audit trail keeps the reason on file.
Once the PO is confirmed, the receipt is queued for the warehouse team in Inventory. The vendor ships, the receiver scans or types in what came off the truck, and the on-hand count updates against your cost. When the vendor's bill arrives, the buyer or AP clerk opens it and picks the PO it relates to. The bill auto-fills from the PO line for line. With the 3-Way Matching add-on enabled, Odoo cross-checks the bill against the PO and the receipt on product, quantity, and price; any variance is flagged before the bill posts to Invoicing, so nobody pays for goods that never arrived or for a price the vendor changed quietly.
Calibre configures Odoo Purchase for Alberta businesses: step by step, in writing.
Speak to an Implementation SpecialistSMBs whose data lives in QuickBooks, HubSpot Free, or Excel spreadsheets that were set up when the business was smaller. The team now spends hours building reports by hand and reconciling between tools every month-end.
Mid-market buyers paying enterprise procurement licences when the team needs POs, vendor management, and approval routing tied to inventory and accounting.
Retail, manufacturing, mechanical, or professional services businesses with 10 to 200 employees running on a patchwork of point tools. The team wants one database for the whole company instead of Zapier holding it together.
Every confirmed PO in Odoo Purchase queues a receipt in Odoo Inventory for the warehouse team. The on-hand count updates at the PO price when goods arrive; freight, duty, and broker fees are added on a separate Landed Cost record that spreads those amounts across the receipt after the fact. The matching vendor bill auto-fills from the PO line for line; with the Vendor Bill: Release to Pay add-on (Enterprise), the bill is held in an Exception state until any product, quantity, or price variance against the receipt is resolved. On Enterprise, posted vendor bills flow into the Accounting general ledger, where AP aging, payment runs, and the cash-flow report pick them up without a re-key. Reordering rules in Inventory drive most POs automatically: stock dips below the minimum, the scheduler proposes a draft PO with the preferred vendor and the right quantity, and the buyer just reviews and sends. A flagged drop-ship line on a Sales order generates the PO direct to the vendor with the customer's shipping address.
List-price comparison against the procurement tools Calibre most commonly migrates customers off. The deciding factor is usually integration, not the line-item price. Odoo Purchase sits on the same database as every other Odoo app you install, so the data flows between modules without separate bridges.
| Tool | Per month (annual plan) | What you get |
|---|---|---|
| Odoo Purchase | CA$35.20/user/mo | All Odoo apps included, free 15-day trial |
| Coupa Procurement | US$100/user/mo | Procurement only |
| SAP Ariba | US$90/user/mo | Procurement only |
| Precoro Premium | US$35/user/mo | Procurement only |
| Tradogram Premium | US$15/user/mo | Procurement only |
Annual-commitment rate where published; monthly list rate otherwise. Sourced from vendor pricing pages, 2026-05. Plans and regions vary. Full cost calculator on the Odoo overview page.
Pricing source: Odoo's published Standard and Custom plans as of 2026-05. Calibre quotes in CAD; conversion from Odoo's local pricing in your region may vary.
Written, phase-by-phase quote before any code is written. Odoo Ready Partner, Calgary. In-house team, no offshore handoffs.