Purchase Agreement Types in Odoo 14

Purchase Agreement Types in Odoo 14

A purchasing agreement is a form of contract that points out the terms and conditions of the selling of products between the seller and the buyer. It contains the costs of the product and will assist in the smooth sale of the product. Basically, purchase agreements are not triggered in Odoo but can be configured using Odoo.


There are two types of purchase agreement types introduced by Odoo, including Call for tender and Blanket Order. Call for tender is the agreement type where multiple RFQs can be generated as multiple tenders to different vendors. So that the convenient RFQ can confirm and others can be canceled. The Blanket Order is mainly used in cases where bulk amounts are purchased in a specific period of time.


In this blog, you will learn

1. Call for Tender

2. Blanket Order


To configure purchase agreements, Go to the Purchase module > Configuration > Settings > Enable Purchase Agreements and Save changes.


purchase-agreement-types-odoo-14-cybrosys


Once it is saved, purchase agreements can be created from the configuration menu, Configuration > Purchase Agreement Types.


purchase-agreement-types-odoo-14-cybrosys


One can create the agreement type from here.


Call For Tender

In this purchase agreement type, multiple RFQs are generated for different vendors with different prices for the same product. This is the way to choose the best price for a product. This is like offering a tender for the public, whenever the RFQ confirms with the best price and all others can be canceled. So when we create a purchase agreement to ‘call for tender’ it is not necessary to add the vendor.


[wpcc-iframe loading=”lazy” width=”727″ height=”409″ src=”https://www.youtube.com/embed/DuL4oRh_dlA” frameborder=”0″ allow=”accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture” allowfullscreen=””]


Let us create the purchase agreement type call for tender and configure.


purchase-agreement-types-odoo-14-cybrosys


One can add the ‘Agreement type’ and ‘Agreement selection type’ in the required field.


The agreement selection type decides whether the remaining RFQs need to cancel automatically when any one of the RFQ is confirmed.

    1. Select only one RFQ (exclusive): When a purchase order is confirmed, the remaining purchase order is canceled.

    2. Select multiple RFQ (non-exclusive): It would not cancel the purchase order upon confirmation of the purchase order. Multiple PO are allowed in this case


Under Data for new quotations, the Data line and quantity can be set to whether it is auto-filled or manually. 

Use lines of agreement: it will automatically add the products in the product line when RFQ is creating.

Do not create RFQ lines automatically: In this case, we have to manually add products at the product line.

Use quantities of agreement: This will add the quantity defined in the agreement automatically at the product line of RFQ

Set quantities manually:  Here we have to annually enter the quantities in the RFQ order line.


Once the data added for the purchase agreement correctly, you can save it. Now you can create purchase agreements from the  Purchase Module > Orders > Purchase agreements > Create.


purchase-agreement-types-odoo-14-cybrosys


Add the purchase agreement details in the form like purchase representative, agreement deadline, agreement type, etc. Here vendor is not necessary to add. Because later we create RFQ for multiple vendors. 

Purchase Representative: The person who is responsible for this created a ‘call for tender’ purchase agreement.

Agreement Deadline:  Deadline  or expiry of this tender

Ordering Date: The date for which the tender is created and confirmed

Delivery Date: The planned and scheduled date for the arrival of  all the goods 


On confirming the purchase agreement, a new smart button RFQ is appearing in the form


purchase-agreement-types-odoo-14-cybrosys


one can create new quotations from the purchase agreement form. Click on ‘NEW QUOTATION’. Now add the vendor, to whom we are sending this quotation. The purchase agreement and source agreement are auto-filled since it is generated from the purchase agreement. Specify the product and price per quantity and quantity that are intended to purchase. Sent the quotation to the vendor and save.


purchase-agreement-types-odoo-14-cybrosys


In the quotation form, we can see a new checkbox to ask for confirmation. This is a new feature introduced in odoo, to ask confirmation from the vendor that the product will receive on the promised date or not.


Likewise, multiple quotations to different vendors with different prices can be created. Suppose I have created 4 quotations, hence the smart tab RFQ counts it as 4.


purchase-agreement-types-odoo-14-cybrosys


One can view all the quotations, tender price, and its status when you click on RFQ/Orders.


purchase-agreement-types-odoo-14-cybrosys


Suppose anyone of the RFQ gets confirmed, say from the vendor ‘Deco Addict’. Then it becomes the purchase order.


purchase-agreement-types-odoo-14-cybrosys


Once any of the RFQs are confirmed, you can see all other tender RFQs are canceled automatically.


purchase-agreement-types-odoo-14-cybrosys


This is because we chose the ‘Agreement Selection Type’ as Select only one RFQ (exclusive).


Blanket Order

Blanket orders used where a bulk quantity of products is required. This is another type of purchase agreement between the seller and buyer for which large volumes of products are frequently bought from a single vendor over a period of time with predetermined pricing. So when you create the purchase agreement, you have to mention the vendor.


[wpcc-iframe loading=”lazy” width=”789″ height=”409″ src=”https://www.youtube.com/embed/I74b3ab3jiE” frameborder=”0″ allow=”accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture” allowfullscreen=””]


First create the purchase agreement type blanket order from, Purchase module > Configuration > Purchase Agreement Types > Create.


purchase-agreement-types-odoo-14-cybrosys


Configuring blanket order is the same as that of call for tender. In this case, the agreement selection type chosen as ‘Select multiple RFQ (non-exclusive)’. Thus it can confirm multiple RFQs.


Under Data for new quotation, ‘use a line of agreements’ and ‘set quantities manually’ are enabled. So this will automatically add the product in the order line but the quantity should be manually added.


Now create a purchase agreement from ‘Purchase Module > Orders > Purchase Agreements’. 


purchase-agreement-types-odoo-14-cybrosys


Here we created a purchase, agreement blanket order, and the vendor is the mandatory field. Because we are ordering the product from the same vendor in a bulk quantity over a period of time. The agreement deadline is given for a month after. Now click confirm, thus the status moves from draft to ongoing. Let us create quotations, then the smart tab will show the RFQs.


purchase-agreement-types-odoo-14-cybrosys


Consider if the purchase order is P00030 is confirmed.


purchase-agreement-types-odoo-14-cybrosys


Thus it becomes the purchase order and the other RFQs are not canceled because we use the Agreement Selection Type as ‘Select multiple RFQ (non-exclusive)’. Also the agreement deadline we provided for the next one month, we can create RFQs for the vendor within that time period. We can even cancel the RFQ as well. Thus the Purchase Agreement seems to be ongoing status till the agreement expiry date.


purchase-agreement-types-odoo-14-cybrosys


When we check the vendor’s list of the product, under the purchase tab in the product form, you can see the vendor used in the purchase agreement is added to the vendor list. 


Also Read: Odoo 14 Enterprise vs Community


[wpcc-iframe loading=”lazy” allowfullscreen=”” allow=”autoplay *; encrypted-media *” src=”https://cdn.iframe.ly/V4RixLu?iframe=card-small&media=0&v=1&app=1″ style=”border: 1px solid rgb(222, 222, 222); box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 3px;”]

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *