Releases: Devnawjesh/hr-payroll
v2.0.0-alpha.4 — Leave Management Workflow + Reports + Export
🚀 v2.0.0-alpha.4 — Leave Management Workflow + Reports + Export
✨ Highlights
- Added complete Leave Application workflow for employees.
- Added Leave Approvals queue for supervisor/HR roles.
- Added scoped Leave Reports with date/category/status filters.
- Added CSV Export for both Leave Reports and Leave Approvals.
- Completed leave menu wiring and permission-based access behavior.
✅ Added
- Apply Leave module (self-service)
- New leave request form
- Half-day support
- Validation rules for overlap, date range, balance checks, and category limits
- Leave Approvals module
- Approve/reject actions with remarks
- Role/scope based queue visibility
- Auto updates to leave balance (
availed,closing_balance) on approval
- Leave Reports module
- Own/subordinates/all visibility by role/permission
- Employee, category, status, date range filters
- Exports
- Leave Reports export (CSV)
- Leave Approvals export (CSV)
- Employee code + salary grade included in exported/reported columns
🛠 Improved
- Leave balance sync now aligns with salary-grade policy mapping and employee eligibility.
- Earned leave policy fields are integrated into balance generation.
- Generated sync values normalized to whole-day business output (no invalid fraction-style generated values).
- Employee-facing balance page improved with clear My Leave Balance behavior in self scope.
🔐 Permissions
Included/used leave permission set:
leave.viewleave.applyleave.approveleave.manage-categoriesleave.manage-quotasleave.manage-balancesleave.report
Also added:
- Seeder:
LeavePermissionAssignmentSeeder - Raw SQL:
database/sql/leave_permissions_assignments_seed.sql
🧭 Navigation
Leave menu now points to working routes:
- Leave Balances
- Apply Leave
- Leave Approvals
- Leave Reports
- Leave Categories
- Leave Policies
🗃 Release Tags
laravel hrm payroll leave-management workflow approvals reports csv-export permissions self-service alpha
📌 Post-Release Commands
php artisan migrate
php artisan db:seed --class=Database\\Seeders\\PermissionSeeder
php artisan db:seed --class=Database\\Seeders\\RolePermissionSeeder
php artisan db:seed --class=Database\\Seeders\\LeavePermissionAssignmentSeeder📝 Operational Notes
- Ensure employees have valid
salary_grade_id; otherwise leave balance sync will skip those employees. - Leave application approval depends on existing balance rows for employee/category/year.
v2.0.0-alpha.3-Holidays & Attendance Modules
Release: Add Holidays Management + Attendance Management (with API & Import/Export)
Summary
This release introduces two major HR modules:
-
Holidays Module
- Holiday CRUD
- Year-wise holiday filtering
- Table view + Calendar view
- Clickable holiday details on calendar
- Weekend highlighting (configurable from Settings)
- CSV export for holiday data
-
Attendance Module
- Manual attendance entry (check-in/check-out)
- Datepicker + time picker with consistent formats
- Multiple same-day punch entries supported
- Daily summary with first check-in, last check-out, and duration
- Full raw punch-history CSV export
- CSV template download + CSV import
- Role-based data access:
- Employee: own history
- Supervisor: own + subordinates
- HR/Admin roles: all records
- Secure external Attendance API ingestion (bulk rows)
- Attendance API Integration documentation UI
Database / Migration Changes
- Added/updated attendance behavior to allow multiple entries per day
- Added API client table for secure external integrations
- Removed unused
time_change_requeststable (new migration)
Security / Access Control
- Added attendance permission set for:
attendance.exportattendance.importattendance.api-integration
- API uses Bearer token authentication with hashed token storage
- Optional IP allowlist per API client
- API usage timestamp tracking (
last_used_at)
API Added
POST /api/v1/attendance/logs/bulk- Accepts bulk entries from external devices/systems
- Validates date/time formats and blocks future dates
UI Added / Updated
- Holidays pages integrated into admin template style
- Attendance pages integrated into admin template style
- New Attendance API Integration page in menu
- Updated README screenshots for both modules
Notes for QA
- Verify holiday calendar/year filters/export
- Verify weekend day configuration from Settings reflects in holiday calendar
- Verify attendance manual add, import, export, duration, and filters
- Verify API token generation, enable/disable, and Postman ingestion
- Verify role-based attendance visibility rules
- Verify future-date attendance is blocked for manual/API/import
Post-release Commands
php artisan migrate
php artisan db:seed --class=Database\\Seeders\\PermissionSeeder
php artisan db:seed --class=Database\\Seeders\\RolePermissionSeederv2.0.0-alpha.2- Employee Self-Service + Permission Hardening + Org Structure
### Highlights
- Added employee self-service profile update request flow in topbar dropdown.
- Added HR approval queue for profile updates with request review and apply flow.
- Added organization structure page for all users:
- reporting line (supervisor chain)
- direct subordinates
- department-wise company hierarchy
- Added dashboard change-password flow (old/new/confirm).
- Added user-creation credential email flow.
- SMTP sender now reads from Settings (DB-backed system settings).
Access & Security Improvements
- Tightened menu visibility based on role + permission.
- Restricted employee management menus for non-HR roles.
- Separated self-service profile update access from employee admin actions.
- Improved handling of pending profile update requests.
UX/Design Fixes
- Improved topbar dropdown alignment and spacing.
- Added tabbed structure in profile update form.
- Fixed pending data display in profile update “Other Information”.
Developer Notes
- Updated seed logic for role-permission assignments (notably department-head scope).
- Updated README for public open-source onboarding and client customization positioning.
Upgrade Notes
Run:
php artisan migrate
php artisan db:seed
php artisan optimize:clear
HR Payroll Laravel Rebuild – Initial Foundation Release
Welcome to the first release of the new Laravel-based HR Payroll System.
This release marks the beginning of a complete rebuild of the project with a cleaner structure, better maintainability, improved scalability, and modern development standards. The goal of this rebuild is to create a more professional and production-ready HRM and Payroll platform.
What’s new
- Project migrated to Laravel
- New standardized project structure
- Improved foundation for scalable module development
- Cleaner codebase for future maintenance and extension
- Prepared base for modern HR and payroll workflows
- Planned modules
The Laravel version is being rebuilt module by module, including:
- Employee Management
- Attendance Management
- Leave Management
- Payroll Processing
- Loan Management
- Role Permissions Based Access Control
- Expense Management
- Notices
- Projects & Tasks Management
- Billing and Reports
Notes
This is an initial foundation release
Some modules may still be under development
Legacy version may remain available in a separate branch for reference
More features, fixes, and polished modules will be added in upcoming releases
Purpose of this release
This release is intended to:
introduce the new Laravel rebuild
establish the base architecture
prepare for upcoming feature-by-feature implementation
give contributors and users a clear direction for future development
Upcoming focus
Next releases will focus on:
authentication and user roles
employee module
attendance and leave workflows
payroll core features
reporting improvements
Feedback
Feedback, suggestions, and contributions are welcome as the project moves toward a full modern Laravel HR & Payroll solution.