A comprehensive Laravel-based management system for handling clients, employees, invoices, expenses, bonuses, salary releases, and financial reporting with PDF export capabilities.
- Features
- Tech Stack
- Installation
- Configuration
- Usage
- Key Features
- Database Schema
- Screenshots
- Contributing
- License
- Client Management - Full CRUD with image uploads, contact details, and invoice tracking
- Employee Management - Manage employees with roles, salaries, commission rates, and employment types
- Invoice Management - Create invoices with automatic commission calculation, status tracking, and PDF export
- Expense Tracking - Record and categorize business expenses with date filtering
- Bonus System - Award bonuses to employees with flexible release types
- Salary Release - Automated salary calculation with commissions, bonuses, and late/leave deductions
- Attendance Tracking - Daily check-in/out with geolocation, IP whitelisting, and auto-late detection
- Flexible Scheduling - Global office hours plus per-employee schedule overrides for specific days
- Comprehensive Reports - Detailed audit reports with paid/unpaid breakdowns and net income calculations
- β Commission Calculation - Automatic calculation from paid invoices only (Payment Done status)
- β Live Preview - Real-time salary calculation preview with AJAX
- β Partial Releases - Support for partial salary payments with validation
- β Month Tracking - Track salary releases by month for better organization
- β PDF Exports - Professional PDF generation for invoices, salary slips, and audit reports
- β Multi-User Support - Secure authentication with user-specific data isolation
- β Search & Filters - Advanced filtering on all list pages
- β Pagination - Efficient data handling with 10 items per page
- β Soft Deletes - Safe deletion with recovery options
- β Authorization Policies - Role-based access control
- β Moderators & Supervisors - Admin can create delegated users with feature-level permissions (Read/Write)
- β Feature Registry - Central list of permission-able features for consistent future expansion
- β Advanced Attendance - Geolocation enforcement, IP whitelisting, and distance tracking
- β Automated Deductions - Late-based and leave-based automated salary deductions
- β Employee Portal - Dedicated dashboard for employees to check-in and view salary slips
- Framework: Laravel 12.x
- Frontend: Blade Templates, Tailwind CSS
- Authentication: Laravel Breeze
- Database: MySQL
- PDF Generation: barryvdh/laravel-dompdf
- Asset Building: Vite
- PHP Version: 8.2+
- PHP 8.2 or higher
- Composer
- MySQL 5.7+ or MariaDB 10.3+
- Node.js & NPM
-
Clone the repository
git clone <repository-url> cd bizentify
-
Install PHP dependencies
composer install
-
Install Node dependencies
npm install
-
Environment setup
cp .env.example .env php artisan key:generate
-
Configure database Edit
.envfile:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=envision_reporting DB_USERNAME=root DB_PASSWORD=
-
Run migrations
php artisan migrate
-
Seed database (optional)
php artisan db:seed
-
Build assets
npm run build
-
Start development server
php artisan serve
-
Access the application Open your browser and navigate to
http://127.0.0.1:8000
After seeding the database:
- Email: test@example.com
- Password: password
The application uses Rs. (Rupees) as the default currency. To change it, update the currency symbol in the view files.
Place your company logo at public/assets/logo.png for it to appear in PDFs and the application header.
Access the dashboard after login to view:
- Total clients, employees, pending invoices, and expenses
- Recent invoices and expenses
- Quick action buttons
- Navigate to Invoices β Create Invoice
- Select client and salesperson (self or employee)
- Enter amount, tax, status, and due date
- Save to automatically calculate commissions
- Go to Salary Releases β Release Salary
- Select employee and month
- View live preview with:
- Base salary
- Commissions from paid invoices
- Unreleased bonuses
- Late deductions (e.g., 3 lates = 1 day)
- Leave deductions (extra leaves beyond monthly limit)
- Manual deductions
- Choose full or partial release
- Submit to release salary and mark commissions/bonuses as paid
- Navigate to Reports
- Select date range
- View detailed transaction table
- Click Generate PDF Report for downloadable audit report
- Automatic Calculation: Commission = (Invoice Amount - Tax) Γ (Employee Commission Rate / 100)
- Paid Invoices Only: Commissions calculated only from invoices with "Payment Done" status
- Tracking: Prevents duplicate commission payments
- Auto-Calculation: Base + Commissions + Bonuses - Deductions (Late/Leave/Manual)
- Late Rules: Automated deduction based on "X lates = 1 day salary" configurable per office
- Leave Limits: Automated deduction for leaves exceeding the employee's monthly allowance
- Month Tracking: Associate each release with a specific month
- Partial Releases: Release partial amounts with validation
- Live Preview: See breakdown before submission
- Check-in/out: Simple interface for employees with status tracking
- Geolocation: Enforce check-ins only within a specific radius of the office
- IP Whitelisting: Allow office-only check-ins or provide whitelist overrides
- Custom Schedules: Define specific timings for individual employees (e.g., for students or partial shifts)
- Grace Period: Configurable grace time (in minutes) before a check-in is marked "Late"
Net Income = Total Invoices - Total Expenses - Total Salaries
Note: Bonuses are excluded as they are separate rewards
- Invoice PDFs: Professional invoices with logo and client details
- Salary Slips: Detailed breakdown with month and release date
- Audit Reports: Comprehensive reports with paid/unpaid sections
- users - System users with authentication
- clients - Client information with contact details
- employees - Employee records with salary and commission rates
- invoices - Invoice records with status and commission tracking
- expenses - Business expense records
- bonuses - Employee bonus records
- salary_releases - Salary payment records with month tracking
- User β hasMany β Clients, Employees, Invoices, Expenses, Bonuses, SalaryReleases
- Client β hasMany β Invoices
- Employee β hasMany β Invoices (as salesperson), Bonuses, SalaryReleases
- Invoice β belongsTo β Client, Employee (nullable)
Clean and intuitive dashboard with statistics and quick actions.
Live calculation preview showing base salary, commissions, bonuses, and deductions.
Comprehensive financial report with paid/unpaid invoice breakdown.
- Primary: Navy Blue (#001F3F)
- Background: White (#FFFFFF)
- Text: Black (#000000)
- Accent: Green (income), Red (expenses)
- Clean and minimal interface
- Consistent navy-blue theme
- Professional typography
- Responsive layout
- Accessible forms with validation
- Executive Summary: Totals for all categories
- Paid Invoices: Separate section with green indicator
- Unpaid Invoices: Separate section with red indicator
- Expenses: Detailed expense list
- Salary Releases: With month, base, commission, and deductions
- Bonuses: Separate tracking (excluded from net income)
- Net Income: Accurate calculation with formula explanation
- CSRF protection on all forms
- Authorization policies for data access
- User-specific data isolation
- Feature-level access control (Read/Write) for moderators & supervisors
- Sidebar hides features the user cannot access (direct URL access still returns 403)
- Secure password hashing
- Rate limiting on login attempts
- Soft deletes for data recovery
Run the test suite:
php artisan test- β Commission calculation refined to only include paid invoices
- β Added month field to salary releases
- β Implemented partial salary release functionality
- β Added live preview with AJAX for salary calculations
- β Enhanced reports page with detailed transaction table
- β Updated audit PDF with paid/unpaid invoice sections
- β Excluded bonuses from net income calculation
- β Changed currency symbol to Rs. (Rupees)
- β Added moderator/supervisor roles
- β
Added per-feature permissions (Read/Write) with centralized registry in
config/features.php - β
Added tenant scoping via
users.admin_idso delegated users see the adminβs data - β Hardened UI navigation to hide inaccessible features while preserving 403 protection for direct URLs
- β Advanced Attendance: Added geolocation enforcement, IP whitelisting, and distance tracking for check-ins
- β Flexible Scheduling: Implemented global office hours and per-employee schedule overrides
- β Smart Deductions: Automated salary deductions for lates (e.g., 3 lates = 1 day) and extra leaves
- β Deduction Settings: Configurable grace time and late limits from the frontend
- β Employee Accounts: Dedicated login for employees to manage attendance and view slips
- β Detailed Slips: PDF and UI updates to show breakdown of automated deductions
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open-sourced software licensed under the MIT license.
For support, email [EMAIL_ADDRESS] or open an issue in the repository.
- Laravel Framework
- Tailwind CSS
- DomPDF Library
- All contributors and testers
Project Maintainer: Your Name
Email: your.email@example.com
Website: https://bizentify.com
Built with β€οΈ using Laravel