| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) |
| Community Apps Dependencies | Show |
| Lines of code | 2511 |
| Technical Name |
wt_hrms_advances |
| License | OPL-1 |
| Website | https://way4tech.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) |
| Community Apps Dependencies | Show |
| Lines of code | 2511 |
| Technical Name |
wt_hrms_advances |
| License | OPL-1 |
| Website | https://way4tech.com |
WT HRMS Salary Advances — Approval-Driven Advance Requests
Salary advance request workflow with configurable max-advance percentage of salary, multi-level approval, payment + deduction tracking, and full audit trail. Stops "advance creep" before it starts.
salary advance · payday advance · pay advance · advance request · payroll advance · salary deduction · max advance limit · hr advance · advance approval · Odoo 19 · Odoo 18 · community edition · enterprise alternative · open hrms · HR software · HR automation · way4tech
Live Preview
A real screenshot from a working WT HRMS install on Odoo 19.
The Problem This Solves
Salary advances are easy to ask for and easy to approve. Without limits and a workflow, they pile up, never get deducted, and finance accidentally pays double.
No request workflow
Employee asks WhatsApp manager. Manager forwards email to HR. HR pays from petty cash. Nothing recorded, nothing approved.
No salary cap
People ask for advances of more than their full month's salary. Without a hard cap, finance ends up paying loans dressed up as advances.
Forgotten deductions
Advance issued but never deducted. Three months later, finance discovers it; HR has to claw back from a confused employee.
The Solution — Bounded, Approved, Tracked
Every request goes through the WT HRMS approval engine. The submit action validates against max-advance % of the employee's wage. Deduction status is a tracked flag, with a "Not Deducted" filter so finance can sweep open advances each payroll.
- ✓ Sequential reference — ADV/2026/0001 from ir.sequence
- ✓ Live Current Salary field — pulled from the employee's hr.version, displayed at request time
- ✓ Per-request max-advance % — default 50% of salary, override per record
- ✓ Hard cap on Submit —
action_submitblocks if amount > cap, raises clear UserError - ✓ Multi-level approval — full WT HRMS approval chain
- ✓ Reason field required — "why" is mandatory, locked after submission
- ✓ Payment date tracking — HR Manager records when the advance was paid out
- ✓ Deducted flag + date — explicit boolean tracked in chatter; deduction_date hidden until ticked
- ✓ "Not Deducted" filter — one click shows finance every approved advance still pending deduction
- ✓ Approved-not-deducted count —
advance_counton every employee form - ✓ Salary Advances tab on the employee form
- ✓ Mail thread, follower notifications, full audit log
- ✓ Color-coded list — approved green, rejected red
- ✓ Multi-currency safe — uses company default currency
Step-by-Step User Guide
Install
Apps → install WT HRMS Salary Advances. Pulls in WT HRMS Core if needed.
Configure approval chain
WT HRMS → Configuration → Approval Chains. New chain. Applies To = wt.hrms.advance. Add steps (Manager, HR Manager).
Request advance
WT HRMS → Salary Advances → New. Pick employee — salary auto-fills. Set amount, max% if different from 50%, reason. Click Submit.
Approval
Each approver clicks Approve. The cap is enforced at submit; over-the-cap requests get a clear UserError — the approver doesn't have to police it.
Pay out
HR Manager sets Payment Date when funds leave finance. Tracked in chatter.
Mark deducted
Each payroll cycle, filter by Not Deducted, tick Deducted + set Deduction Date on the ones you've deducted.
Every Feature That Matters
Sequenced Reference
ADV/year/0001 via ir.sequence — sortable, audit-friendly, never collides.
Live Salary Lookup
Computed from employee's hr.version. The approver sees the real wage at decision time, not a stale snapshot.
Configurable Cap
Default 50% of salary, override per request. Validated on Submit, not at save — drafts stay flexible.
Hard Submit-Time Block
Over-cap requests raise a clear UserError with the actual computed cap in the company's currency.
WT HRMS Approval Chain
draft → submitted → under_review → approved/rejected/cancelled. Configurable approvers.
Mandatory Reason
Free-text reason required. Locked after submission so the story can't be rewritten later.
Payment Date
Manager-only field; chatter logs the change. Lets you separate "approved" from "actually paid".
Deducted Flag + Date
Boolean + date pair, tracked in chatter. Deduction date appears only when flag is on.
"Not Deducted" Filter
One-click search filter shows every approved advance still pending payroll deduction. The pre-payroll sweep view.
Open Advance Count
advance_count on the employee form counts only approved-but-not-yet-deducted — the real "open" number.
Mail Thread
Full chatter, follower subscriptions, internal notes. Every state and amount change tracked.
Color-Coded List
Approved → green, Rejected → red. Filters: Pending / Approved / Not Deducted. Group by Employee or Status.
Compatibility & Requirements
| Odoo Edition | Community & Enterprise |
| Odoo Version | 19.0 |
| Dependencies | wt_hrms_core (which depends on hr, mail, hr_contract) |
| Python Packages | None |
| External Services | None — runs entirely inside your Odoo instance |
About Waqas Riasat & Way4Tech
We build Odoo modules that fix real business pain — not nice-to-have features. Every WT HRMS module is hand-tested on a fresh Odoo 19 install before being published.
way4tech.com · info@way4tech.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