v16.17.0

Schniz/fnmv16.17.0Aug 28, 2026by frappe-pr-bot

AI Summary

Frappe HRMS v16.17.0 introduces PostgreSQL support, bulk attendance editing, and improved Expense Claim validation.

Key Highlights

  • Supports PostgreSQL for employee reminders and timelines
  • Allows bulk editing of Attendance records
  • Improves Monthly Attendance Sheet logic
  • Adds color indicators to Job Applicant Kanban board

New Features

  • Bulk attendance editing
  • Job Applicant Kanban board indicators

Full Release Notes

## Bug Fixes
* Updates database queries used by employee reminders, **Job Offer**, **Employee** timelines, and the "Unpaid Expense Claim" report to support PostgreSQL databases. It also updates payroll data migration steps for moving tax slabs and assigning departments. (https://github.com/frappe/hrms/pull/5087)
* Allows users to edit multiple **Attendance** records at once. When users select "Duplicate" for an **Attendance**, the _Attendance Request_ link is left blank instead of being copied from the original record. (https://github.com/frappe/hrms/pull/5085)
* Updates the summarized "Monthly Attendance Sheet" to classify the other half of a half-day as present or absent based on _Status for Other Half_, and count it as leave only when linked to a **Leave Application**; otherwise, it counts as present. (https://github.com/frappe/hrms/pull/5097)
* Prevents the "Employee Leave Balance" report from erroring when _Employee_ is blank by limiting results to employees the user can view; when employee access is restricted, it defaults _Employee_ to the logged-in user's record without replacing an existing selection. (https://github.com/frappe/hrms/pull/5112)
* Allows the _Expense Account_ and _Payable Account_ fields in **Gratuity** to use either Expense or Liability accounts. (https://github.com/frappe/hrms/pull/5120)
* Adds orange, blue, and green indicators to the Replied, Shortlisted, and Accepted columns when a **Job Applicant** Kanban board is created. Updates these columns on the existing "Hiring Pipeline" board with the same indicators. (https://github.com/frappe/hrms/pull/5135)
* Fixes an import error that prevents the "Unpaid Expense Claim" report from loading on Frappe v16 by using the public `scrub` API. (https://github.com/frappe/hrms/pull/5127)
* Updates **Expense Claim** validation to explain whether a selected **Employee Advance** has a currency mismatch or uses a non-Receivable account, and applies the same checks when the claim is saved. Invalid rows are cleared from the _Advances_ table, and users are told to cancel and recreate the related **Payment Entry** when its account no longer matches. (https://github.com/frappe/hrms/pull/5136)
* Prevents an upgrade error when **Expense Claim Advance** does not have the _Payment Entry_ field, while continuing to copy existing values to _Reference Name_ and _Reference Type_ when it does. (https://github.com/frappe/hrms/pull/5153)

## Other Changes
* Adds a _Status_ filter next to _Employee_ in the "Monthly Attendance Sheet" report; it defaults to Active and lets users view attendance for Active, Inactive, Suspended, Left, or all employees. (https://github.com/frappe/hrms/pull/5106)
* Updates the Check-In panel's "View List" label to use the user's selected language. (https://github.com/frappe/hrms/pull/5117)

## New Contributors
* @Ramymurugan made their first contribution in https://github.com/frappe/hrms/pull/5117

**Authors**: @krishna-254, @iamkhanraheel, @akhtarmohsin, @barredterra, @Ramymurugan, @deepeshgarg007, @nareshkannasln
**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:
- chore
 - docs
 - ci
 - style
 - refactor
 - build
 - test

</details>