OdooWiki OCA HUB

Purchase Order Approved

purchase_order_approved folder_open OCA/purchase-workflow open_in_new
Purchases License: AGPL-3

This module extends the functionality of purchases adding a new state Approved in purchase orders before the Purchase Order state. Additionally add the possibility to set back to draft a purchase order in all the states previous to Purchase Order. From a user point of view, this change introduces a two-step validation process of the purchase order.

In this new Approved state:

  • You cannot modify the purchase order.
  • However, you can go back to draft and pass through the workflow again.
  • The incoming shipments are not created. You can create them by clicking the Convert to Purchase Order button, also moving to state Purchase Order.

The new state diagram is depicted below:

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Adds an extra 'Approved' stage to purchase orders before they become real Purchase Orders, so a second person can validate them. You can also send an approved order back to draft or release it to create the incoming shipments.

This module adds a two-step validation to purchase orders. After a request for quotation is confirmed, the order can land in a new 'Approved' stage instead of going straight to 'Purchase Order'.

  • Whether this extra stage is used can be set per company in the Purchase settings ('Use Approved Stage'), and per supplier on the partner form ('purchase_requires_second_approval': Never, Based on company policy, or Always).
  • When the company policy is on and the supplier is set to 'Based on company policy', confirming an order moves it to 'Approved'. If the supplier is set to 'Always', it always goes to 'Approved'.
  • In the 'Approved' stage the order lines and main fields (supplier, dates, currency, company, delivery address, warehouse operation type, source document) become read-only, so the order cannot be changed.
  • A 'Convert to Purchase Order' button appears on the order; clicking it moves the order to 'Purchase Order' and creates the incoming shipments.
  • From 'Approved' you can still send the order back to draft and run the workflow again, or cancel it.
  • A new 'Approved Orders' filter is available in the purchase order list, and the main Purchase Orders menu now shows approved, purchase and done orders.
  • The printed purchase order report also treats the 'Approved' stage like the earlier draft/sent/to approve stages.

Depends on

purchase_stock
Models and fields (4)
  • res.company · extends an existing modelpurchase_approve_active (Use State 'Approved' in Purchase Orders)
  • res.partner · extends an existing modelpurchase_requires_second_approval
  • purchase.order · extends an existing modelstate
  • res.config.settings · extends an existing modelpurchase_approve_active (Use 'Approved' Stage)

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 19.0

Confirmed on 2026-11-03 in branch 19.0 of OCA/purchase-workflow.

terminal Installation and usage

OCA documentation · Odoo 19.0

This new workflow can be activated by company and by supplier.

To activate the new workflow by company:

  • Go to 'Purchase \> Configuration \> Settings'.
  • In the Orders section you can set the State 'Approved' in Purchase Orders.

To activate the new workflow by supplier:

  • Open the supplier form view.
  • In the Purchase section in the Sales & Purchases tab the field Purchase requires second approval allows you to select the policy to apply for the current supplier. 'Never' \| 'Always' \| 'Based on company policy'

To use this module, you need to:

  • Go to a Request for Quotation.
  • Click Confirm Order. The state is now Approved (if no order approval is not set).
  • To move forward to the state Purchase Order and release the creation of the deliveries, click on Convert to Purchase Order.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.