Reset a posted invoice or bill — back to Draft when allowed.
Adds a safe, time-boxed Undo to invoice and bill posting. After posting, an Undo button appears for a window you control; one click resets the document to Draft when that is legally allowed — unpaid, unreconciled, not hash-secured or lock-dated. When a reset is not allowed, the standard Credit Note is offered instead.
Posting an invoice or bill a day early, on the wrong period, or with a mistake is awkward to fix — and resetting to draft is hedged by payment, reconciliation and legal-lock rules that are easy to get wrong.
An Undo button appears on the posted document for a window you configure.
Resets to draft through the standard API, only when legally allowed.
When a reset is not allowed, the audit-correct Credit Note is offered instead.
Every posting and undo is recorded for audit.
Post a customer invoice or vendor bill.
Notice the mistake.
Click Undo Posting and confirm.
The document is a draft again — or a credit note is offered.

The Undo button on a posted invoice

The confirmation wizard

The audit trail for invoices & bills

A complete audit record

Settings & time window
Odoo 19, Community and Enterprise. Depends only on Community apps — no Enterprise required.
Enable per company, set the window per company, and keep audit logs isolated by company with record rules.
Two groups — Undo User and Undo Manager. Actions are tracked automatically; undoing requires explicit rights.
Open Settings → Universal Undo: enable the feature, choose the time window (5 / 10 / 30 minutes or custom), require a reason, toggle the audit log and notifications, and pick which documents support undo.
What if the invoice is paid?
Undo is refused and a Credit Note is offered — the audit-correct way to reverse a paid document.
Does it respect lock dates and hashes?
Yes — legally secured or lock-dated entries are never reset; a credit note is offered.
Does it modify Odoo core?
No. It layers on account.move through inheritance only.
Part of the Universal Undo family by Do Incredible.
Support: https://doincredible.com · info@doincredible.com