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.0When 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
Menus it adds
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-03Confirmation status: 4 confirmed, 5 with no information of 9 versions.
Sources · Odoo 17.0
Confirmed on 2026-11-03 in branch 17.0 of OCA/purchase-workflow.
terminal Installation and usage
OCA documentation · Odoo 18.0Usage
Source · 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.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.