Skip to content
DevMarket
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on DevMarket

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.
Every loan with its balance, the schedule of one loan and a printed statement.
Every loan with its balance, the schedule of one loan and a printed statement.
Tip: An employee can ask for a loan from their own session. Only HR managers approve and pay.

What you get

FeatureWhat it does
RequestsA loan or a salary advance, asked by the employee or entered by HR.
ApprovalHR submits it, an HR manager approves or rejects it; managers get an activity.
PaymentOne click posts the entry: employee loans account against the bank or cash journal, with the date you choose.
InstallmentsA monthly schedule from the first due date. Simple interest, if any, is spread over the installments.
CollectionCollect an installment by a journal entry: bank, cash or another journal such as the payroll clearing account. The interest goes to its income account.
BalancesPaid, balance, overdue amount and next due date per loan; the loans to repay on the employee.
For payrollemployee._tx_loan_due(date_from, date_to) gives the installments to deduct from a salary.
Rules and remindersLongest loan, one active loan per employee, a reminder before each due date.
ArabicEverything is translated and works right to left.

Requirements

ItemDetails
Odoo19.0 (Community or Enterprise)
Apps neededEmployees (hr), Invoicing (account)
LicenseOPL-1 (Odoo Proprietary License v1.0)

Install

  1. Unzip the package. Inside is taqnix_employee_loans.zip; unzip it to get the folder taqnix_employee_loans.
  2. Copy the folder into one of the addons_path folders of your Odoo server and restart Odoo.
  3. Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
  4. 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.
The accounts, and the rules.
The accounts, and the rules.
SettingWhat it does
Loan payment journalThe bank or cash journal the loans are paid from.
Employee loans accountWhere the money lent stays until it is repaid. Created for you the first time if you leave it empty.
Interest income accountWhere the interest goes. Needed only if you charge interest.
Longest loanThe most installments a loan may have.
Active loans per employee0 means no limit.
ReminderHR 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.
The loans: one running and overdue, one running, one repaid, one approved, one to approve and one draft.
The loans: one running and overdue, one running, one repaid, one approved, one to approve and one draft.
StepWhoWhat happens
SubmitThe employee or HRThe loan goes to the HR managers, who get an activity.
ApproveAn HR managerThe schedule of installments is created. Reject removes it.
Pay the loanAn HR managerThe entry is posted (employee loans account debited, bank credited). Choose the payment date before, if it is not today.
RepaidAutomaticWhen the last installment is collected the loan closes.
An approved loan with its schedule, ready to be paid.
An approved loan with its schedule, ready to be paid.
A salary advance waiting for approval.
A salary advance waiting for approval.

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.
6,000 over 6 months at 8% a year: 240 of interest, 40 in each installment.
6,000 over 6 months at 8% a year: 240 of interest, 40 in each installment.

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.
Collecting an installment into the bank.
Collecting an installment into the bank.
JournalEntry
Bank or cashBank debited; the employee loans account credited with the principal and the interest account with the interest.
Another journalChoose the account to debit, for example the payroll clearing account when the installment is deducted from the salary.
The installments to collect, overdue ones in red.
The installments to collect, overdue ones in red.
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.
The printed statement of a loan.
The printed statement of a loan.

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

WhoCan
EmployeesAsk for a loan for themselves, submit it and follow it. They see only their own loans.
HR officersSee and enter all loans, submit, cancel.
HR managersApprove, reject, pay the loans, collect the installments, change the settings. They can read the journals and accounts for this.

Arabic and right to left

The loans in an Arabic interface.
The loans in an Arabic interface.

Limits

LimitDetail
Monthly installmentsEqual monthly installments in the company currency.
Simple interestNo compound or reducing-balance interest.
No payslipsPayroll deduction is up to your payroll; this module gives the figure and collects by an entry.
Early repaymentCollect 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

ProblemWhat 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 LoansThe menu is under Employees; an employee sees only their own loans.
I cannot choose the journal when collectingYou 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.