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.
The problem
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.
The solution
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.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
Sales Orders, Purchase Orders, Transfers (stock.picking), Invoices/Bills, and Payments. The same wizard opens from each model's own list view.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
All in One Cancel — Sales, Purchase, Picking, Invoice & Payment
One wizard to safely Cancel, Reset to Draft, or Delete Sales Orders, Purchase Orders, Transfers, Invoices, and Payments in bulk — built natively on Odoo.
Buy on Odoo App Store