Odoo 17 Tutorial: 3-Way Matching in Purchasing

Mar 4, 2024

The 3-way matching feature is a key feature of Odoo’s Purchase app. 3-way matching ensures you pay vendor bills only after receiving the items listed in the purchase order. Odoo 17 makes this easier by linking purchase orders, invoices, and goods received notes together, helping you manage purchases and payments more effectively.

3-way matching in Odoo 17 ensures that your purchase reconciliation are always accurate

Odoo’s 3-way matching feature allows you to cross-verify data across 3 key documents:

Purchase Orders

Goods Received notes

Vendor Bills

This way you make sure that what you ordered, what you received, and what you’re being charged for all add up. 

Odoo 17 matches the following key info of your purchases: 

Quantity: Odoo makes sure the number of items you ordered is the same as what you received and were billed

Description: Odoo checks that the description of what you ordered matches what you received and were invoiced for

Price: Odoo confirms the price of the items you ordered matches the price of items you received and were invoiced

How does 3-way matching in Odoo 17 improve your purchase process?

Preventing Overpayment: You can use the 3-way matching feature to catch any discrepancies between the purchase order, goods received note, and supplier invoice, preventing overpayment due to incorrect quantities, descriptions, or prices.

Simplifying Invoice Processing: By using the 3-way matching feature, you can verify that all relevant details are correct and accounted for, simplifying invoice processing and payment stages.

Minimizing Supplier Disputes: By using the 3-way matching feature, you can quickly identify any discrepancies between what was ordered, received, and invoiced, reducing the risk of disputes with your suppliers and ensuring that all parties are in agreement.

How does 3-way matching work in Odoo 17?

Step 1: Enable 3-way matching in Settings

Go to the Settings of your Purchase App and ensure that the 3-way matching feature is enabled.

Step 2: Create a purchase order

This is the first step in the 3-way matching process. The purchase order should include details such as the supplier, the items to be purchased, and the quantities and prices.

Step 3: Check product Control policy

Once you added the product, click on the internal link to go to the product settings. Choose the “Purchase” tab & make sure that the correct control policy “On received quantities” is selected. 

Step 4: Confirm Order & Test 3-way matching

Go back to your Purchase Order and select “Confirm the Order”. Odoo 17 will now sent your RFQ automatically to the vendor. However, since you still have not received the products, you will not be able to create a vendor bill yet thanks to the 3-way matching. Instead, if you try to select “Create Bill” it will show you the following error message. 

Step 5: Receive goods

When the goods are received, a receipt should be created in the system to confirm that the correct items were received and in the correct quantities.

  • Select “Receive Products”. Here you can check that the demanded quantity and the quantity you will receive match. 
  • Select “Validate”

Step 6: Invoice receipt

The supplier will then send an invoice for the goods received. The invoice should be entered into the system and matched to the purchase order and the receipt.

Step 7: Approve & Pay

If there are no discrepancies, the matched data can be approved and the payment can be processed.

Mis-match case: Order only partially delivered

So far, so smooth, but what happens if your vendor only delivers parts of your order? To explore this use case, let us go back and create a new RFQ from scratch. As before, add vendor, product and for this example a quantity of 10.

Now let’s assume that the goods arrive, but instead of the full order of 10 products, only 5 are delivered. To run through this, select “Confirm Order” > “Receive Products”. Then change “Quantity” to 5. 

If you now try to validate the order, Odoo opens a wizard in which you have the option of creating a backorder. This way, you can continue processing the partially delivered order and at the same time set up an automatic reorder for the remaining products as soon as they are back in stock.

Now let’s assume receiving these products is time-sensitive for your business and you will not need the delivery at a later point. In this case you would select “NO BACKORDER”.If you then go back to your Purchase order and select “Create Bill” you will see that the vendor bill will automatically only invoice 5 products. 

We can now test Odoo’s 3-way matching by forcefully creating a mismatch. 

Change the invoiced line manually to 10 again and confirm the bill. This will create a mismatch between the demanded quantity (10), the delivered quantity (5) and the invoiced quantity (10).

Next, if you go to the tab “Other Info” you will see that Odoo 17 automatically detects this mis-match, by setting the status “Should Be Paid” to “Exception”. Yet it will not block the payment as there might be a valid reason for going through with the payment.

Talk to our experts for more Odoo 17 insights!

Whether you’re looking at implementing solid purchasing processes in Odoo 17 or customizing its 3-way matching feature to suit your unique workflows, our team of experts is ready to help! Contact us to discuss how we can fine-tune your business operations with Odoo, ensuring your project not only meets but exceeds expectations.

Odoo topics that might also interest you:
Recent Posts

Odoo 17 Accounting hack – a guide to re-invoicing

Sometimes, employees may cover expenses out of pocket when working on client projects – like transport or accommodation. These expenses need to be reinvoiced to the client. Odoo 17 makes it easy to re-invoice such expenses directly to the customer. Discover how to...

read more

much. Chats: An Interview with Duarte Viana

We have invited several team members within our Consulting department for a session of chats.  For our latest interview we invited Duarte Viana, our P&C Team Lead in Portugal, to share his story with much. in his own words!  Duarte is a core member of much. –...

read more

Everything we know about Odoo 18 (so far)

Odoo 18 has been kept under wraps… until now. We got our hands on the new and exciting version updates from the Odoo 18 roadmap (and some insights from Odoo’s Partner Day). In this article, we compiled them all for a full overview on what to expect regarding strategy...

read more

much. Chats: An Interview with Nadja Planic

We’re back with a new interview in our series! As a recap, we invited several members of our team for a series of interviews, where we dive into their thoughts on working in consultancy, on working at much., and much more! This time we invited Nadja Planic, our Head...

read more

Odoo 17’s hidden feature for selling digital products

Odoo 17’s eCommerce and Website apps allow users to create webshops that are easy to use. From a variety of configurable product types and categories to sleek webshop displays and upselling features, there’s very little Odoo can’t do. However, some features of Odoo's...

read more

5 Effective Ways AI Is Used in Odoo 17

The world continues to rapidly shift towards AI and its many applications, with no signs of slowing down! Companies adopting AI are already seeing impressive results in key business areas like insights & forecasting, sales, and cost management. As AI's influence...

read more

much. Chats: An Interview with Cláudia Cabral

We want to take you behind the scenes and introduce you to all the friendly faces and bright minds here at much. Consulting - and we're back another Consultant interview! We have invited several members of our team for a series of interviews, where we dive into their...

read more
Meet much.! Learn more about our team
You would like to get personal consultation about Odoo? Talk to our experts!

    Topics that might also interest you: