Employee Loans & Salary Advances for Odoo 19 documentation
A guide to employee loans: settings, requests and approval, payment, installments and interest, collection, the statement, payroll and access rights.
Documents version 1.0.0Updated Oct 23, 2026
Start here
In plain words: An employee asks for an advance on a Sunday, HR writes it on a paper, and six months later nobody knows how much is still owed. Employee Loans & Salary Advances keeps it all in Odoo: the request, the approval, the payment with its accounting entry, a schedule of monthly installments (with interest if you charge it), the collection of each installment and the balance of every employee.
Tip: An employee can ask for a loan from their own session. Only HR managers approve and pay.
What you get
| Feature | What it does |
|---|---|
| Requests | A loan or a salary advance, asked by the employee or entered by HR. |
| Approval | HR submits it, an HR manager approves or rejects it; managers get an activity. |
| Payment | One click posts the entry: employee loans account against the bank or cash journal, with the date you choose. |
| Installments | A monthly schedule from the first due date. Simple interest, if any, is spread over the installments. |
| Collection | Collect an installment by a journal entry: bank, cash or another journal such as the payroll clearing account. The interest goes to its income account. |
| Balances | Paid, balance, overdue amount and next due date per loan; the loans to repay on the employee. |
| For payroll | employee._tx_loan_due(date_from, date_to) gives the installments to deduct from a salary. |
| Rules and reminders | Longest loan, one active loan per employee, a reminder before each due date. |
| Arabic | Everything is translated and works right to left. |
Requirements
| Item | Details |
|---|---|
| Odoo | 19.0 (Community or Enterprise) |
| Apps needed | Employees (hr), Invoicing (account) |
| License | OPL-1 (Odoo Proprietary License v1.0) |
Install
- Unzip the package. Inside is
taqnix_employee_loans.zip; unzip it to get the foldertaqnix_employee_loans. - Copy the folder into one of the
addons_pathfolders of your Odoo server and restart Odoo. - Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
- Remove the “Apps” filter, search Employee Loans and press Install.
# or from the command line ./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_employee_loans --stop-after-init
Settings
In plain words: Settings → Employee Loans.
| Setting | What it does |
|---|---|
| Loan payment journal | The bank or cash journal the loans are paid from. |
| Employee loans account | Where the money lent stays until it is repaid. Created for you the first time if you leave it empty. |
| Interest income account | Where the interest goes. Needed only if you charge interest. |
| Longest loan | The most installments a loan may have. |
| Active loans per employee | 0 means no limit. |
| Reminder | HR managers get an activity this many days before an installment falls due. |
A loan, step by step
In plain words: Open Employees → Loans → Loans and press New: the employee, the amount, the number of monthly installments, the first due date and the yearly interest if any. The totals are shown at once.
| Step | Who | What happens |
|---|---|---|
| Submit | The employee or HR | The loan goes to the HR managers, who get an activity. |
| Approve | An HR manager | The schedule of installments is created. Reject removes it. |
| Pay the loan | An HR manager | The entry is posted (employee loans account debited, bank credited). Choose the payment date before, if it is not today. |
| Repaid | Automatic | When the last installment is collected the loan closes. |
Interest
In plain words: The interest is simple: the amount, times the yearly rate, times the number of months, divided by twelve. It is spread over the installments, and the last one takes the rounding.
Collect the installments
In plain words: On a running loan press Collect at the end of an installment, or select installments in Employees → Loans → Installments and press Collect. Choose the date and the journal.
| Journal | Entry |
|---|---|
| Bank or cash | Bank debited; the employee loans account credited with the principal and the interest account with the interest. |
| Another journal | Choose the account to debit, for example the payroll clearing account when the installment is deducted from the salary. |
Tip: The loan account is reconciled with the disbursement when the account allows it, so its balance is what the employee still owes.
The statement
In plain words: Print on a loan gives its statement with the schedule, what was collected and two lines to sign.
For payroll
In plain words: This module does not compute payslips. To deduct the installments, ask the amount due in the period of a payslip:
employee._tx_loan_due(date_from, date_to) # installments falling due, not yet collected
In plain words: and when the salary is paid, collect the installments with a payroll journal and its clearing account.
Who can do what
| Who | Can |
|---|---|
| Employees | Ask for a loan for themselves, submit it and follow it. They see only their own loans. |
| HR officers | See and enter all loans, submit, cancel. |
| HR managers | Approve, reject, pay the loans, collect the installments, change the settings. They can read the journals and accounts for this. |
Arabic and right to left
Limits
| Limit | Detail |
|---|---|
| Monthly installments | Equal monthly installments in the company currency. |
| Simple interest | No compound or reducing-balance interest. |
| No payslips | Payroll deduction is up to your payroll; this module gives the figure and collects by an entry. |
| Early repayment | Collect the remaining installments together; future interest is not waived automatically. |
For developers
In plain words: Skip this chapter if you only use the module.
loan = env['taqnix.employee.loan'].create({
'employee_id': employee.id, 'amount': 12000, 'installments': 12, 'interest_rate': 0, 'first_due': '2026-12-01',
})
loan.action_submit(); loan.action_approve(); loan.action_disburse()Troubleshooting
| Problem | What to do |
|---|---|
| “Choose the loan payment journal” | Set the journal in the settings. |
| “Choose the interest income account” | Set it in the settings when a loan has interest. |
| “already has 1 active loan” | Raise Active loans per employee in the settings, or wait for the loan to be repaid. |
| An employee cannot see Loans | The menu is under Employees; an employee sees only their own loans. |
| I cannot choose the journal when collecting | You need to be an HR manager. |
Updating and removing
Replace the folder with the new version, restart Odoo and run -u taqnix_employee_loans. Loans, schedules and entries are kept.
Support
Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.