Inventory : Procurement Methods: Buy Route


This document covers the configuration and functionality of the Buy procurement route configured in the Inventory application of Odoo 14. 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 Master Data > PRODUCTS. You can either create a new product, or edit 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. This opens a modal window where you'll enter the details of the vendor. When you're done, click SAVE & CLOSE.

When you're ready, click Save on the 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. Next, we'll Save the order, 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 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, edit the product and use the  icon.

When you have your vendors in your preferred order, click Save.

For the sake of this example, we just know Odoo is going to generate an RFQ for 50 oz. of baking chocolate. When it's generated, Odoo will first look at CocoDreams at the $1.00 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!

The next vendor in the list is Abraham's Almonds with a price of $1.75; however, this pricing requires a minimum purchase of 120oz. We don't need that much, so this vendor also doesn't qualify.

This brings us to our third vendor, which is CocoDreams again. This has a price of $1.95 and a minimum of 8oz. 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 (50) and Preferred Routes (Buy), 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 CocoDreams was the selected vendor, and the price is $1.95.