Stock Done/Cancel Permission

Clean up an exceptional done picking safely, with a preview, a reason and an audit log

Stock Done/Cancel Permission is an Odoo 19 Enterprise app for the rare case where a done outgoing picking has done returns that net its stock impact to zero. Authorised users preview the impact, give a reason and run a controlled cleanup that is logged, and blocked whenever accounting links exist.

Odoo 19.0 · Enterprise · Odoo.sh, On-premise · 69,30 € · Buy on Odoo Apps

Available for: Odoo 19.0

The problem

Sometimes a validated transfer has to be cleaned up: a duplicate delivery, a test transfer, or an outgoing picking that came back in full. Cancelling done stock moves in Odoo is risky and cannot be undone. Doing it without a preview, without a reason and without a record of who did it is exactly what an auditor will question later.

What it does

A controlled cleanup for one narrow case

Restricted and confirmed

Preview and guardrails

Audit trail

Net stock impact preview listing products, locations and the quantity change for each before a cleanup
The Stock Impact Preview: quantity changes per product and location before execution. Illustration from the store listing.
Cleanup audit trail listing pickings with the user, the reason and a posted or blocked state
The audit trail: who cleaned up which picking, why, and which attempts were blocked. Illustration from the store listing.

Who it is for

Not a fit when:

Install

Requires: Inventory (stock), Invoicing (account), Discuss (mail)

  1. Buy the app on the Odoo Apps Store for Odoo 19.0.
  2. Add the module to your Odoo.sh project or to the addons path of your on-premise server.
  3. Update the apps list in Odoo and install Stock Done/Cancel Permission. Missing dependencies are installed with it.

Odoo Online (SaaS) does not allow third-party apps, so Stock Done/Cancel Permission cannot be installed there. Use Odoo.sh or an on-premise Odoo 19 Enterprise database.

Configure

  1. Decide which users may run the cleanup and authorise them explicitly. Nobody else can use it.
  2. Agree internally when a cleanup is justified: the app always asks for a written reason, which is stored in the audit log.
SettingWhat it does
Authorised usersOnly these users can start a cleanup.
Reason and acknowledgementMandatory in the confirmation wizard for every cleanup.
Cleanup logPersistent record of each cleanup, with the user and the reason.

How to use it

Check that the picking is eligible

  1. Select the done outgoing picking you want to clean up.
  2. The app checks that the picking is done and that its done returns net the stock impact to zero. Any other case stops here.

Preview and execute

  1. Review the Stock Impact Preview with the quantity change for each product and location.
  2. Enter the mandatory reason and confirm the acknowledgement.
  3. Execute. The cleanup is written to the audit log, or blocked if valuation or accounting links exist.

Limits

Frequently asked questions

Can I cancel a done picking in Odoo?

Cancelling done stock moves is risky and irreversible, so Stock Done/Cancel Permission does not add a general cancel button. It allows a controlled cleanup only for a done outgoing picking whose done returns net stock to zero, run by authorised users with an impact preview and an audit log.

Who can run a stock cleanup?

Only explicitly authorised users. Each cleanup also needs a mandatory reason and an explicit acknowledgement in the confirmation wizard.

What happens if the picking has accounting entries?

The cleanup is blocked. Stock Done/Cancel Permission detects valuation and accounting links and refuses to run when they exist.

Can I see the stock impact before anything is deleted?

Yes. A live Stock Impact Preview shows the quantity change per product and location before you execute.

Is there an audit trail of stock cleanups?

Yes. Every cleanup writes a persistent log entry recording who ran it and why.

Which Odoo versions and editions does Stock Done/Cancel Permission support?

It is built and tested for Odoo 19 Enterprise, on-premise and on Odoo.sh. Odoo Online does not allow third-party apps. The price is one-time per Odoo major version.