A complete invoice management system built with Laravel.
It provides a dashboard for administrators and an interface for regular users to manage invoices, attachments, customers, reports, and user roles.
- Manage all invoices and archive
- View detailed invoice history
- Attach files to invoices
- Manage products and sections
- Generate customer & invoice reports
- Control users and roles (RBAC)
- View user profiles and settings
- View and download their own invoices
- Upload attachments to their invoices
- Access invoice details and status
- Limited access based on their assigned role
- Laravel (PHP Framework)
- Blade Templating Engine
- MySQL Database
- Role & Permission system (e.g., Laravel Permission)
- Bootstrap for UI (if applicable)
app/Http/Controllers/
├── AdminController.php
├── CustomerReportController.php
├── HomeController.php
├── InvoiceArchieveController.php
├── InvoiceAttacchmentController.php
├── InvoiceController.php
├── InvoiceDetailController.php
├── InvoiceReportController.php
├── ProductController.php
├── ProfileController.php
├── RoleController.php
├── SectionController.php
└── UserController.php
- Clone the repository:
git clone https://github.com/your-username/invoices-system.git
cd invoices-system- Install dependencies:
composer install- Create
.envfile and generate app key:
cp .env.example .env
php artisan key:generate- Configure database settings in
.envand run migrations:
php artisan migrate --seed- Serve the app:
php artisan serveThen visit: http://localhost:8000
- Login system for admins and users
- Role-based access control (admin vs. user)
- Admin can assign roles and manage permissions
This project is open-source and available under the MIT license.
Developed by Eman Emad