gitlab dokos/hrms v3.0.0

6 hours ago

Release Notes for v3.0.0 (405 changes)

Features (51)
  • Add return amount column in employee advance summary report !1898
  • Organizational Chart: Add Employee role to page permissions !1860
  • Number cards for leaves workspace !1855
  • Timesheet: Handle partial billing in sales invoice !1852
  • Salary structure assignmet: Leave encashment amount field added !1851
  • Holiday List Assignment !1843
  • Job opening template: Auto fetch template values !1810
  • Attendance: Show mark attendance based on permission !1780
  • Export workspace sidebars !1757
  • Export new desktop icons for the desktop !1755
  • Multi-Currency support in Employee Advance, Expense Claim !1754
  • Earned Leave: Earned Leave Schedule !1750
  • Create attendance request from attendance !1727
  • Monthly Attendance Sheet: Date range filter !1726
  • Handle salary structure arrears !1695
  • feat:payroll correction for lwp reversal !1692
  • Redesign employee benefit !1691
  • Leave Adjustment !1686
  • Calculate & Show Income tax breakup section in Salary Slip if it is overwritten from Additional salary !1672
  • Overtime !1657
  • Filter unmarked attendance by shift in employee attendance tool #3362 !1654
  • PWA: Enable PDF download option via showDownloadPDFButton prop !1653
  • Added checkbox to exclude specific salary component amount from Journal Entry !1636
  • Minor: Prevent self approval for expense claims !1629
  • Minor: Allow setting shift through bulk attendance option !1589
  • New logo for v5 !1586
  • Minor: Fetch only 10 notifications at a time !1552
  • Show team attendance requests under team requests !1523
  • Half day lite in Payroll !1502
  • Tax relief or rebate configuration !1486
  • Update half day attendance from employee tool !1484
  • Minor: Show option to expire carried forward leaves !1409
  • Translate roster page !1398
  • Process leave encashment via payment entry !1358
  • Shift Type: Auto update Last Sync of Checkin !1356
  • Allow setting From Date while manually allocating extra leaves !1163
  • PWA: Attendance Dashboard !972
  • Earned Leave: Allocate leaves manually !956
  • Base Roster Management !855
  • Add Frappe HR logo !850
  • Add HR app to apps page !775
  • Salary Withholding !709
  • Leave Ledger Report !437
  • Pass doctype as context when translating label !318
  • Add new doctype for Job offer Term Template !191
  • Interview: Add setting for sender in interview & interview feedback reminder emails !188
  • Add Amount Based on Formula to list view & fix UX !164
  • Job Portal Enhancements !162
  • Option to enable/disable multiple Shift Assignments for same dates !159
  • PWA: Workflow support + other enhancements !155
  • Expense doctype !144

Fixes (330)
  • Missing fr translations !1942
  • Salary Structure Assignment: Add currency options to max benefits field !1941
  • Translations for expenses and new logo !1940
  • Sync translations from crowdin !1939
  • Sync translations from crowdin !1938
  • Shift type: Filter half-day attendance by last_sync_of_checkin !1937
  • Fetch holiday list of an employee based on month end date filter… !1936
  • Payroll: Add type hints for whitelist functions !1935
  • Use get_list in get_all_employees !1933
  • Get employee from session user in get_shifts, get_leave_balance_map !1932
  • Get employee from session user in get_expense_claim_summary, get_employee_advance_balance, get_attendance_calendar_events !1931
  • Sync translations from crowdin !1930
  • Sync translations from crowdin !1928
  • Sync translations from crowdin !1927
  • Export type annotations !1926
  • Leaves,Shift & Attendance,Expenses: Missing type hints for whilelisted methods !1923
  • Sync translations from crowdin !1922
  • Overrides: Missing type hints for whilelisted methods !1921
  • Performance: Missing type hints for whilelisted methods !1920
  • Tenure: Missing type hints for whilelisted methods !1919
  • Recruitment: Missing type hints for whilelisted methods !1918
  • Sync translations from crowdin !1917
  • Sync translations from crowdin !1915
  • Better api endpoint !1913
  • Patch: Check user type existence !1912
  • Test: Correct test setup !1911
  • Sync translations from crowdin !1910
  • Sync translations from crowdin !1909
  • Roster: Use frappe client api to get employee values in Roster !1907
  • Expense claim: Remove create payment button on rejected claims !1906
  • Sync translations from crowdin !1904
  • Sync translations from crowdin !1903
  • Correct datetime in fnf test setup !1902
  • Sync translations from crowdin !1901
  • Check if user type exists before running patch !1900
  • Attendance: Use valuewrapper for doctype in calendar view !1896
  • Show date for which the holiday list is missing !1895
  • Sync translations from crowdin !1894
  • Apply user permission on attendance records !1893
  • Apply user permission on attendance records while querying for report #3937 !1892
  • Employee onboaring: Use boarding_status instead of status !1891
  • Sync translations from crowdin !1890
  • User type: Update patch with ignore links !1889
  • Sync translations from crowdin !1888
  • Bulk Salary Structure Assignment: Use untranslated id to filter for column being updated !1887
  • Naming: Use function appropriately to avoid double naming !1886
  • Allow any host in vite dev servers for frontends !1885
  • Sync translations from crowdin !1884
  • Sync translations from crowdin !1882
  • Validate dates in additional salary !1879
  • Consider holiday list assignments while marking attendance in bulk !1878
  • Salary register: Show Loan Repayment column only when Lending app is installed !1877
  • Gratuity: Consider default amount !1876
  • Update leave balance while cancelling the compensatory leave request !1875
  • Check_app_permission returns False for Website Users !1874
  • Sync translations from crowdin !1872
  • Update v15 patch for add_leave_type_permission_for_ess !1871
  • User type: Add leave type read permission for employee self service !1870
  • Employee advance account's account type should be receivable !1869
  • Fetch only the enabled tax components !1868
  • Use boarding_status instead of status in Employee Separation !1867
  • Leave approver shouldn't have amend permission on leave application !1866
  • Sync translations from crowdin !1865
  • Convert to float !1863
  • Expense claim: Inclusion of tax and charges in allocated amount !1862
  • Enforce permission check for employee doctype fields !1861
  • Multicurrency employee advance & expense claim bugs !1859
  • Sync translations from crowdin !1858
  • New sidebar item !1857
  • Link to holiday list assignment in the message !1854
  • Remove quick lists !1848
  • Leaves workspace settings link should point to Leaves tab of HR Settings !1847
  • Re-export people !1846
  • Rename HR workspace to People !1844
  • Reexport desktop icons !1842
  • Add missing translation !1841
  • Create reverse ledger entry for backdated leave applications !1840
  • Sync translations from crowdin !1839
  • Allow backdated leave application after creating expiry ledger entries !1838
  • Sync translations from crowdin !1837
  • Reexport all desktop icons with new schema !1836
  • Fixing bad test setups !1835
  • Salary slip: Overwrite structure value with zero value !1834
  • Sync translations from crowdin !1832
  • Additional salary: Validate salary component part of salary structure !1831
  • Show income tax computation report for employees of all statuses !1830
  • Delete redundant desktop icon !1829
  • Sync translations from crowdin !1828
  • Rename desktop icons !1827
  • Unsupported string alias in get_all !1826
  • Sync translations from crowdin !1824
  • Sync translations from crowdin !1822
  • Consider overtime for default shift !1821
  • Sync translations from crowdin !1819
  • Set correct total positions in staffing plan !1818
  • Allow double digit precision for working hours threshold !1817
  • Add patch to delete old workspaces !1816
  • Add patch to delete old workspaces !1815
  • Sync translations from crowdin !1813
  • Sync translations from crowdin !1812
  • Expense claim: Add accounting dimension for payment gl !1811
  • Desktop icons !1809
  • Sync translations from crowdin !1808
  • Update status on discard !1807
  • Remove Invalid salary_component Query Filter from Employee Advance !1806
  • Set default dimension in expense claim !1805
  • Employee Analytics: Replace frappe.db.sql !1804
  • Sync translations from crowdin !1803
  • Sync translations from crowdin !1802
  • Additional Salary: Change validate_update_after_submit hook to before_update_after_submit !1801
  • Use singular/plural forms for 'years' in employee reminders !1800
  • French translations !1799
  • Sync translations from crowdin !1798
  • Sync translations from crowdin !1795
  • Overtime bugs, remove filter from additional salary & null value if it depends on other fields !1794
  • Sync translations from crowdin !1793
  • Expense claim: Update voucher type to expense claim in it's ledger entries !1792
  • Structure misspelling !1791
  • Add fallback for exchange rate !1790
  • Sidebar: Organization chart in HR sidebar !1789
  • Sync translations from crowdin !1788
  • Leave policy assignment: Skip leave allocation when New Leaves … !1787
  • Sync translations from crowdin !1786
  • Sync translations from crowdin !1784
  • Monthly attendance sheet: Compare using day !1783
  • Sync translations from crowdin !1782
  • Sync translations from crowdin !1779
  • Sync translations from crowdin !1778
  • Salary slip: Do not default amount as amount !1776
  • Serialize latitude longitude update and geolocation refresh !1775
  • Sync translations from crowdin !1774
  • Re-export all sidebars !1773
  • Sync translations from crowdin !1772
  • Sync translations from crowdin !1771
  • Sync translations from crowdin !1769
  • Sync translations from crowdin !1768
  • Remove 5th no-op parameter from filter JSON !1767
  • Maintain correct field order in company in v16 !1766
  • Sync translations from crowdin !1765
  • Earned Leaves: No schedule is created for non earned leave type !1764
  • Sync translations from crowdin !1762
  • Workspaces: Workspace fixes !1761
  • Expense claim: Update status after payment unreconcillation !1760
  • Sync translations from crowdin !1759
  • Sync translations from crowdin !1756
  • Sync translations from crowdin !1752
  • Sync translations from crowdin !1749
  • Ignore translations from frappe and erpnext !1748
  • Sync translations from crowdin !1747
  • Sync translations from crowdin !1746
  • Sync translations from crowdin !1745
  • Variable name spelling error !1744
  • Sync translations from crowdin !1742
  • Sync translations from crowdin !1741
  • Earned Leave: Correct date object !1740
  • Sync translations from crowdin !1739
  • Salary register: Include loan repayment in total deduction !1737
  • Prevent calling are_opening_entries_required when salary_structure is not set !1736
  • Additional salary: Remove component type from component filter !1735
  • Attendance Count: Set correct default value for mandatory filters !1734
  • Sync translations from crowdin !1733
  • Sync translations from crowdin !1731
  • Sync translations from crowdin !1730
  • Sync translations from crowdin !1728
  • Sync translations from crowdin !1725
  • Gross pay calculation to update total in it if component added manually !1724
  • Sync translations from crowdin !1723
  • Set Payroll payable account to Payable & cancel linked payment ledgers entry of payroll & journal entry !1721
  • Sync translations from crowdin !1720
  • Set half day status when leave is not found !1719
  • Sync translations from crowdin !1718
  • Report: Reorder column in salary register !1717
  • Leave encashment: Add payable filter to payable account field !1716
  • Validate updated paid amount !1715
  • Sync translations from crowdin !1714
  • Arrears and benefit claim !1713
  • Job Applicant: Add-missing-translation-function !1711
  • Employee Advance: Add missing translation function !1710
  • Sync translations from crowdin !1709
  • Sync translations from crowdin !1707
  • Incorrect expense calculation in vehicle log !1706
  • Sync translations from crowdin !1705
  • Use number of stars specified in options to calculate score !1704
  • Sync translations from crowdin !1703
  • Update amount on advance payment ledger entry !1700
  • User: Ensure approver roles even with role profile set !1699
  • Income tax computation: Include deductions_before_tax_calculatio… !1698
  • Include filters for link field !1697
  • Exclude cancelled leave ledger entries !1696
  • Shift assignment tool: Fetch employees with with user permission !1694
  • Check perms in number card methods !1690
  • Add flag to skip receivable/payable account validation in payroll entry !1689
  • Add company_currency to currencies list to fix issue where multi currency is disabled if company currecy is differnent from component currencies !1681
  • Check multi currency when salary slip currency differs from company currency" !1680
  • Avoid setting salary slip naming series via class method only if custom naming series exists !1678
  • Check multi currency when salary slip currency differs from company currency !1675
  • Salary Component: Add missing translation function !1674
  • Update attendance status condition !1673
  • Link field: Pass modelValue on load !1671
  • Payroll entry: Submit payroll entry while creating salary slips in background job !1670
  • Fetch component details from salary component !1669
  • Earned Leave: Fix earned allocation for quaterly, half yearly and yearly leave types !1668
  • Round with field precision !1666
  • Roster: Do not get value for link fields !1665
  • Show attendance summary after joining date !1664
  • Update employee tax exemption category link in workspace !1663
  • Update amount on advance payment ledger entry !1662
  • Employee Grievance: Add missing translation function !1660
  • Leave balance when allocations are manually expired !1658
  • Fix employee advance bugs !1656
  • Validate employee advance account to be receivable !1649
  • Allocate correct quarterly earned leaves !1648
  • Set correct condition for paid and returned amount !1647
  • Filter query default employee advance account by account type !1646
  • Use Advanced Payment Ledger Entry for advance payment doctypes !1645
  • Fix translations !1643
  • Add expenses table for reposting !1642
  • Show company currency in Employee advance summary report instead of default currency !1640
  • Show remaining amount of approved state in case of sanction amou… !1639
  • Rejected expense claim amount to be shown in Rejected section of Expense Claim Summary !1638
  • Gratuity years and experience field precision !1637
  • Warn for allocated earned leaves while changing max leaves allowed !1635
  • Better half day status in attendance sheet !1634
  • Donot show rejected job applicant in job offer !1633
  • Refetch attendance calender events on update !1632
  • Reconciliation filters for HRMS !1631
  • Currency fields formatting to NaN !1630
  • Avoid setting salary slip naming series via class method !1627
  • Fix half day status in attendance request !1620
  • Remove redundant translation file !1616
  • Validate existing shift assignments for schedule !1614
  • Timesheet: Add patch to update wrong status !1613
  • Improve leave approval email !1611
  • Sync translations from crowdin !1608
  • Only fetch data if field grouped by fields are permitted !1604
  • The double headline in employee checkin on first save !1601
  • Employee advance allocated total as per sanctioned amount in Expense Claim !1600
  • PWA: Set leave approver only if empty !1598
  • Make labels in error message translatable !1597
  • Re-fetch team requests for session user !1594
  • Status not found while fetching attendance requests !1593
  • Fieldnames in get_value !1590
  • Company wise filtering for recruitment analytics report !1588
  • Provident fund report error !1587
  • Attendance Request: Publish update on update and after delete !1584
  • Calculation of future recurring periods for recurring additional salary which affects annual income/ctc amount !1583
  • Auto update last sync for extra long shifts !1581
  • Inaccurate lwp calculation in salary slip when partially paid leave exists for employee !1580
  • Roster: Use link field to fetch options on search !1578
  • Move employee advance account validation to before_submit hook !1577
  • Prompt user to set Default Employee Advance Account when submitting Employee Advance doc !1576
  • Prioritise attendance record over holiday for calendar view !1575
  • Loan demand processing and lending tests !1571
  • Add lending version-1 compatability !1564
  • Sync amount_based_on_formula field while syncing formula field of a component with linked salary structure !1558
  • Recurring additional salary creation error and payroll date overlaps !1557
  • Add department, branch and designaiton filters to salary register report !1555
  • Restored marginal relief patch which got deleted ny mistake !1547
  • Salary creation error !1546
  • Shift assignment calendar !1539
  • Merge branch 'fix-attendance-planning-view' into 'v4-dev' !1536
  • Auto pre-approve amount !1532
  • Include today's date while bulk marking attendance !1527
  • Use ESM instead of CommonJS !1518
  • Fixed incorrect condition !1507
  • Patch for marginal relief field !1496
  • Marking attendance if status is set but employees are not selected !1492
  • A reliable test suite !1491
  • Auto update last sync for shifts overflowing into next day due to checkout buffer !1487
  • Auto update last sync for night shifts !1457
  • Ux: Set from_date or to_date automatically in Leave Application if to_date < from_date !1447
  • Roster path in Shift & Attendance workspace !1446
  • Update yarn.lock !1417
  • Translations for roster !1412
  • App display rules !1397
  • Update payable leave encashment doc handling in full and final statement !1378
  • Sync translations from crowdin !1367
  • Show better alert on fetch shift if no shift is found !1290
  • Disable 'User Cannot Search' for bulk tools !1226
  • Make checkin button click once to prevent submitting multiple logs !1214
  • Resolve html rendering issue for holidays in roster view !1210
  • Remove auto_update_last_sync field !1162
  • Missing field in shift assignment and small UX fixes !1153
  • Sync translations from crowdin !1145
  • Sync translations from crowdin !1118
  • PWA translation in employee checkin and attendance request !1099
  • PWA: Remove unused setupDayjs function call from translations plugin !1033
  • Remove duplicate method !1003
  • Roster: Align with copy-html-entry constant !928
  • Update translations !892
  • Minor: Add app hooks !889
  • Remove ESS user type by default !832
  • Update translations !818
  • Fix PWA icon !755
  • Regenerate yarn.lock file !752
  • Update website url in readme !699
  • Sync translations from crowdin !599
  • Patch: Set/update user type limit while updating lending perm config !514
  • Update project URLs in pyproject !511
  • Format and lint !458
  • Employee filter in list view of employee checkin !424
  • Leave Application: Calendar view !372
  • Expense claim taxes calculation !193
  • Expense doctype issues !192
  • #1226 local variable "days_to_add" referenced before assignment !189
  • Org Chart: Check if company is set before loading children !185
  • Avoid assigning undefined !184
  • Duplicate Overwritten Salary error for other employee !183
  • Payroll: Accrual entry creation fails if any employee has no earnings !182
  • Retention Bonus doc cancellation. !181
  • Rewrite attendance query in qb & add test for half-day attendance overwritten by leave application !180
  • France: Don't overwrite Leave Type if modified between migrations !179
  • Migrate: Update custom fields after migration !178
  • Half Day Leave Application Link To Half Day Attendance !177
  • Journals as invoice throwing validation error" !175
  • French translations !174
  • Payroll entry fixes !173
  • Rerun France setup !172
  • Remove failing patch !170
  • Journals as invoice throwing validation error !169
  • Consider previous Leave Applications while enforcing Maximum Consecutive Leaves Allowed !168
  • PWA: Validate mandatory fields in form view on client-side !167
  • Interview reminder settings not respected !166
  • Leave Application: Resolved leave type missing for accurate payroll processing !165
  • Disable Same Date Multiple Shift Assignments by default !160
  • Creation of duplicate Additional Salary with Overwrite Salary Structure Amount enabled !158
  • Check the leave type name instead of leave_type_name !157
  • PWA fixes !156
  • Translation in msg !153
  • Package.json !152

Refactors (12)
  • HR Settings: Split HR settings according to workspaces !1833
  • Adjust for query builder changes !1763
  • Half day payment calculation handling in payroll processing !1615
  • Use get_single_value to get value from single doctypes !1602
  • Re-introduced checkbox grid for intuitive UI !1544
  • Flattened sidebar !1268
  • Shift Assignment Schedule !1169
  • Roster: Enforce selection of company !1081
  • Use IntegrationTestCase instead of FrappeTestCase !992
  • Switch default sort order to creation !404
  • Cleanup interviews !195
  • PWA: Realtime updates, caching & invalidation !176

Performance Improvements (1)
  • Auto Attendance: Use background job to process auto attendance !1796

Other Changes (1)
  • Show Username/Password Login only if not disabled !1873

Tests and CI/CD (10)
  • Bump required frappe & erpnext version !1853
  • Set mandatory field in loan product !1850
  • Fix failing test !1683
  • Pass correct value for link fields !1568
  • Run semgrep before tests !1444
  • Configure language mapping for crowdin !1395
  • Fix: Configure test time type checking !1124
  • Upgrade frappe-ui & related packages between both the workspaces !1064
  • Pin frappe & erpnext requirements to ^16.0.0 !327
  • Additional Salary: Overwrite Salary Structure Amount !163


Contributors
  • Charles-Henri Decultot (28)
  • Corentin Forler (6)


Tag: v3.0.0
The original content collected in merge requests has been automatically enhanced by Claude Sonnet

Don't miss a new hrms release

NewReleases is sending notifications on new releases.