HR Payroll
Zerithonlabs - Modern HRM + Payroll platform rebuilt with Laravel for real company workflows and long-term maintainability.
Legacy version note: this
mainbranch is the Laravel rebuild. Older legacy implementation may exist in a separate branch.
π Support My Work
Your support helps me continue building better software, maintaining open-source projects, and creating useful tools through MADCODERZ.
Why This Project
A complete HRM and Payroll platform for organizations that need one system to manage employee lifecycle, attendance, leave, payroll, approvals, and reporting.
It is designed with a modular Laravel architecture so teams can run day-to-day HR operations with cleaner structure, maintainability, and long-term scalability.
Main Features
- Employee management
- Attendance management with reports
- Employee clock attendance
- Manage time change requests
- Leave management with reports
- Create leave categories
- Set leave quota
- Approve / reject leave applications
- Payroll management with reports
- Monthly salary template creation
- Bonus management
- Loan management
- Deduction management
- Provident fund management
- Holiday management
- Department management
- Designation management
- Employee role management
- Training and award management
- Notice board and announcement management
- Team management
- Task management
- Private notes
- Team member details view
- Beautiful file preview and comments
- Estimate, invoice, and billing system
- Expense management with reports
- Expense payment reports
- Report printing and export
- Employee notifications
- Custom permissions for team members
- Informative dashboard
- Easy-to-use interface
- Responsive design
Screenshots
1. Settings Page

2. Update Profile

3. Holiday Calendar

4. Attendance & API Integration


Tech Stack
- PHP 8.2+
- Laravel 12
- MySQL
- Blade templates
- Bootstrap-based admin UI
- Vite
Quick Start
- Clone and enter the project
git clone https://github.com/Devnawjesh/hr-payroll.git
cd hr-payroll
- Install dependencies
composer install
npm install
- Configure environment
cp .env.example .env
php artisan key:generate
- Set DB credentials in
.env, then run:
php artisan migrate
php artisan db:seed
- Run app
php artisan serve
npm run dev
Default Seeded Admin
- Email:
[email protected] - Password:
P@ssw0rd
Access Model (Current)
super-admin: full accesshr-manager: HR operational accessdepartment-head: limited operational access + self-serviceemployee: self-service access
Employee management menus are restricted for non-HR roles.
Self-service profile update remains available via topbar dropdown when user is linked to an employee profile.
SMTP and Outbound Email
SMTP values are configured from the Settings page and stored in DB-backed system settings.
Current implemented email flow:
- when HR/Super Admin creates a user, credentials can be emailed
- sender config is loaded from system settings (mailer/host/port/username/password/from)
Project Structure (High Level)
app/Modules/Employeesemployee domainapp/Modules/Usersuser, role, permission domainapp/Modules/Settingssystem and SMTP settingsresources/views/hrbackend UIdatabase/seedersinitial roles, permissions, settings, admin user
Contributing
Contributions are welcome.
- Fork the repository
- Create a feature branch
- Commit with clear messages
- Open a pull request with:
- problem statement
- approach
- screenshots (if UI)
- migration/seed impact
Roadmap
- stronger test coverage (feature + service tests)
- audit trail improvements
- notification system enhancements
- API layer for external integrations
- richer reporting and exports
π Support My Work
Your support helps me continue building better software, maintaining open-source projects, and creating useful tools through MADCODERZ.
License
MIT