Project

General

Profile

Edit Copy Actions

Feature #10256

open

Employees and pay role

Added by Sai Priyatham Sadineni about 1 hour ago. Updated about 1 hour ago.

Status:
Resolved
Priority:
Normal
Start date:
08/06/2026
Due date:
08/08/2026 (Due in 2 days)
% Done:

100%

Estimated time:
8:00 h
Spent time:

Description

1. New Payroll module (backend)
Built a complete payroll module — schema, service, controller and module registration. Follows the existing database-per-tenant architecture and central models convention. The existing Attendance module and schema were not modified at any point.

2. Data model
The payroll profile links one-to-one to the User record, so employee identity (name, role, department, joining date) is not duplicated. The profile holds only payroll data — pay structure, bank details, salary history, advances and leave records.

3. Payroll calculation engine
Salary is derived from the existing clock-in/clock-out records. Each day is classified as present, half-day, absent, leave or weekly-off based on hours worked, and deductions are calculated on a daily-rate basis. All calculations run server-side.

4. New Payroll page (frontend)
Three tabs — Employee Directory, Monthly Payroll and Attendance Sheet — plus an employee detail view with Profile, Attendance, Salary History, Advances and Leaves. Added to routing and sidebar under admin, manager and accountant roles.

5. Attendance marking
Added per-employee attendance marking and a Daily Attendance screen for marking all staff for a single date. Marking creates standard shift records, so payroll and the existing Attendance page stay consistent.

6. US localization
Payroll fields aligned to US requirements — ACH bank details (routing number, account type), W-2/1099 classification, filing status, work state, and W-4/I-9 tracking.

7. Expense integration
Marking a salary as paid now automatically records it as an expense under the existing "salaries" category, with the full breakdown stored against it. Duplicate posting is prevented by design. Also added a sync option to post salaries that were marked paid before this integration was in place.

8. Spice levels
Completed the spice levels work, including the data migration script for existing records.

9. Bug fixes and improvements

Fixed a timezone issue where a selected date was saved as the previous day
Blocked attendance marking and display for future dates
Removed inner scrollbars and made all components responsive for mobile
Added joining date to the employee directory
Simplified the payroll table by merging the actions column into the status column
10. Verification
Both backend and frontend compile without errors. Schema validation, dependency wiring and date handling were verified directly.

Pending
End-to-end testing of a full month's payroll cycle in the application, before the module is used for actual salary processing.


Add

Subtasks


Add

Related issues

Actions #1

Updated by Sai Priyatham Sadineni about 1 hour ago

  • Description updated (diff)
  • Status changed from New to Resolved
Edit Copy Actions

Also available in: Atom PDF