Updates for May & June 2023

May & June saw some significant performance improvements in HR and some complex edge-case handling in Shift Management

 · 2 min read

HR


Faster Auto Attendance


I worked on optimizing the auto attendance job which made the process 3x faster 🚀





You can read more about the breakdown of this process here: #517, #586


Faster Org Chart Generation


When it came to a large number of employees (beyond 1.5k), the Org Chart generation was timing out and failing due to performance bottlenecks. I made some tiny improvements in the API and the server response times came down from 11.07 s -> 0.68129 s


Midnight Shift Edge Cases


Consider the following use case. 

Shift Timings: 20:00:00 (PM) - 7:00:00 (AM)

Shift Assignment: 24th May - 24th May


Although the shift is not assigned for the 25th, the 24th's shift is getting over on the 25th, so the shift should be fetched in the OUT log. But shift fetching used to fail on the next day (25th). This edge case was fixed along with some false positive duplicate assignment checks in case of midnight shifts.



Payroll


Allow Ceil & Floor functions in Salary Formulas


Components like ESIC (Employees' State Insurance Corporation) don't follow traditional rounding. They always need to be rounded up to the next higher rupee.

1.2 -> 2

1.5 -> 2


You can now use ceil & floor in salary component formulas to achieve such use cases. Example:


.       


The documentation now has a guide on how to use different mathematical functions in your component formulas:



Cost Center Mapping in Bank Entry


Cost center mapping from Payroll Entry to Bank Entry (Journal Entry) was missing. The fix now maps the cost center and If "Process Payroll Accounting Entry based on Employee" is enabled, this fix also honors cost-center-wise amount allocation in Bank Entry



cost-centers


split-je


Note for v15 (upcoming):


Frappe HR’s Payroll is integrated with ERPNext for accounting and loans. However, the Loan Management module has been removed from ERPNext in v15 and moved to a separate app called Frappe Lending. Lending is now a soft dependency for Frappe HR.


What does this mean?

  1. If you are not using loans in salary slips, this change doesn’t affect you.
  2. However, if you are using it in payroll, you will have to install the Frappe Lending app from Frappe Cloud Marketplace or GitHub when you move to v15 to continue using loan integration with payroll. 


That’s it, for now, 👋 Stay tuned for more updates, and star us on GitHub if you like what we’ve built so far!


Rucha Mahabal

Engineering Lead | Product Engineer at Frappe Tech. Building and maintaining open-source products.

No comments yet.

Add a comment
Ctrl+Enter to add comment