/payroll/loans (the loan list). Open a loan at /payroll/loans/:id. Define loan products at /payroll/setup/loan-types (which opens Settings → ERP → Finance → Loan types).
📷 Screenshot: the employee loans list with status tabs and the “Apply for Loan” button — to be added.
Multi-business: loan types and loans belong to one business and post to its accounting book. Confirm the business switcher first.
Loan types (the products you offer)
A loan type is a reusable template that fixes the terms and the accounting for a kind of loan. Create and edit these under Settings → ERP → Finance → Loan types (the old/payroll/setup/loan-types link redirects there).
A loan type can be disabled so it can no longer be used for new applications without deleting its history.
The loan lifecycle (statuses)
A loan can only be cancelled while it is Applied or Approved — once money is disbursed it must be repaid (or unwound by reversing the payroll runs that recovered it).
Applying for a loan
From the loans list choose Apply for Loan. You pick the employee, the loan type, the amount, the term in months, and (optionally) a repayment start date. The form shows a live amortisation preview — the monthly instalment, the total interest, and the total repayable — so everyone sees the cost up front. Validation: the amount must be above zero and within the type’s maximum; the term must be at least one month and within the type’s maximum; the type must be enabled. The repayment schedule is generated at apply time (the final instalment absorbs any rounding so the principal sums exactly). If the loan type has Requires approval turned off, the loan jumps straight to Approved.Approving and disbursing
Separation of duties. Approval needs the distinct payroll:approve permission, and the system additionally blocks the person who created the application from approving their own loan — the applicant can never be the approver.
Disbursement runs under a lock so the same loan can’t be paid out twice by two concurrent clicks. You can re-anchor the repayment start date at disbursement; the schedule’s due dates recalculate from it.
Repayment through payroll
Once a loan is Disbursed or Repaying, payroll does the recovery for you. When a run is generated, each due instalment for the employee is folded into the slip as a loan-repayment deduction, and when the run is processed the recovery is applied inside the run’s transaction:- the loan’s amount repaid and outstanding balance update,
- each schedule instalment walks Pending → Partial → Paid,
- principal recovered is capped at the outstanding balance (a run never over-recovers), and
- when the balance reaches zero the loan auto-closes.
/payroll/loans/:id) you can see the full repayment schedule, the running balance, and the per-run deduction history.
Permissions
(The equivalent
employee-loans:read/write/approve slugs also satisfy these gates.)
Behind the scenes — the accounting
On disbursement
Paying the loan out recognises a receivable (the employee now owes you) and reduces cash:
The receivable leg is stamped with the employee’s contact so the loan shows on their sub-ledger.
On repayment (through payroll)
Each payroll recovery clears part of what the employee would otherwise take home and draws the receivable down, booking any interest as income:
So the employee’s net pay is redirected to settle the loan: the principal portion clears the receivable and the interest portion is recognised as income. Reversing a payroll run reverses these entries.
Related
- Running payroll — runs recover loan instalments and post the entries
- Salary components — the deduction component a loan type uses
- Payslips — where the employee sees the loan deduction
- Bank loans — loans your business takes (a different feature)
- Payroll overview — the whole chain