OdooWiki OCA HUB

Hr expense cancel

hr_expense_cancel folder_open OCA/hr-expense open_in_new
Human Resources License: AGPL-3

This module allows you to cancel and correct expenses. It adds a cancel button on the expense sheet that undo reconciliations and delete payments and journal entries.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Adds a "Cancel all related operations" button on expense sheets so accountants can undo a posted or paid expense, removing its journal entries, payments and reconciliations and returning the sheet to Submitted.

This module adds a cancellation button to the expense sheet form, visible only to users in the Accounting Manager group and only when the sheet is in Posted or Done state. The button is labelled "Cancel all related operations" and its tooltip explains that it cancels journal entries, payments and reconciliations.

When pressed, the module reverses the accounting behind the expense sheet: it detaches the related journal entries, cancels any payments that are not already cancelled, and removes the reconciliations that were created automatically. If the expense was paid by the employee (own account), it also removes the reconciliation between the payment and the expense entries. Journal entries that are not in draft are cancelled and then deleted. Any invoice entries that were automatically created and reconciled by the expense-invoice flow are also cancelled.

After the cleanup, the expense sheet is set back to the Submitted state, so the employee or accountant can correct the expense and submit it again.

It touches the expense sheet (hr.expense.sheet) and payment (account.payment) models, and works together with the expense payment module. No new menus or reports are added; the only visible change is the extra button on the existing expense sheet screen.

Models and fields (2)
  • account.payment · extends an existing model
  • hr.expense.sheet · extends an existing model

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 7 confirmed, 2 with no information of 9 versions.

Sources · Odoo 17.0

Confirmed on 2026-11-03 in branch 17.0 of OCA/hr-expense.

terminal Installation and usage

OCA documentation · Odoo 18.0

It's assumed that for each expense sheet, the payments that are reconciled with their journal entry were created and reconciled by the Expense Tracker module automatically. Therefore, when this module is installed, these payments will automatically be associated with said expense sheet so that they can be deleted in case the expense sheet is canceled.

To use this module, you need to:

  • Go to Expenses -\> My Expenses -\> Expenses to Submit and create a new Expense with Employee (to reimburse) checked on the field Payment By
  • Click on Submit to Manager button
  • Click on Approve button
  • Click on Post Journal Entries button
  • Click on Register Payment button, fill in the data of the wizard and click on Validate button
  • After that, the Expense report will have an associated journal entry reconciled with a payment
  • Click on Cancel button
  • The Expense report will be set to Submitted state; the journal entry and the payment will be deleted

No verified information in OCA: Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.