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.

Capabilities

Everything a bulk cleanup needs

Every capability below is implemented in the module.

01

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.

02

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.

03

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.

04

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.

05

Mandatory Reason

Every run requires a written reason before it can execute, feeding a compliant, always-populated audit trail — no more unexplained cancellations.

06

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.

07

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.

08

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.

09

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.

Workflow

How it works

1

Select Records

Tick any number of rows in a Sales, Purchase, Transfers, Invoicing, or Payments list.

2

Launch All in One Cancel

Open it from the list's Actions menu and pick Cancel, Reset to Draft, or Delete.

3

Review the Impact Preview

Check the Ready, Warning, and Blocked badges, deselect any rows, and enter a reason.

4

Execute & Audit

Confirm to run the batch; every outcome is written to the Cancellation History log.

Questions

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.

Get the app

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