v16.12.0

frappe/hrmsv16.12.0Jul 4, 2026by frappe-pr-bot

AI Summary

This release introduces significant updates to payroll calculations, specifically regarding employer contributions and CTC breakdowns. It also improves recruitment workflows and fixes several critical bugs related to payroll processing and access control.

Key Highlights

  • Adds employer contribution types to Salary Components for better breakdowns.
  • Enhances 'Employee CTC Break-up' reports with auto-selection and improved calculations.
  • Adds Description field to Tax Exemption Categories.
  • Fixes duplicate navigation buttons and payroll entry loading issues.

New Features

  • Employer contribution types in Salary Components.
  • Enhanced 'Employee CTC Break-up' report with employer contributions.
  • Description field for Tax Exemption Categories.

Full Release Notes

## Features
* Adds an employer contribution type to **Salary Component** so employer-paid amounts appear separately in salary breakdowns. **Salary Slip** previews now use the figures from **Salary Structure Assignment**. (https://github.com/frappe/hrms/pull/4827)
* Adds a _Description_ field to **Employee Tax Exemption Category** and **Employee Tax Exemption Sub Category** entries, allowing users to add notes for each exemption. (https://github.com/frappe/hrms/pull/4832)
* The "Employee CTC Break-up" report now opens with _Employee_ set to the employee linked to your account. When you change _Employee_, _Salary Structure Assignment_ automatically updates to that employee’s latest assignment. (https://github.com/frappe/hrms/pull/4836)
* Adds the "Employee CTC Break-up" report for employees. It now uses **Salary Slip** records, so employees can view the CTC breakdown for employee records they can access. (https://github.com/frappe/hrms/pull/4835)
* The "CTC Breakup" report now includes employer contributions in the pay breakdown, and the gross and employer contribution percentages add up to 100%. (https://github.com/frappe/hrms/pull/4838)

## Bug Fixes
* Prevents duplicate navigation buttons from appearing on the **Job Applicant** form by adding them only when they are missing. (https://github.com/frappe/hrms/pull/4823)
* Removes an extra argument from the salary slip count in **Payroll Entry**. This prevents the form from stopping on load when it checks submitted salary slips. (https://github.com/frappe/hrms/pull/4825)
* Adds missing pay-period dates and working-day counts to **Salary Structure Assignment** calculations. Formula-based salary components can use the period details a **Salary Slip** provides. (https://github.com/frappe/hrms/pull/4831)
* Restricts access to the "Employee CTC Break Up" report so employees can only view their own salary breakdown unless they are HR staff or administrators.` (https://github.com/frappe/hrms/pull/4837)
* Blocks a half-day **Leave Application** when a full-day leave already exists for the same date. (https://github.com/frappe/hrms/pull/4844)

## Other Changes
* Fixes an import error in the `"Employee Advance Summary"` report, which now loads correctly. (https://github.com/frappe/hrms/pull/4820)

**Authors**: @wreckage0907, @asmitahase, @deepeshgarg007, @krishna-254, @NotAbdelrahmanelsayed
**Reviewers**: @asmitahase, @deepeshgarg007, @iamkhanraheel

<details>
<summary>AI content</summary>

 For these release notes, we used an LLM (OpenAI gpt-5.4-mini) 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:
- refactor
 - build
 - docs
 - chore
 - test
 - style
 - ci

</details>