A comprehensive Project Control and Financial Control system for a contracting inspection company.
This software is a professional Project Control + Financial Project Control system that enables company management to monitor and control contracts, projects, progress, man-days, costs, revenue, invoices/payment certificates, collections, and project profitability.
- Project Management: Full CRUD for projects with unique project codes
- Contracts: Contract, amendment, and adjustment management
- WBS: Hierarchical Work Breakdown Structure
- Progress Control: Recording and tracking project progress with variance analysis
- Man-Day Control: Tracking man-day consumption against progress (productivity)
- Cost Control: Recording direct costs and comparing them against the budget
- Payment Certificates: Managing invoices/payment certificates, approvals, and collections
- Financial Forecasting: EAC using three models (Progress-based, Budget-based, Manual)
- Profitability: Calculating net profit and profit margin at both project and company levels
- Automatic Alerts: Generating alerts for critical variances
- Reports: 7+ filterable reports with Excel/PDF/CSV export
- Excel Import/Export: Data import and export
- Dashboard: At-a-glance display of key KPIs
- Full API: RESTful API for integrations
- RBAC: Role-Based Access Control (9 roles)
- Audit Log: Logging all sensitive changes
- RTL + Persian: Fully Persian and right-to-left user interface
- PHP 8.3+
- Laravel 12+
- Laravel Eloquent ORM
- Laravel Queues & Scheduler
- Laravel Policies/Gates
- RESTful API
- MySQL 8+
- Laravel Blade + Livewire
- Alpine.js
- Tailwind CSS
- Chart.js
- Vazirmatn Font
- Laravel Excel (maatwebsite/excel)
- DomPDF (barryvdh/laravel-dompdf)
- Laravel Permission (spatie/laravel-permission)
| Section | Count |
|---|---|
| Migrations | 23 |
| Models | 23 |
| Services | 14 |
| Controllers | 24 |
| Policies | 4 |
| Validation Requests | 20 |
| Livewire Components | 13 |
| Blade Views | 29 |
| Seeders | 7 |
| Factories | 6 |
| Unit Tests | 10 |
| Feature Tests | 2 |
| Persian Language Files | 11 |
| Config Files | 2 |
| Imports | 6 |
| Exports | 5 |
| Total Files | 213 |
mali/
βββ app/
β βββ Models/ (23 Eloquent models)
β βββ Services/ (14 business services)
β βββ Http/
β β βββ Controllers/ (Web + API)
β β βββ Requests/ (Validation)
β β βββ Livewire/ (Interactive components)
β β βββ Resources/
β βββ Policies/ (Access control policies)
β βββ Exports/ (Excel exports)
β βββ Imports/ (Excel imports)
β βββ Console/Commands/ (Artisan commands)
β βββ helpers.php (Helper functions)
βββ database/
β βββ migrations/ (23 migrations)
β βββ seeders/ (7 data seeders)
β βββ factories/ (6 factories)
βββ resources/
β βββ views/ (29 Blade views)
β βββ css/ (Stylesheets)
β βββ js/ (JavaScript)
βββ routes/
β βββ web.php (Web routes)
β βββ api.php (API routes)
βββ config/
β βββ mali.php (System configuration)
β βββ permissions.php (Permissions)
βββ lang/fa/ (11 translation files)
βββ tests/ (Unit + Feature)
βββ storage/app/public/documents/ (Documents)
βββ public/ (Public assets)
- PHP 8.3+
- MySQL 8+
- Composer
- Node.js & NPM
- Git
git clone <repository-url> mali
cd mali
cp .env.example .env
composer install
npm install && npm run build
php artisan key:generate
php artisan migrate
php artisan db:seed
php artisan storage:link
php artisan serve
Then visit http://localhost:8000.
- Email: admin@mali.ir
- Password: password
| Role | Description |
|---|---|
| Super Admin | System administrator |
| CEO | Chief Executive Officer |
| Finance Manager | Finance manager |
| Project Manager | Project manager |
| Controller | Project controller |
| Accountant | Accountant |
| Financial Expert | Financial expert |
| Inspector | Inspector |
| Viewer | Read-only user |
The system calculates the following KPIs for each project:
- Time Progress: Percentage of contract duration elapsed
- Actual Progress: Percentage of work completed
- Man-Day Consumption: Man-days consumed relative to the contract
- Man-Day Productivity: Man-day consumption relative to project progress
- Cost Consumption: Actual cost relative to the budget
- Progress Variance: Difference between actual and planned progress
- Cost Variance: Difference between actual cost and budget
- Payment Certificate Approval: Percentage approved
- Collection Rate: Percentage collected
- Outstanding Receivables: Approved amount minus collected amount
- EAC: Estimated final project cost
- Forecasted Profit: Projected profit
- Profit Margin: Profitability percentage
- Project Status: Normal / Warning / Critical
The system automatically generates the following alerts:
β οΈ Progress Alert: When actual progress falls behind the planned scheduleβ οΈ Man-Day Alert: When man-day consumption exceeds the allowed thresholdβ οΈ Cost Alert: When costs exceed the budgetβ οΈ Profit Alert: When the profit margin reaches a critical rangeβ οΈ Collection Alert: When an approved payment certificate has not been collected
- Project Status Report
- Cost Report (Budget vs. Actual)
- Man-Day Report
- Payment Certificate Report
- Collection Report
- Forecast Report (EAC)
- Profitability Report
- Project P&L Report
All reports can be filtered and exported to Excel/PDF/CSV.
All alert thresholds can be configured through the database:
- Progress Warning Threshold: Default -5%
- Progress Critical Threshold: Default -10%
- Cost Warning Threshold: Default 5%
- Cost Critical Threshold: Default 10%
- Man-Day Warning Ratio: Default 1.00
- Man-Day Critical Ratio: Default 1.15
- Minimum Warning Profit Margin: Default 25%
- Minimum Critical Profit Margin: Default 15%
- CSRF Protection
- XSS Protection
- SQL Injection Protection
- Authorization using Policies
- Password Hashing (bcrypt)
- Rate Limiting
- Secure File Upload with MIME validation
- Audit Log for all sensitive changes
- Soft Deletes for sensitive financial data
- β Fully Persian RTL user interface
- β Vazirmatn font
- β Jalali calendar
- β Configurable currency (Rial/Toman/USD/EUR)
- β Thousands separators for financial figures
Users can import the following data from Excel:
- Projects
- Contracts
- Progress
- Man-Days
- Costs
- Payment Certificates
All system data can be exported to Excel/CSV/PDF.
# Run all tests
php artisan test
# Run Unit tests
php artisan test --testsuite=Unit
# Run Feature tests
php artisan test --testsuite=Feature
Unit tests cover core financial logic, including:
- EAC calculation
- Profitability calculation
- Project status evaluation
- Variance calculations
- Alert thresholds
- Daily Backup: Database
- Weekly Backup: Entire system
- Document Backup: External storage
- Query optimization with Eager Loading
- Indexing on Foreign Keys
- Caching for dashboard data
- Pagination for large lists
- Aggregation queries for calculations
The system architecture is designed to support the addition of the following modules:
- Payroll & Compensation
- HR & Human Resources Management
- CRM & Customer Relationship Management
- Procurement & Purchasing
- Multi-Currency
- Multi-Company
- Mobile Application
- SMS/Email/WhatsApp Notifications
- Advanced BI
See LICENSE.
The system was developed by the technical team of the contracting inspection company.
For reporting issues or requesting new features, please contact the technical team.
Version: 1.0.0