Flectic
Odoo Modules

Odoo Purchase: Procure-to-Pay for SME Operations

Odoo Purchase centralizes vendor pricelists, RFQs, purchase orders, receipts, and vendor bills in one app. Here is how every deal type, bill control policy, and 3-way match fits together, and how the module compares to Dynamics 365 Supply Chain Management.

What Odoo Purchase actually does

Odoo Purchase is the Odoo app that helps keep track of purchase agreements, quotations, and purchase orders, and it covers monitoring purchase tenders, automating replenishment, and following up on orders. For an SME, that means one place to send RFQs to vendors, confirm purchase orders, record receipts, and reconcile vendor bills against what was ordered and what actually arrived.

Because Purchase is part of the Odoo suite rather than a bolt-on, a confirmed purchase order flows directly into Inventory (receipts, stock on hand), Accounting (vendor bills and payables), and Manufacturing (subcontracting POs). The same data model — products, vendors, routes, locations — is shared, so there is no rekeying as a deal moves from quotation to bill.

From RFQ to confirmed purchase order

An RFQ (Request for Quotation) is the document a company sends to a vendor requesting product pricing. Odoo's RFQ feature standardizes ordering products from multiple vendors with varying prices and delivery times, which matters when you are comparing two or three suppliers for the same item.

The RFQ dashboard lists To Send, Waiting, and Late RFQs and POs, so a buyer can see at a glance which quotations still need to go out, which are waiting on a vendor response, and which have slipped past their expected date. Once the vendor approves the RFQ, the purchase order is confirmed to align on lead times and pricing. From that point the PO is the binding agreement that drives receipts and bills.

  • To Send: RFQ drafted but not yet sent to the vendor.
  • Waiting: RFQ sent, awaiting the vendor's confirmation.
  • Late: Expected date has passed without vendor confirmation or receipt.
  • Confirmed PO: Vendor agreed; the order is now binding and ready for receipt and invoicing.

Vendor pricelists and product setup

Odoo vendor pricelists are configured on each product's Purchase tab — vendor, unit price, delivery lead time, and an optional vendor product code or discount — so the information auto-populates on RFQs the moment a buyer adds that line. Pricelists can also be managed centrally under Purchase app > Configuration > Vendor Pricelists and imported in bulk, which is the faster path when you are onboarding hundreds of SKUs from a single vendor.

Setting up products as purchasable (the Purchase checkbox plus the Buy route) and attaching at least one vendor with a lead time is what unlocks replenishment downstream: minimum-stock rules and reordering rules can then auto-generate draft RFQs when stock falls below a threshold, instead of a buyer having to notice the shortfall manually.

Blanket orders and Call for Tenders

Odoo blanket orders are long-term purchase agreements between a company and a vendor to deliver products on a recurring basis with predetermined pricing. They are created from Purchase app > Orders > Purchase Agreements after enabling the Purchase Agreements setting, and they suit any SME that buys the same components month after month from the same supplier.

Purchase Agreements support two Agreement Types — Blanket Order and Call for Tenders. New RFQs created from a confirmed blanket order are pre-populated with the agreed vendor, products, quantities, and prices, and ordered quantities roll up into the agreement so procurement can see how much of the committed volume has been consumed. Call for Tenders is the competitive variant: one tender goes out to multiple vendors and each comes back with a quotation for the same requirements.

Vendor bills and bill control policies

An Odoo vendor bill is an invoice received for products and services purchased by a company from a vendor, and it records the payable. A bill can be raised from the Purchase app against a confirmed PO, or created directly from the Accounting app without a purchase order when an invoice arrives for incidental spend.

The point where a draft bill appears is governed by the bill control policy set on each product. Two policies are available, and the choice determines whether accounting sees the bill immediately at order confirmation or only after goods land in the warehouse.

Odoo bill control policies
PolicyDraft bill createdUse when
On ordered quantitiesWhen the purchase order is confirmedYou trust the vendor's shipment and want the bill in AP immediately
On received quantitiesOnly after all or part of the order is receivedYou want bills tied to what physically arrived — required for 3-way matching

3-way matching: PO, receipt, and vendor bill

Odoo 3-way matching is enabled in Purchase app > Configuration > Settings > Invoicing and ensures vendor bills are only paid once all or some products in a purchase order have been received. Odoo's official feature list describes it plainly: compare the information appearing on the Purchase Order, the Vendor Bill, and the Receipt to make sure you pay the correct bill.

Three-way matching only works with the On received quantities bill control policy, because it needs the receipt to exist as evidence of what was delivered. The cross-check is the same one enterprise ERP systems run: the bill's price ties back to the PO, the bill's quantity ties back to the receipt, and any mismatch blocks payment until a buyer or accountant resolves it. For an SME, this is the single most effective control against overpaying a vendor for short or partial shipments.

Dropshipping and subcontracting flows

Odoo dropshipping is an order fulfillment strategy that allows sellers to have items shipped directly from suppliers to customers, bypassing the seller's warehouse. It is enabled under Purchase app > Configuration > Settings > Logistics > Dropshipping and applied via the Dropship route on the product.

When a sales order is created for a dropshipped product, an associated RFQ is automatically generated; once that RFQ is confirmed it becomes a purchase order and a dropship receipt is created with the Source Location set to the vendor and the Destination Location set to the customer. The same Purchase app drives subcontracting: a PO is created to buy the finished product from the subcontractor, and components can be dropshipped from a component vendor directly to the subcontractor rather than routing through the buyer's warehouse.

Purchase approvals by amount

Odoo keeps procurement lightweight with amount-based approvals. Purchase approval is configured in Purchase app > Configuration > Settings by activating Order Approval and setting a minimum amount; purchase orders above that threshold require manager approval before confirmation, while smaller orders confirm immediately.

This is deliberately simpler than a full enterprise workflow engine. For most SMEs, a single amount threshold catches the orders that need a second pair of eyes without forcing every routine replenishment through an approval queue.

How this compares to Dynamics 365

Microsoft's equivalent lives across two products. Dynamics 365 Supply Chain Management carries the full Procurement and sourcing module: purchase requisitions, purchase orders with Journal / Purchase order / Returned order types, approval routing via Procurement and sourcing workflows, purchasing policies that can auto-generate POs from approved requisitions, and Accounts payable three-way matching with a configurable price-tolerance percentage. Dynamics 365 Business Central is the SME-tier equivalent: simpler purchase orders and vendor management built around the same PO-to-receipt-to-invoice core, plus vendor price lists.

The comparison is descriptive rather than evaluative. In D365 SCM, a purchase order is a document that represents an agreement with a vendor to buy goods or services, and PO status moves through Open order, Received, Invoiced, and Canceled as the deal progresses. Three-way matching in D365 matches price information on the vendor invoice to the purchase order and quantity information to the product receipt, with product receipt posting mandatory for three-way matching; policies can be set at the legal-entity level and overridden at the item or vendor level.

Odoo Purchase vs Dynamics 365 procurement scope
CapabilityOdoo PurchaseDynamics 365 SCMDynamics 365 Business Central
RFQ and PO managementNativeNativeNative
Blanket orders / purchase agreementsNativeNativeLimited
3-way matchingNative, settings-drivenNative, policy-driven with price toleranceLimited
Workflow-driven approvalsAmount-based thresholdFull Procurement and sourcing workflowsCommonly extended via AppSource add-ons
Dropshipping and subcontractingNative routesNativeNative

When Odoo Purchase fits an SME

Odoo Purchase is a strong fit for SMEs that want a single suite where procurement, inventory, accounting, and manufacturing share the same records, and where the procurement process itself is straightforward — RFQ, PO, receipt, bill, with amount-based approvals and optional 3-way matching. The configuration surface is small enough that a mid-market finance or operations lead can run it day to day without a dedicated procurement team.

Dynamics 365 SCM is the better fit when procurement complexity is high: multi-entity legal structures, purchasing policies that must auto-generate POs from requisitions, three-way matching with per-item or per-vendor tolerances, and approval workflows tied into a broader enterprise workflow engine. Business Central sits between the two for SMEs that are already in the Microsoft ecosystem but do not need SCM's full procurement depth.

Frequently asked questions

What is an RFQ in Odoo Purchase?

An RFQ (Request for Quotation) is a document a company sends to a vendor requesting product pricing. Odoo's RFQ feature standardizes ordering products from multiple vendors with varying prices and delivery times. The RFQ dashboard lists To Send, Waiting, and Late RFQs, and once the vendor approves the RFQ it is confirmed as a purchase order.

How does 3-way matching work in Odoo?

Odoo 3-way matching is enabled in Purchase app > Configuration > Settings > Invoicing and ensures vendor bills are only paid once all or some products in a purchase order have been received. It compares the information on the Purchase Order, the Vendor Bill, and the Receipt. It only works with the On received quantities bill control policy, because the receipt is the evidence of what was delivered.

What is a blanket order in Odoo?

A blanket order is a long-term purchase agreement between a company and a vendor to deliver products on a recurring basis with predetermined pricing. It is created from Purchase app > Orders > Purchase Agreements after enabling the Purchase Agreements setting. New RFQs created from a confirmed blanket order are pre-populated with the agreed vendor, products, quantities, and prices.

Does Odoo Purchase support dropshipping?

Yes. Dropshipping is enabled under Purchase app > Configuration > Settings > Logistics > Dropshipping and applied via the Dropship route on the product. When a sales order is created for a dropshipped product, an associated RFQ is automatically generated; once confirmed it becomes a purchase order and a dropship receipt is created with the vendor as the source location and the customer as the destination.

How does Odoo Purchase compare to Dynamics 365 procurement?

Odoo Purchase covers RFQs, POs, blanket orders, dropshipping, and 3-way matching for SME-scope procurement. Dynamics 365 Supply Chain Management adds enterprise depth: Procurement and sourcing workflows, purchasing policies that auto-generate POs from requisitions, and three-way matching with per-legal-entity, item, and vendor policies plus a price-tolerance percentage. Dynamics 365 Business Central is the SME-tier Microsoft equivalent with simpler PO and vendor management.

Can Flectic implement Odoo Purchase and Dynamics 365 procurement?

Yes. Flectic is a platform-neutral ERP and CRM implementation partner that implements both Odoo and Microsoft Dynamics 365 for SMEs. Book an ERP Readiness Call to scope your procurement requirements and choose the platform that fits your organization.

Scope your procurement rollout with Flectic

Flectic is a platform-neutral ERP and CRM implementation partner for SMEs on both Odoo and Microsoft Dynamics 365. Whether you need Odoo Purchase configured with 3-way matching and blanket orders, or Dynamics 365 Supply Chain Management procurement workflows scoped to your entities, our AI-accelerated delivery is designed to deliver up to 3x faster. Book an ERP Readiness Call and we will map the right procurement setup to your organization.

Book an ERP Readiness Call
Response within one business day

Sources