Inventory : Procurement Methods: Buy Route


This document covers the configuration and functionality of the Buy procurement route configured in the Inventory application of Odoo 16. When used alone, these routes should have a Reordering Rule set so Odoo knows how much stock to order or manufacture.


To get started, navigate to the Inventory app.

Once there, go to PRODUCTS > PRODUCTS. You can either create a new product, or a select an existing product to apply your route to. The "Buy" route can only apply to storable products.

From within the product template, under the INVENTORY tab, select Buy. This tells Odoo to create a Request for Quotation (RFQ), which is a draft purchase order, when your stock, or forecasted stock, is running low.

Reordering Rules

In order for Odoo to know what your stock should be, you must set up Reordering Rules.

These rules will be triggered periodically through a scheduled action, and when triggered for a product with this configuration, will create an RFQ. For instructions on, refer to our Reordering Rules documentation


In addition to a reordering rule, you must also have one or more Vendors configured on the product. This tells Odoo which vendor to select when creating the RFQ.

Under the PURCHASE tab, click ADD A LINE and add details for the vendor(s) from which you'll be purchasing this product.


Don't Forget the Vendor!

If there's no vendor set on the product, then no RFQ will be generated in this workflow. A delivery will be created but left in "Waiting" status, but there will be no notification or indication that stock is not being replenished.

Watch it Work

Before leaving your product, first check to see what your current stock  On Hand is. In order to see the mechanisms work, you want to order more product than you have in stock. For our product, we have 0 in stock.

Navigate to the Sales app, then click CREATE. Create a quotation for the product you've configured for the Buy route. We can immediately see that we don't have enough stock on hand because the  forecast icon is shown in red, then click Confirm.

Run the Scheduler

Odoo runs the Scheduler at set intervals, but we're going to initiate it ourselves. Go back to the Inventory app.

Once there, click Operations > Run Scheduler. This brings up a modal window where you'll click Run Scheduler to confirm the action.

Review the RFQ

Once the scheduler has been run, go to the Purchase application. 

The default view will be a list of Requests for Quotation, and here we see the RFQ that was generated from our reordering rule.

When we open this RFQ, we can see the quantity ordered is 60. This is the calculation Odoo performed in order to satisfy our minimum stock requirement and order demand, and comply with the multiples set in the Reordering Rule.

Good to Know!

Which Vendor Does Odoo Select?

If you have the option to purchase a product from several different vendors, how do you indicate which Odoo should choose when the RFQ is generated automatically? 

In short, the selection is based on the order of your vendors on the product template under the Purchase tab. The product price is not a factor in which vendor is used, so if you'd like price to be the main factor, then sort your vendors by price. To change the order, use the  icon.

For the sake of this example, we know Odoo is going to generate an RFQ for sugar cookie dough. When it's generated, Odoo will first look at the vendor with the 4.15 price. Here, we can see that the minimum quantity we can order at this price is 0, which is great, but it looks like this was a promotional pricing and it has expired. So, what happens if our preferred vendor doesn't qualify? Odoo simply moves to the next vendor in the list! Note: Some of these columns do not display by default. Use the  ellipsis menu to enable them!

The next vendor in the list is Bakery Essentials with a price of $3.99; however, this pricing requires a minimum purchase of 5.  If we do not need that many, then this vendor also doesn't qualify.

This brings us to our third vendor, which is Crazy 4 Candy. This has a price of $2.00 and a minimum order of 3. This vendor qualifies and will be the one Odoo generates the RFQ for.

To test this, we'll click Replenish on the product and complete the replenishment form.

On the form, we'll enter our Quantity, leave the remaining fields at the default settings, then click confirm.

Next, well head over to the Purchase app.

Here we'll see and select the RFQ that was just generated.

On the RFQ, we can confirm that Crazy 4 Candy was the selected vendor, and the price is $2.00.