Cancel HR Expense - Full-Lifecycle Cancellation with Preview
by Cerevantix Technologies https://cerevantix.com$ 34.59
Cancel expenses safely at any lifecycle stage
Reverse posted and paid HR expenses with a full accounting-impact preview, a separated delete flow, per-role permissions, and a persistent audit log — no more manual journal cleanup.
Odoo's native expense workflow moves Draft to Submitted to Approved to Posted to Paid, but once a journal entry is posted there is no safe way to undo it. Reversing a wrong approval means an accountant manually reversing journal entries, unreconciling payments, and resetting state fields outside the standard UI — slow, error-prone, and out of reach for most approvers.
Cancel HR Expense adds a full-lifecycle cancellation flow that works from Draft all the way through Paid. Every cancellation opens a preview showing exactly which journal entries, payments, and reconciliations will be reversed before anything happens, and a persistent audit log records who cancelled what, when, and why.
Everything you need to safely reverse an expense
Every capability below is implemented in the module.
Cancel at any stage
Cancel a Draft, Submitted, Approved, Posted, or Paid expense in one action — the one gap Odoo's native reset and refuse buttons leave open once a journal entry is posted.
Preview before you cancel
Every cancellation opens a preview listing the exact journal entries, payments, and reconciliations that will be reversed or cancelled, so nothing happens to your books blind.
Separate, higher-friction Delete
Delete sits apart from Cancel with its own dedicated wizard, a danger warning, and a confirmation checkbox that gates the button — accidental deletion stays hard to trigger.
Reset to Draft for resubmission
A cancelled expense can be reset straight back to Draft for correction and resubmission, turning cancellation into a productive workflow step instead of a dead end.
Mandatory reason capture
Every cancel, refuse, or delete requires a reason, captured on the expense and in the audit log for compliance and dispute resolution.
Mixed-outcome bulk review
Select a batch of expenses and assign a different outcome to each — approve some, refuse or cancel others, reset the rest — all from a single review session.
Per-role permission gating
Dedicated Cancellation and Deletion security groups control exactly who can cancel, reset, or delete expenses, keeping the feature safe to deploy for finance teams.
Persistent audit log
A dedicated Cancellation Log records every cancel, refuse, reset, and delete with actor, timestamp, and reason — entries survive even if the expense itself is deleted.
Configurable journal handling
A Settings toggle enables or disables the feature at the organization level, with a choice between reversing journal entries (keep history) or cancelling them outright.
How it works
Select an expense
Open any Draft through Paid expense, or select several from the list view for a bulk action.
Review the preview
The Cancel wizard shows every journal entry, payment, and reconciliation that will be affected before you confirm.
Confirm with a reason
Enter a mandatory reason and confirm — Delete requires an extra checkbox for its higher-friction flow.
Track in the audit log
Every action is logged with who, when, and why, and cancelled expenses can be reset to Draft for resubmission.
See it in action
A closer look at cancellation, preview wizards, and the audit trail.
Cancel and Delete buttons appear directly on the expense form, with inline guidance describing what each action does and which lifecycle stage it applies to.
Once cancelled, the form shows a dedicated Cancelled status bar value plus a Cancellation info panel with who cancelled it, when, and why.
Cancelled expenses are visually muted in the list view, so eligible and already-cancelled records are obvious at a glance.
The Cancel wizard itemizes every journal entry and payment that will be reversed or cancelled before you confirm — no blind destructive actions.
The Delete wizard is a separate, higher-friction flow with a clear warning and a confirmation checkbox that gates the Delete button.
The bulk review wizard lets a manager assign a different outcome — approve, refuse, cancel, or reset — to each selected expense in one session.
The Cancellation Log lists every cancel, refuse, reset, and delete action with actor, timestamp, and reason for full auditability.
Each log entry keeps a snapshot of the expense name, employee, and amount, so the record survives even after the expense itself is deleted.
A Settings toggle enables the feature and lets administrators choose whether posted journal entries are reversed or cancelled.
Frequently asked
Does this work with expenses that are already Posted or Paid?
Yes. Unlike Odoo's native reset and refuse actions, which refuse to act once a journal entry is posted, this module can cancel an expense at any stage from Draft through Paid, reversing or cancelling the linked journal entry and payment as needed.
Will I see what gets changed before I confirm?
Yes. The Cancel wizard shows an itemized preview of every journal entry, payment, and reconciliation that will be affected, so you always know the accounting impact before you confirm.
Can I undo a cancellation?
Yes. A cancelled expense can be reset back to Draft for correction and resubmission with the Reset to Draft button, and every action is recorded in the audit log.
Who can cancel or delete an expense?
Access is controlled by two dedicated security groups, Expense Cancellation and Expense Deletion, so administrators decide exactly who can perform each action.
Get in Touch
Have questions or need customization? Every purchase includes 30 days of free support — we are here to help.
Visit Our Website
www.cerevantix.comExplore our apps, services, and portfolio.
Empowering growth through technology.
Cancel, reset, or delete any HR expense from Draft through Paid, with a mandatory accounting-impact preview, per-role permissions, and a persistent audit log.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Expenses (hr_expense)
• Invoicing (account) • Employees (hr) • Discuss (mail) |
| Lines of code | 691 |
| Technical Name |
cerevantix_cancel_hr_expense |
| License | OPL-1 |
| Website | https://cerevantix.com |
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