This module adds an optional free-text reason to Odoo's native sales order cancellation dialog. The reason, user, and date are stored on the cancelled sales order.
Unlike sale_cancel_reason, which uses a predefined list of reasons, this module lets the user enter the reason as free text. Normally only one of these modules is needed.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Lets companies ask for an optional free-text reason when cancelling a sales order, and stores that reason, the user and the date on the cancelled order.
When enabled, cancelling a sales order opens a confirmation dialog that includes a free-text field where the user can type why the order is being cancelled. The reason is optional, so the cancellation can still go ahead without one.
- The option is switched on per company in the Sales settings, under the quotation and order settings block, with the label "Sale Cancellation Reason".
- Once enabled, the cancellation wizard shows a "Reason for cancellation..." field; the field is hidden when the option is off.
- On confirmation, the reason, the cancelling user and the cancellation date are written onto the sales order, together with a flag marking that the cancellation was confirmed.
- If the order is later reset to draft, the stored cancellation confirmation data is cleared.
- The module extends the sales order, the cancellation wizard, the company settings and the general settings screen, and relies on the shared cancellation-confirmation behaviour from
base_cancel_confirm.
The reason is free text rather than a predefined list, so users are not limited to a fixed set of choices.
Depends on
Models and fields (4)
- sale.order · new modelcancel_confirm
- res.company · extends an existing modelsale_cancel_confirm (Sale Cancellation Reason)
- sale.order.cancel · extends an existing modelcancel_reason, sale_cancel_confirm
- res.config.settings · extends an existing modelsale_cancel_confirm
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: 2 confirmed, 7 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/sale-workflow.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0To ask for an optional cancellation reason, go to Sales > Configuration > Settings and enable Sale Cancellation Reason for each company where the feature is needed.
This module adds a free-text reason to Odoo's native sales order cancellation dialog. The native option to send a cancellation email remains available.
No verified information in OCA: Installation, Usage.
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.