Encash unused leave, accurately every time

A complete leave encashment workflow for Odoo 19 Time Off — eligibility rules, multi-level approval, automatic balance deduction, and optional accounting posting, all in one app.

The problem

When employees resign, retire, or reach year-end, HR must calculate the cash value of unused leave, apply eligibility rules, route approvals, and post the payout — often by hand in spreadsheets. Native Odoo Time Off tracks balances but has no way to convert them into a payout, so calculations drift from actual balances, approvals happen off-system, and audits turn up disputes.

The solution

Leave Encashment adds a complete request-to-payout flow inside Time Off: eligibility and minimum-balance rules per leave type, a two-step Manager → Finance approval chain, automatic balance deduction the moment a payout is approved, and an optional posted journal entry — with year-end batches processing many employees at once.

Capabilities

Everything a payout needs, in one flow

Every capability below is implemented in the module.

01

Accrued Balance & Eligibility

See each employee's remaining balance, expiring days, and eligibility for every leave type before a request is even submitted.

02

Payout Calculation

Compute the payout automatically from the contract wage divided into a daily rate, or enter a manual rate per request.

03

Automatic Balance Deduction

Approving an encashment creates a linked negative allocation immediately, so the balance and the payout can never drift apart.

04

Multi-Level Approval

Route every request through Officer submission, Manager approval, and Finance approval before it is paid.

05

Accounting Posting

Optionally post the approved payout as a balanced journal entry to a configurable journal and accounts — no manual re-entry.

06

Year-End Batch Processing

Generate encashment requests for many employees and leave types in one screen at cycle-end, then approve them together.

07

Leave-Type Eligibility Rules

Mark which leave types are encashable and set a minimum balance to keep, per type.

08

Expiry Visibility

Flag balances with a carried-over expiration date approaching within 60 days so HR can act before value is lost.

09

Full Audit Trail

Every request tracks its submitter, approvers, and timestamps inline, with chatter logging for defensible audits.

Workflow

How it works

1

Configure eligibility

Mark leave types as encashable and set minimum balance and service rules in Settings.

2

Submit a request

HR enters the employee, leave type, and days to encash; balance and eligibility show instantly.

3

Approve in two steps

The request routes to a Manager, then a Finance approver, before payout.

4

Pay and record

Approval deducts the balance automatically and, if enabled, posts a journal entry to accounting.

Questions

Frequently asked

No sales fog. If your question isn't here, email us and we'll answer it the same way.

It posts approved payouts as a balanced journal entry to a configurable accounting journal, since Odoo Payroll is an Enterprise-only module. This closes the loop from approval to a recorded payout without manual re-entry.

Get the app

Buy it on the Odoo App Store

Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.

HR Leave Encashment

Convert unused leave into a payout with eligibility rules, calculated amounts, multi-level approval, automatic balance deduction and optional accounting posting.

Buy on Odoo App Store