v16.16.0
Schniz/fnmv16.16.0Aug 7, 2026by frappe-pr-bot
AI Summary
Frappe HRMS v16.16.0 adds features to job applications and the Unpaid Expense Claim report, along with various bug fixes.
Key Highlights
- Shows Job Title instead of ID on job forms
- Adds Prevent Duplicate Applicant option
- Adds filters and columns to Unpaid Expense Claim report
- Fixes statistical Salary Component formulas
New Features
- Job Title display on job forms
- Prevent Duplicate Applicant option
- Unpaid Expense Claim report enhancements
Full Release Notes
## Features * Shows the job opening’s _Job Title_ instead of its ID on the job application web form. Adds a _Prevent Duplicate Applicant_ option to **Job Opening** that blocks repeat applications from the same email address for the same position. (https://github.com/frappe/hrms/pull/5030) * Adds Company, Department, and Branch filters to the "Unpaid Expense Claim" report, with the _Department_ and _Employee_ filters limited to the selected _Company_. Adds _Posting Date_, _Company_, _Department_, and _Branch_ columns, plus grouping by Employee, Department, or Branch with subtotals and a grand total. (https://github.com/frappe/hrms/pull/5054) ## Bug Fixes * Updates how HRMS retrieves data and removes unused code. (https://github.com/frappe/hrms/pull/4990) * Fixes the **Mark Attendance** dialog so its _Start_ and _End_ dates use a valid date format and can load unmarked attendance days without an invalid date error. (https://github.com/frappe/hrms/pull/5052) * Fixes statistical **Salary Component** formulas that use `ctc` so they read the employee’s actual CTC instead of a blank value from the **Salary Slip**, allowing dependent component amounts to use the correct value. (https://github.com/frappe/hrms/pull/5055) * The "Monthly Attendance Sheet" report now distinguishes full dates when checking attendance, so holidays are counted correctly when date ranges span multiple months. (https://github.com/frappe/hrms/pull/5060) * Requires users to select a _Leave Approver_ before saving a **Leave Application** when _Leave Approver Mandatory In Leave Application_ is enabled, and keeps _Leave Approver Name_ synchronized with that selection. Fills missing _Leave Approver Name_ values in existing **Leave Application** records. (https://github.com/frappe/hrms/pull/5066) * Shows only submitted **Payroll Entry** records when selecting payroll entries for a **Journal Entry**, excluding draft and cancelled records. (https://github.com/frappe/hrms/pull/5045) **Authors**: @akhtarmohsin, @pratheep-bit, @nareshkannasln, @asmitahase, @deepeshgarg007, @iamkhanraheel **Reviewers**: @deepeshgarg007, @asmitahase, @iamkhanraheel <details> <summary>AI content</summary> For these release notes, we used an LLM (OpenAI gpt-5.6-luna) to review and summarise the code changes, along with the associated issue and PR descriptions. It may contain typical errors and inaccuracies. You can read the prompt [here](https://github.com/barredterra/pretty_release_notes). Changes with the following labels were excluded: - skip-release-notes Changes with the following types were excluded: - ci - build - refactor - chore - docs - test - style </details>