v16.4.8
frappe/hrmsv16.4.8Apr 8, 2026by frappe-pr-bot
AI Summary
Introduces multi-currency support for Expense Claims and Employee Advances, while fixing formatting issues and removing redundant update steps.
Key Highlights
- Adds multi-currency handling with dynamic labels and automatic exchange-rate updates
- Displays formatted content in rich-text fields on the PWA
- Fixes server error when filtering employees by Grade
- Prevents the 'Condition and Formula' section in Salary Structure from collapsing
New Features
- Adds multi-currency support to Expense Claim and Employee Advance
Full Release Notes
## Bug Fixes * Shows or hides base currency fields in **Employee Advance** and **Expense Claim** forms according to the record’s currency. Prevents selecting an _Advance Account_ in a mismatched currency and updates existing records with correct currency data. (https://github.com/frappe/hrms/pull/4309) * The _Advances_ section in **Expense Claim** now lists only advances issued to the same employee and stops submission if a different employee’s advance is selected. (https://github.com/frappe/hrms/pull/4317) * Adds multi-currency handling to **Expense Claim** and **Employee Advance** forms, with dynamic labels for transaction and company amounts and automatic exchange-rate updates. Adds a currency column to the **Expense Claim** list and refreshes dropdown options when filters change. (https://github.com/frappe/hrms/pull/4318) * Displays formatted content in rich-text fields like _Description_ in **Expense Item** on the PWA by replacing the plain input with a text editor, so raw HTML no longer appears. (https://github.com/frappe/hrms/pull/4321) * Fixes the server error that occurred when filtering employees by _Grade_ in the **Employee Attendance Tool**, so the list now shows only employees matching the selected grade. (https://github.com/frappe/hrms/pull/4327) * Adds explanatory text to the _Include Holidays_ checkbox in **Attendance Request** and replaces the generic error with a table that lists the date, reason, and suggested action when attendance cannot be created. (https://github.com/frappe/hrms/pull/4329) * Adds an option to create a "Payment Entry" directly from an **Expense Claim**, allowing users to record payments without leaving the form. (https://github.com/frappe/hrms/pull/4336) * Expired **Shift Assignment** records are now set to _Inactive_ during the daily update, preventing past shifts from being included in attendance calculations. (https://github.com/frappe/hrms/pull/4334) * Fixes calculation of future taxable earnings in **Salary Slip** for fortnightly payrolls, preventing inflated projected salary and tax amounts. The system now projects the correct number of remaining pay periods. (https://github.com/frappe/hrms/pull/4338) * Removes a duplicate version update step in the automatic update workflow, eliminating redundant repository operations during updates. (https://github.com/frappe/hrms/pull/4347) * Prevent the "Condition and Formula" section in **Salary Structure** from collapsing when you enable _Amount Based on Formula_ or edit the _Formula_ field. The _Amount Based on Formula_ and _Formula_ columns no longer appear in the salary component list view. (https://github.com/frappe/hrms/pull/4350) **Authors**: @ruchamahabal, @deepeshgarg007, @krishna-254, @abishektridots-ctrl, @iamkhanraheel, @asmitahase, @nareshkannasln **Reviewers**: @ruchamahabal, @iamkhanraheel, @deepeshgarg007, @ankush, @asmitahase <details> <summary>AI content</summary> For these release notes, we used an LLM (OpenAI o3) 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: - docs - ci - build - refactor - chore - style - test </details>