| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Invoicing (account) • Purchase (purchase) • Discuss (mail) |
| Lines of code | 602 |
| Technical Name |
consultive_mandatory_cancel_reason |
| License | LGPL-3 |
| Website | https://www.consultive.io |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Invoicing (account) • Purchase (purchase) • Discuss (mail) |
| Lines of code | 602 |
| Technical Name |
consultive_mandatory_cancel_reason |
| License | LGPL-3 |
| Website | https://www.consultive.io |
Stop One-Click Cancellations.
Get Full Accountability.
Out of the box, Odoo lets anyone cancel a Sale Order, Purchase Order, Invoice, or Transfer with a single click — no reason, no trace, no record. This module closes that gap. Every cancellation goes through a mandatory reason wizard. The reason is logged in the chatter with the user's name and timestamp, automatically — every single time.
Everything You Need in One Module
|
🚫
Mandatory Reason Wizard
Intercepts every cancel action. No bypass, no shortcuts — a reason must be selected before the document is cancelled.
|
💬
Auto Chatter Logging
Reason, optional note, user name, and timestamp are posted to the record's chatter automatically after every cancellation.
|
⚙️
Any Model, Zero Code
Extend to Manufacturing Orders or any other installed Odoo model in seconds — via a simple settings page. No development needed.
|
|
📋
Central Cancellation Log
One searchable log across all document types — grouped, filterable by reason, user or date, and printable as a report.
|
📝
Configurable Reason List
Create your company's standard reasons. Drag-and-drop to reorder. Archive old reasons without losing any historical log entries.
|
✅
Single & Bulk Cancel
Works when cancelling one record from the form view or multiple records at once from the list view — same wizard, same log.
|
A Reason Is Required. Every Time.
The moment a user clicks Cancel on any configured document, the action is intercepted and the wizard opens. The document stays unchanged until a reason is chosen. Works on form views and list views, for single and bulk cancellations.
Cancel wizard intercepting a Manufacturing Order — reason is required before the document is cancelled.
Build Your Company's Reason List
Go to Settings → Cancellation → Cancellation Reasons and define the reasons that matter for your business. Drag to reorder the dropdown. Archive reasons that are no longer in use — historical log entries are never affected.
Reasons list — orderable via drag-and-drop, toggleable active state. |
Creating a new reason — just a name and sequence number. |
Every Cancellation. One Place.
The Cancellation Log gives managers and auditors a single, searchable view across every document type — grouped by model, filtered by reason, user, or date range. Print it as a report or export it. Full accountability at a glance.
Cancellation Log grouped by document type — Date, Document, Reason, Cancelled By, and Note visible in one view.
Enable for Any Odoo Model — No Code Required
The module ships pre-configured for Sale Orders, Purchase Orders, Invoices / Bills, and Warehouse Transfers. Need it on Manufacturing Orders? Or HR Leave Requests? Or any other model? Open Settings → Cancellation → Model Configuration, add a row, and the intercept is live — the cancel method is detected automatically, no restart required.
Model Configuration — all active models listed, with auto-detected cancel method. |
Adding Manufacturing Order — type ahead to find any installed model. |
How It Works
|
1
|
Configure your reasons
Settings → Cancellation → Cancellation Reasons. Add your company's standard reasons and drag to reorder them.
|
|
2
|
User clicks Cancel
On any configured document — Sale Order, PO, Invoice, Transfer, Manufacturing Order, or anything you've added — the wizard opens automatically.
|
|
3
|
Select a reason (required)
Required dropdown — the document cannot be cancelled without one. An optional free-text note can be added for extra context.
|
|
4
|
Logged automatically
Document cancelled. A chatter entry is created with reason, note, user name, and timestamp — no manual steps.
|
|
5
|
Review in the Cancellation Log
All cancellations across every document type are visible in one searchable, filterable log — ready to export or print as a report.
|
Technical Information
| Odoo Version | 19.0 |
| Edition | Community & Enterprise |
| Core Dependencies | sale, purchase, account, stock |
| Optional (via Config) | mrp, any installed model |
| License | LGPL-3 |
| Price | Free |
Built by Consultive
We specialize in custom Odoo development, implementation, and business process consulting — building modules that solve real operational problems, thoroughly tested and ready for production.
| 🌐 consultive.io | | | ✉ contact@consultive.io | | | 📞 +880 1711 751571 |
Please log in to comment on this module