All in One Cancel — Sales, Purchase, Picking, Invoice & Payment
by Cerevantix Technologies https://www.cerevantix.com$ 39.01
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Invoicing (account) • Purchase (purchase) • Sales (sale_management) • Discuss (mail) |
| Lines of code | 671 |
| Technical Name |
cerevantix_all_in_one_cancel |
| License | OPL-1 |
| Website | https://www.cerevantix.com |
| Versions | 17.0 18.0 19.0 |
Bulk cancel, reset, and delete — safely
One wizard to Cancel, Reset to Draft, or Delete Sales Orders, Purchase Orders, Transfers, Invoices, and Payments in bulk — with an impact preview before anything runs and a full audit trail after.
Odoo makes cancellation a one-at-a-time chore. A confirmed sales order with a delivery, a purchase order with a vendor bill, or a posted invoice often cannot be cancelled or reset without manually unwinding every linked document first. Month-end cleanup that should take minutes turns into hours of clicking record by record — with no visibility into what a bulk cancel will actually touch before it happens.
Select any number of Sales Orders, Purchase Orders, Transfers, Invoices, or Payments and launch All in One Cancel straight from the list view. Every record is colour-coded Ready, Warning, or Blocked with a plain-language reason before you confirm — then a mandatory reason and a searchable audit log keep the whole operation accountable.
Everything a bulk cleanup needs
Every capability below is implemented in the module.
Five Document Types, One Wizard
Cancel, Reset to Draft, or Delete Sales Orders, Purchase Orders, Transfers, Invoices/Bills, and Payments — the same control bound into every list view's Actions menu.
Impact Preview Before Execution
Every selected record shows a Ready, Warning, or Blocked badge with the count of linked documents and a plain-language reason — nothing runs until you confirm.
Blocking Validation
Records that would leave orphaned data — a done transfer, a purchase order with a posted bill, an already-cancelled order — are flagged red and skipped automatically, with the reason spelled out.
Risk-Aware Warnings
A paid invoice, a reconciled payment, or an order with a posted invoice still remaining are amber Warnings — allowed to proceed, but called out so you review before confirming.
Mandatory Reason
Every run requires a written reason before it can execute, feeding a compliant, always-populated audit trail — no more unexplained cancellations.
Role-Gated Delete
Cancel and Reset to Draft are available to any Cancellation User; permanent Delete is restricted to Cancellation Managers and shown with its own red "irreversible" warning.
Full Audit Trail
Every run logs who did what, when, why, and with what result — searchable, groupable by operation, and exportable to CSV from a dedicated Cancellation History menu.
Per-Record Isolation
Each record processes inside its own savepoint, so one failing document in a batch never rolls back or blocks the rest of the run.
Multi-Company Ready
The audit log carries its own company and a multi-company record rule, so every entity's cancellation history stays properly scoped.
How it works
Select Records
Tick any number of rows in a Sales, Purchase, Transfers, Invoicing, or Payments list.
Launch All in One Cancel
Open it from the list's Actions menu and pick Cancel, Reset to Draft, or Delete.
Review the Impact Preview
Check the Ready, Warning, and Blocked badges, deselect any rows, and enter a reason.
Execute & Audit
Confirm to run the batch; every outcome is written to the Cancellation History log.
See it in action
Real screens from the module, captured on Odoo 17.
Select any rows in the Sales Orders list and find "All in One Cancel" right in the standard Actions menu — no new screen to learn.
Sales Orders: Ready, Warning ("Has 1 posted invoice(s) that will remain"), and Blocked ("Already cancelled") — all three states explained in one preview.
Purchase Orders: a Blocked row explains exactly why — "Cancel the 1 related vendor bill(s) first."
Transfers: a done delivery is safely blocked rather than risking a corrupted stock reversal.
Invoices/Bills: a partially paid invoice is flagged Warning so accounting impact is reviewed first.
Payments: a reconciled payment warns that cancelling will un-reconcile it from its invoices/bills.
Delete is styled and guarded differently — a clear "irreversible" warning, restricted to Cancellation Managers.
Cancellation History: every run, grouped by operation, with reason, result and who did it — searchable and exportable to CSV.
Every log entry links straight back to the original document with one click via the Open Document button.
Frequently asked
Which document types can I bulk cancel?
Sales Orders, Purchase Orders, Transfers (stock.picking), Invoices/Bills, and Payments. The same wizard opens from each model's own list view.
What stops me from breaking a linked document?
Before anything runs, each selected record is evaluated and shown as Ready, Warning, or Blocked with the exact reason — for example a done transfer or a purchase order with a posted bill is blocked automatically rather than silently corrupting stock or accounting data.
Who can permanently delete records?
Only users in the Cancellation Manager group. Regular Cancellation Users can Cancel and Reset to Draft, but Delete is gated separately and shown with its own irreversible-action warning.
If one record in a batch fails, does the whole run roll back?
No. Each record runs inside its own savepoint, so a single failure is logged and skipped while the rest of the batch completes normally.
Get in Touch
Have questions or need customization? Every purchase includes 30 days of free support — we are here to help.
Visit Our Website
www.cerevantix.comExplore our apps, services, and portfolio.
Explore our other apps
A growing suite of Odoo apps.
Empowering growth through technology.
One wizard to safely Cancel, Reset to Draft, or Delete Sales Orders, Purchase Orders, Transfers, Invoices, and Payments in bulk — built natively on Odoo.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Invoicing (account) • Purchase (purchase) • Sales (sale_management) • Discuss (mail) |
| Lines of code | 671 |
| Technical Name |
cerevantix_all_in_one_cancel |
| License | OPL-1 |
| Website | https://www.cerevantix.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module