Purchase Order Approved

purchase_order_approved
REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/19.0/purchase_order_approved
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, ACSONE SA/NV
COMMITTERS
COMMITTERSJordiMForgeFlow, Weblate, OCA-git-bot, oca-ci, Quoc - Pham Ngoc
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:50
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase_stock
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - http_routing
    - auth_signup
    - resource
    - account
    - onboarding
    - analytic
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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:

![New states diagram](https://raw.githubusercontent.com/OCA/purchase-workflow/12.0/purchase_order_approved/static/description/schema.png)

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_order_approved purchase.order button Inherits purchase.purchase_order_form
report_purchaseorder_document report_purchaseorder_document ir.ui.view qweb Inherits purchase.report_purchaseorder_document
res_partner_form_view res.partner.form (in purchase_order_approved) res.partner group Inherits base.view_partner_form
view_purchase_configuration res.config.settings.view.form.inherit.purchase - purchase_order_approved res.config.settings xpath Inherits purchase_stock.res_config_settings_view_form_purchase
view_purchase_order_filter request.quotation.select - purchase_order_approved purchase.order filter Inherits purchase.view_purchase_order_filter
Models touched (4)

New fields (1)
  • state Selection
    selection_add=[('approved', 'Approved'), ('purchase')]
Public methods (2)
  • button_approve(self, force=False)
  • button_release(self)

New fields (1)
  • purchase_approve_active Boolean
    help="Adds an extra state in purchase orders previous to 'Purchase Order'. After confirming and approving a purchase order it will go to state 'Approved'. In this state the incoming shipments are not created yet and you still can go back to draft. You can release the creation of the incoming shipments moving the purchase order to state 'Purchase Order'." string="Use State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_approve_active Boolean
    readonly=False related='company_id.purchase_approve_active' string="Use 'Approved' Stage"
Public methods (0)

No public methods.

New fields (1)
  • purchase_requires_second_approval Selection
    copy=False default='based_on_company' selection=[('never', 'Never'), ('based_on_company', 'Based on company policy'), ('always', 'Always')]
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/18.0/purchase_order_approved
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, ACSONE SA/NV
COMMITTERS
COMMITTERSJordiMForgeFlow, Weblate, OCA-git-bot, oca-ci, Karl Southern
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:17
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase_stock
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - onboarding
    - analytic
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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:

![New states diagram](https://raw.githubusercontent.com/OCA/purchase-workflow/12.0/purchase_order_approved/static/description/schema.png)

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_order_approved purchase.order button Inherits purchase.purchase_order_form
report_purchaseorder_document report_purchaseorder_document ir.ui.view qweb Inherits purchase.report_purchaseorder_document
res_partner_form_view res.partner.form (in purchase_order_approved) res.partner group Inherits base.view_partner_form
view_purchase_configuration res.config.settings.view.form.inherit.purchase - purchase_order_approved res.config.settings xpath Inherits purchase_stock.res_config_settings_view_form_purchase
view_purchase_order_filter request.quotation.select - purchase_order_approved purchase.order filter Inherits purchase.view_purchase_order_filter
Models touched (4)

New fields (1)
  • state Selection
    selection_add=[('approved', 'Approved'), ('purchase')]
Public methods (2)
  • button_approve(self, force=False)
  • button_release(self)

New fields (1)
  • purchase_approve_active Boolean
    help="Adds an extra state in purchase orders previous to 'Purchase Order'. After confirming and approving a purchase order it will go to state 'Approved'. In this state the incoming shipments are not created yet and you still can go back to draft. You can release the creation of the incoming shipments moving the purchase order to state 'Purchase Order'." string="Use State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_approve_active Boolean
    readonly=False related='company_id.purchase_approve_active' string="Use 'Approved' Stage"
Public methods (0)

No public methods.

New fields (1)
  • purchase_requires_second_approval Selection
    copy=False default='based_on_company' selection=[('never', 'Never'), ('based_on_company', 'Based on company policy'), ('always', 'Always')]
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/17.0/purchase_order_approved
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, ACSONE SA/NV
COMMITTERS
COMMITTERSJordiMForgeFlow, Weblate, OCA-git-bot, sergio, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase_stock
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - onboarding
    - analytic
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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:

![New states diagram](https://raw.githubusercontent.com/OCA/purchase-workflow/12.0/purchase_order_approved/static/description/schema.png)

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_order_approved purchase.order button Inherits purchase.purchase_order_form
report_purchaseorder_document report_purchaseorder_document ir.ui.view qweb Inherits purchase.report_purchaseorder_document
res_partner_form_view res.partner.form (in purchase_order_approved) res.partner group Inherits base.view_partner_form
view_purchase_configuration res.config.settings.view.form.inherit.purchase - purchase_order_approved res.config.settings xpath Inherits purchase_stock.res_config_settings_view_form_purchase
view_purchase_order_filter request.quotation.select - purchase_order_approved purchase.order filter Inherits purchase.view_purchase_order_filter
Models touched (4)

New fields (1)
  • state Selection
    selection_add=[('approved', 'Approved'), ('purchase')]
Public methods (2)
  • button_approve(self, force=False)
  • button_release(self)

New fields (1)
  • purchase_approve_active Boolean
    help="Adds an extra state in purchase orders previous to 'Purchase Order'. After confirming and approving a purchase order it will go to state 'Approved'. In this state the incoming shipments are not created yet and you still can go back to draft. You can release the creation of the incoming shipments moving the purchase order to state 'Purchase Order'." string="Use State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_approve_active Boolean
    readonly=False related='company_id.purchase_approve_active' string="State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_requires_second_approval Selection
    copy=False default='based_on_company' selection=[('never', 'Never'), ('based_on_company', 'Based on company policy'), ('always', 'Always')]
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/16.0/purchase_order_approved
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, ACSONE SA/NV
COMMITTERS
COMMITTERSJordiMForgeFlow, Weblate, OCA-git-bot, rolandojduartem, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase_stock
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - analytic
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_order_approved purchase.order button Inherits purchase.purchase_order_form
report_purchaseorder_document report_purchaseorder_document ir.ui.view qweb Inherits purchase.report_purchaseorder_document
res_partner_form_view res.partner.form (in purchase_order_approved) res.partner group Inherits base.view_partner_form
view_purchase_configuration res.config.settings.view.form.inherit.purchase - purchase_order_approved res.config.settings xpath Inherits purchase_stock.res_config_settings_view_form_purchase
view_purchase_order_filter request.quotation.select - purchase_order_approved purchase.order filter Inherits purchase.view_purchase_order_filter
Models touched (4)

New fields (9)
  • company_id Many2one
    states=READONLY_STATES
  • currency_id Many2one
    states=READONLY_STATES
  • date_order Datetime
    states=READONLY_STATES
  • dest_address_id Many2one
    states=READONLY_STATES
  • order_line One2many
    states=READONLY_STATES
  • origin Char
    states=READONLY_STATES
  • partner_id Many2one
    states=READONLY_STATES
  • picking_type_id Many2one
    states=READONLY_STATES
  • state Selection
    selection_add=[('approved', 'Approved'), ('purchase')]
Public methods (2)
  • button_approve(self, force=False)
  • button_release(self)

New fields (1)
  • purchase_approve_active Boolean
    help="Adds an extra state in purchase orders previous to 'Purchase Order'. After confirming and approving a purchase order it will go to state 'Approved'. In this state the incoming shipments are not created yet and you still can go back to draft. You can release the creation of the incoming shipments moving the purchase order to state 'Purchase Order'." string="Use State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_approve_active Boolean
    readonly=False related='company_id.purchase_approve_active' string="State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_requires_second_approval Selection
    copy=False default='based_on_company' selection=[('never', 'Never'), ('based_on_company', 'Based on company policy'), ('always', 'Always')]
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/15.0/purchase_order_approved
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, ACSONE SA/NV
COMMITTERS
COMMITTERSMiquel Raïch, Weblate, OCA-git-bot, oca-ci, David Alonso // Solvos
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:40
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase_stock
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - analytic
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_order_approved purchase.order button Inherits purchase.purchase_order_form
report_purchaseorder_document report_purchaseorder_document ir.ui.view qweb Inherits purchase.report_purchaseorder_document
res_partner_form_view res.partner.form (in purchase_order_approved) res.partner group Inherits base.view_partner_form
view_purchase_configuration res.config.settings.view.form.inherit.purchase - purchase_order_approved res.config.settings xpath Inherits purchase_stock.res_config_settings_view_form_purchase
view_purchase_order_filter request.quotation.select - purchase_order_approved purchase.order filter Inherits purchase.view_purchase_order_filter
Models touched (4)

New fields (9)
  • company_id Many2one
    states=READONLY_STATES
  • currency_id Many2one
    states=READONLY_STATES
  • date_order Datetime
    states=READONLY_STATES
  • dest_address_id Many2one
    states=READONLY_STATES
  • order_line One2many
    states=READONLY_STATES
  • origin Char
    states=READONLY_STATES
  • partner_id Many2one
    states=READONLY_STATES
  • picking_type_id Many2one
    states=READONLY_STATES
  • state Selection
    selection_add=[('approved', 'Approved'), ('purchase')]
Public methods (2)
  • button_approve(self, force=False)
  • button_release(self)

New fields (1)
  • purchase_approve_active Boolean
    help="Adds an extra state in purchase orders previous to 'Purchase Order'. After confirming and approving a purchase order it will go to state 'Approved'. In this state the incoming shipments are not created yet and you still can go back to draft. You can release the creation of the incoming shipments moving the purchase order to state 'Purchase Order'." string="Use State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_approve_active Boolean
    readonly=False related='company_id.purchase_approve_active' string="State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_requires_second_approval Selection
    copy=False default='based_on_company' selection=[('never', 'Never'), ('based_on_company', 'Based on company policy'), ('always', 'Always')]
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/14.0/purchase_order_approved
VERSION
VERSION 1.2.1
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, ACSONE SA/NV
COMMITTERS
COMMITTERSDenis Roussel, OCA Transbot, JordiMForgeFlow, oca-travis, Weblate, OCA-git-bot, oca-ci, Surachet Saejueng
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase_stock
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - analytic
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_order_approved purchase.order button Inherits purchase.purchase_order_form
res_partner_form_view res.partner.form (in purchase_order_approved) res.partner group Inherits base.view_partner_form
view_purchase_configuration res.config.settings.view.form.inherit.purchase - purchase_order_approved res.config.settings xpath Inherits purchase_stock.res_config_settings_view_form_purchase
view_purchase_order_filter request.quotation.select - purchase_order_approved purchase.order filter Inherits purchase.view_purchase_order_filter
Models touched (4)

New fields (9)
  • company_id Many2one
    states=READONLY_STATES
  • currency_id Many2one
    states=READONLY_STATES
  • date_order Datetime
    states=READONLY_STATES
  • dest_address_id Many2one
    states=READONLY_STATES
  • order_line One2many
    states=READONLY_STATES
  • origin Char
    states=READONLY_STATES
  • partner_id Many2one
    states=READONLY_STATES
  • picking_type_id Many2one
    states=READONLY_STATES
  • state Selection
    selection_add=[('approved', 'Approved'), ('purchase')]
Public methods (2)
  • button_approve(self, force=False)
  • button_release(self)

New fields (1)
  • purchase_approve_active Boolean
    help="Adds an extra state in purchase orders previous to 'Purchase Order'. After confirming and approving a purchase order it will go to state 'Approved'. In this state the incoming shipments are not created yet and you still can go back to draft. You can release the creation of the incoming shipments moving the purchase order to state 'Purchase Order'." string="Use State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_approve_active Boolean
    readonly=False related='company_id.purchase_approve_active' string="State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_requires_second_approval Selection
    copy=False default='based_on_company' selection=[('never', 'Never'), ('based_on_company', 'Based on company policy'), ('always', 'Always')]
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/13.0/purchase_order_approved
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSmreficent, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Kitti U, Héctor Villarreal Ortega, kong
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:18
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase_stock
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - account
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_order_approved purchase.order button Inherits purchase.purchase_order_form
view_purchase_configuration res.config.settings.view.form.inherit.purchase - purchase_order_approved res.config.settings xpath Inherits purchase_stock.res_config_settings_view_form_purchase
view_purchase_order_filter request.quotation.select - purchase_order_approved purchase.order filter Inherits purchase.view_purchase_order_filter
Models touched (3)

New fields (9)
  • company_id Many2one
    states=READONLY_STATES
  • currency_id Many2one
    states=READONLY_STATES
  • date_order Datetime
    states=READONLY_STATES
  • dest_address_id Many2one
    states=READONLY_STATES
  • order_line One2many
    states=READONLY_STATES
  • origin Char
    states=READONLY_STATES
  • partner_id Many2one
    states=READONLY_STATES
  • picking_type_id Many2one
    states=READONLY_STATES
  • state Selection
    selection_add=[('approved', 'Approved')]
Public methods (2)
  • button_approve(self, force=False)
  • button_release(self)

New fields (1)
  • purchase_approve_active Boolean
    help="Adds an extra state in purchase orders previous to 'Purchase Order'. After confirming and approving a purchase order it will go to state 'Approved'. In this state the incoming shipments are not created yet and you still can go back to draft. You can release the creation of the incoming shipments moving the purchase order to state 'Purchase Order'." string="Use State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_approve_active Boolean
    readonly=False related='company_id.purchase_approve_active' string="State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/12.0/purchase_order_approved
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, sergiocorato, Adrià Gil Sorribes, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:23
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase_stock
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - account
    - analytic
    - portal
    - http_routing
    - digest
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_order_approved purchase.order button Inherits purchase.purchase_order_form
view_purchase_configuration res.config.settings.view.form.inherit.purchase - purchase_order_approved res.config.settings xpath Inherits purchase_stock.res_config_settings_view_form_purchase
Models touched (3)

New fields (9)
  • company_id Many2one
    states=READONLY_STATES
  • currency_id Many2one
    states=READONLY_STATES
  • date_order Datetime
    states=READONLY_STATES
  • dest_address_id Many2one
    states=READONLY_STATES
  • order_line One2many
    states=READONLY_STATES
  • origin Char
    states=READONLY_STATES
  • partner_id Many2one
    states=READONLY_STATES
  • picking_type_id Many2one
    states=READONLY_STATES
  • state Selection
    selection_add=[('approved', 'Approved')]
Public methods (2)
  • button_approve(self, force=False)
    @api.multi
  • button_release(self)
    @api.multi

New fields (1)
  • purchase_approve_active Boolean
    help="Adds an extra state in purchase orders previous to 'Purchase Order'. After confirming and approving a purchase order it will go to state 'Approved'. In this state the incoming shipments are not created yet and you still can go back to draft. You can release the creation of the incoming shipments moving the purchase order to state 'Purchase Order'." string="Use State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_approve_active Boolean
    readonly=False related='company_id.purchase_approve_active' string="State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/11.0/purchase_order_approved
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent
COMMITTERS
COMMITTERSLois Rilo, Jordi Ballester Alomar, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://odoo-community.org/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:24:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - barcodes
    - web_planner
    - account
    - analytic
    - portal
    - http_routing
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_order_approved purchase.order button Inherits purchase.purchase_order_form
view_purchase_configuration res.config.settings.view.form.inherit.purchase - purchase_order_approved res.config.settings xpath Inherits purchase.res_config_settings_view_form_purchase
Models touched (3)

New fields (9)
  • company_id Many2one
    states=READONLY_STATES
  • currency_id Many2one
    states=READONLY_STATES
  • date_order Datetime
    states=READONLY_STATES
  • dest_address_id Many2one
    states=READONLY_STATES
  • order_line One2many
    states=READONLY_STATES
  • origin Char
    states=READONLY_STATES
  • partner_id Many2one
    states=READONLY_STATES
  • picking_type_id Many2one
    states=READONLY_STATES
  • state Selection
    selection_add=[('approved', 'Approved')]
Public methods (2)
  • button_approve(self, force=False)
    @api.multi
  • button_release(self)
    @api.multi

New fields (1)
  • purchase_approve_active Boolean
    help="Adds an extra state in purchase orders previous to 'Purchase Order'. After confirming and approving a purchase order it will go to state 'Approved'. In this state the incoming shipments are not created yet and you still can go back to draft. You can release the creation of the incoming shipments moving the purchase order to state 'Purchase Order'." string="Use State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_approve_active Boolean
    related='company_id.purchase_approve_active' string="State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/10.0/purchase_order_approved
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ACSONE SA/NV, Eficent
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ACSONE SA/NV, Eficent
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), Lois Rilo, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Lindsay
WEBSITE
WEBSITEhttps://odoo-community.org/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - report
    - procurement
    - barcodes
    - web_planner
    - account
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_order_approved purchase.order button Inherits purchase.purchase_order_form
res_partner_form_view res.partner.form (in purchase_order_approved) res.partner group Inherits base.view_partner_form
view_purchase_configuration purchase.res.config.view - purchase_order_approved purchase.config.settings field Inherits purchase.view_purchase_configuration
Models touched (4)

New fields (1)
  • purchase_approve_active Boolean
    related='company_id.purchase_approve_active' string="Use State 'Approved' in Purchase Orders *"
Public methods (0)

No public methods.

New fields (9)
  • company_id Many2one
    states=READONLY_STATES
  • currency_id Many2one
    states=READONLY_STATES
  • date_order Datetime
    states=READONLY_STATES
  • dest_address_id Many2one
    states=READONLY_STATES
  • order_line One2many
    states=READONLY_STATES
  • origin Char
    states=READONLY_STATES
  • partner_id Many2one
    states=READONLY_STATES
  • picking_type_id Many2one
    states=READONLY_STATES
  • state Selection
    selection_add=[('approved', 'Approved')]
Public methods (2)
  • button_approve(self)
    @api.multi
  • button_release(self)
    @api.multi

New fields (1)
  • purchase_approve_active Boolean
    help="Adds an extra state in purchase orders previous to 'Purchase Order'. After confirming and approving a purchase order it will go to state 'Approved'. In this state the incoming shipments are not created yet and you still can go back to draft. You can release the creation of the incoming shipments moving the purchase order to state 'Purchase Order'." string="Use State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.

New fields (1)
  • purchase_requires_second_approval Selection
    copy=False default='based_on_company' selection=[('never', 'Never'), ('based_on_company', 'Based on company policy'), ('always', 'Always')]
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/9.0/purchase_order_approved
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent
COMMITTERS
COMMITTERSJordi Ballester Alomar, OCA Transbot
WEBSITE
WEBSITEhttps://odoo-community.org/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:23
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - report
    - procurement
    - barcodes
    - web_planner
    - account
    - analytic
    - web_tip
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_order_approved purchase.order button Inherits purchase.purchase_order_form
view_company_form res.company.form - purchase_order_approved res.company field Inherits purchase.mrp_company
Models touched (2)

New fields (9)
  • company_id Many2one
    states=READONLY_STATES
  • currency_id Many2one
    states=READONLY_STATES
  • date_order Datetime
    states=READONLY_STATES
  • dest_address_id Many2one
    states=READONLY_STATES
  • order_line One2many
    states=READONLY_STATES
  • origin Char
    states=READONLY_STATES
  • partner_id Many2one
    states=READONLY_STATES
  • picking_type_id Many2one
    states=READONLY_STATES
  • state Selection
    selection_add=[('approved', 'Approved')]
Public methods (2)
  • button_approve(self)
    @api.multi
  • button_release(self)
    @api.multi

New fields (1)
  • purchase_approve_active Boolean
    help="Adds an extra state in purchase orders previous to 'Purchase Order'. After confirming and approving a purchase order it will go to state 'Approved'. In this state the incoming shipments are not created yet and you still can go back to draft. You can release the creation of the incoming shipments moving the purchase order to state 'Purchase Order'." string="Use State 'Approved' in Purchase Orders"
Public methods (0)

No public methods.