| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Manufacturing (mrp) • Discuss (mail) • Inventory (stock) |
| Lines of code | 132 |
| Technical Name |
o2b_cancel_and_reset_button |
| License | OPL-1 |
| Website | https://www.o2btechnologies.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Manufacturing (mrp) • Discuss (mail) • Inventory (stock) |
| Lines of code | 132 |
| Technical Name |
o2b_cancel_and_reset_button |
| License | OPL-1 |
| Website | https://www.o2btechnologies.com |
Cancel Manufacturing
Orders
Safely cancel done manufacturing orders, reverse inventory moves, void work orders, and restore the system to a clean state — with full role-based access control.
Why This Module Exists
Once a Manufacturing Order is marked Done in standard Odoo, there is no built-in way to cancel it. Stock moves are finalized, work orders are closed, and inventory is already updated — leaving operations teams stuck with no recovery path when orders are completed in error.
What This Module Does
This module adds a controlled cancellation capability to Odoo Manufacturing. Users with the "Cancel Manufacturing Orders" access right can cancel a Done MO — automatically reversing all inventory moves, cancelling work orders and scrap orders, and moving the MO to a Cancelled state. A Reset to Draft option allows further corrections when needed.
What's Included
Cancel Done Manufacturing Order
Authorized users can cancel any MO that has reached the Done state with a single click.
Reverse Inventory Automatically
All done stock moves are cancelled and inventory quantities are fully restored in the system.
Cancel Finished Work Orders
Work orders linked to the MO are voided as part of the cancellation process.
Cancel Scrap Orders
Any scrap orders associated with the MO are also cancelled cleanly and automatically.
Reset to Draft
After cancellation, reset the MO to draft — removing cancelled moves and work orders for a clean re-start.
Role-Based Access Control
Only users with the "Cancel Manufacturing Orders" permission can see and use the Cancel button.
Step-by-Step Process
Enable "Cancel Manufacturing Orders" Permission
Navigate to Settings → Users & Companies → Users and open the relevant user record. Under the Manufacturing section, tick the "Cancel Manufacturing Order" checkbox.
Only users with this permission will see the Cancel button on Done manufacturing orders. This ensures full control over who can reverse finalized production.
Manufacturing Order in Draft / Confirmed — Components Tab
Before the MO is marked Done, open the Components tab. Each component row shows a Product Image column for quick visual identification on the shop floor.
At this stage, consumed material quantities reflect planned amounts — stock has not yet been deducted. Inventory moves are in Ready or In Progress state.
Manufacturing Order Marked "Done" — Inventory Moves Finalized
Once production is complete and the MO is marked Done, all inventory moves transition to Done state. The consumed material quantities are deducted from stock — components are officially consumed.
Authorized User Clicks "Cancel" on the Done MO
Users with the Cancel Manufacturing Orders access right will see a Cancel button on Done MOs. Clicking it triggers the full cancellation sequence automatically:
MO in "Cancelled" State — Inventory Quantities Restored
After cancellation, the MO moves to Cancelled state. All consumed material quantities are restored back to their pre-production levels — the reversal is fully reflected in stock.
The Reset to Draft button now appears, giving the option to reprocess the order from scratch if needed.
Click "Reset to Draft" — Clean Slate for Re-processing
If the MO needs to be re-executed, click Reset to Draft. This performs a final cleanup before restarting production:
Behaviour Summary
| Action / Event | Result | Inventory Impact |
|---|---|---|
| MO marked Done | Stock moves finalized; work orders closed | − Consumed quantities deducted |
| Cancel button clicked | Stock moves, work orders & scrap orders cancelled; MO → Cancelled | + Quantities restored |
| Reset to Draft clicked | Cancelled moves deleted; MO → Confirmed (Draft) | No further change |
| No access right | Cancel button is hidden for the user | N/A |
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