OdooWiki OCA HUB

Purchase Partner Approval

purchase_partner_approval folder_open OCA/purchase-workflow open_in_new
Purchase Management License: AGPL-3

Require partners to be approved before thay can be used on Purchase Orders.

This does not require, but was designed to be used with Partner Tier Validation (partner_tier_validation module).

Using that module, rules can be configured on who must approve, before the Partner Stage can be changed to an apptoved one.

auto_awesome What this module does

AI-generated from the code · Odoo 14.0

Control which partners can be used as vendors on purchase orders by marking them as approved for purchase. Vendors must be approved before they can be selected on a purchase order.

This module adds an approval step for vendors (suppliers) so that only approved contacts can be used on purchase orders.

On each contact form, in the Purchase tab, you now see two checkboxes: 'Candidate Purchase To' (visible while the contact is still in a draft stage) and 'Can Purchase To' (read-only, set automatically). A contact becomes 'Can Purchase To' only when it is in a stage marked as 'Approved for Purchase' and the 'Candidate Purchase To' box is ticked. Child contacts inherit the approval of their parent company.

On the contact stage configuration screen, a new 'Approved for Purchase' checkbox lets you decide which stages count as approved. By default it is ticked.

When creating a purchase order, the vendor field and the drop-ship address field only show contacts that are approved for purchase. Two optional blocking rules are installed but disabled by default: 'Vendor is Approved' and 'Drop Ship Address is Approved'. When enabled, they prevent confirming a purchase order that uses a non-approved vendor or drop-ship address.

Upon installation, all existing contacts are automatically set as approved so that current purchasing keeps working without disruption.

Models and fields (3)
  • res.partner · extends an existing modelpurchase_ok (Can Purchase To), candidate_purchase (Candidate Purchase To)
  • purchase.order · extends an existing modelpartner_id, dest_address_id
  • res.partner.stage · extends an existing modelapproved_purchase (Approved for Purchase)

Text generated by AI (DeepSeek) from reading the Odoo 14.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: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 14.0

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

terminal Installation and usage

OCA documentation · Odoo 14.0

The Purchase Order validation rules are configurable. By default Purchase Order confirmation is prevented is the Vendor or Drop Ship Address is not approvaed to be used in Purchase.

To configure Purchase Order validations navigate to Purchase / Configuration / Purchase Exception Rules. You need to belong to the Exception Manager security group to see this menu option.

For new vendor to require approval before being sold to, configure the Contact Stages appropriately. For example:

  • Navigate to Contacts / Configuration / Contact Stages
  • Edit the "Active" stage: uncheck "Default Stage" and check "Approved for Purchase"
  • Edit the "Draft" stage: check "Default Stage" and uncheck "Approved for Purchase"

To approve a Partner to be used in purchase:

  • Edit the Partner form, and in the "Sales & Purchase" tab check the "Candidate to Purchase" box.
  • Make sure the Parter is in a Stage that has the "Approved for Purchase" checkbox enabled. If this is the case, the Partner will automatically have enabled the "Can Purchase To" checkbox. found next to the "Candidate to Purchase" checkbox.

The "Candidate to Purchase" checkbox is only available in a draft/to approve Stage. The "Can Purchase To" will only be set when moving to a Stage that is not draft/to approve. Moving from an approved Stage to a draft one will not automatically reset the "Can Purchase To". This means that removing from Can Purchase state also needs to go through an approval.

On a Purchase Order:

  • The "Vendor" and "Drop Ship Address" selection lists only propose partners you "Can Purchase To".
  • The CONFIRM button will show a blocking exception message if the selected Customeror Drop Ship Address do not have the "Can Purchase To" flag checked (this may vary depending how the exception rules are configured).

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.