OdooWiki OCA HUB

Sale Cancel Reason

sale_cancel_reason folder_open OCA/sale-workflow open_in_new
Sale License: AGPL-3

When a sale 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 19.0

When cancelling a sale order, users must pick a reason from a configurable list. The chosen reason is stored on the order and shown on cancelled orders.

This module makes a cancellation reason mandatory when a sale order is cancelled. Instead of cancelling directly, the Cancel button on the sale order opens a small wizard asking the user to choose a reason from a predefined list before confirming.

  • Reasons are managed in a new configuration menu, Sale Order Cancel Reasons, under the Sales settings. Sales managers can add, edit or remove reasons; salespeople can only read them.
  • Three reasons are provided by default: Just for Quotation, Service no longer needed and Other Service Provider selected.
  • Once an order is cancelled, the chosen reason appears on the order form next to the status, and it is tracked in the chatter.
  • If the order is reset to draft (quotation), the cancellation reason is automatically cleared.
  • The same reason is also required when cancelling several sale orders at once through the mass cancel wizard.
  • The reason cannot be deleted while it is still used on an order, and it is not copied when duplicating an order.

The module touches sale.order, the mass cancel wizard and adds the sale.order.cancel.reason model and the cancellation wizard.

Depends on

sale

Menus it adds

Sale Order Cancel Reasons
Models and fields (4)
  • sale.order · extends an existing modelcancel_reason_id (Reason for cancellation)
  • sale.mass.cancel.orders · extends an existing modelreason_id (Reason)
  • sale.order.cancel.reason · new modelname (Reason)
  • sale.order.cancel.wizard · new modelorder_id (Order), reason_id (Reason)

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 12.0

Confirmed on 2026-11-03 in branch 12.0 of OCA/sale-workflow.

terminal Installation and usage

OCA documentation · Odoo 19.0

To use this module, you need to:

  • Click at "Cancel Order" button from a sales order which state equal to Draft, Quotation or Sales Order
  • A wizard will show a list of cancel reasons
  • Choose a reason and confirm cancellation, the reason will be stamped in the sales 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.