OdooWiki OCA HUB

Purchase Cancel Reason

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

When a purchase order is canceled, a reason must be given, it is chosen from a configured list.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

When cancelling a purchase order, Odoo now asks you to pick a reason from a configurable list, and stores that reason on the order. Managers can maintain the list of reasons under Purchase settings.

This module changes how purchase orders are cancelled: instead of cancelling directly, Odoo opens a small pop-up window asking you to choose a reason for the cancellation. The reason is mandatory, so no purchase order can be cancelled without one.

Where it appears: - On the purchase order form and in the purchase order lists, the standard Cancel button is replaced by a new Cancel button that opens the reason pop-up. - The chosen reason is then shown on the purchase order, next to the vendor reference. - A new menu "Purchase Order Cancel Reasons" is available under Purchase configuration for purchase managers, where reasons can be created, edited or deleted.

Business rules and automatic behaviour: - The reason list comes pre-loaded with three examples: "Just for Quotation", "Service no longer needed" and "Other Service Provider selected". - Orders already in Done or Cancelled state cannot be cancelled again; if you try, Odoo shows a warning listing those orders. - When several orders are selected, only the ones that can still be cancelled are processed. - Once a reason is set on an order, it cannot be deleted from the reason list while it is still used.

It touches the purchase order (purchase.order) and adds two new objects: the cancellation reason list and the cancellation pop-up.

Depends on

purchase

Menus it adds

Purchase Order Cancel Reasons
Models and fields (3)
  • purchase.order · extends an existing modelcancel_reason_id (Reason for cancellation)
  • purchase.order.cancel · new modelreason_id (Reason)
  • purchase.order.cancel.reason · new modelname (Reason)

Text generated by AI (DeepSeek) from reading the Odoo 18.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: 4 confirmed, 5 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 18.0
  • During purchase order state equal to Draft, RFQ Sent or Purchase Order
  • Click at "Cancel" button, a wizard will show a list of cancel reasons
  • Choose a reason and confirm cancellation, the reason will be stamped in the purchase order

No verified information in OCA: Installation, Configuration.

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.