A modern, professional invoice management system built with PHP, MySQL, and Bootstrap. Create, manage, and track invoices with ease!
- Invoice Creation: Create professional invoices with custom items and tax calculations
- Client Management: Store and manage client information with contact details
- Real-time Calculations: Automatic total calculations as you type
- PDF Generation: Generate and download invoices as PDF files
- Email Integration: Send invoices directly to clients via email
- Dashboard Analytics: Overview of invoices, revenue, and client statistics
- Custom Reports: Filter reports by date ranges and generate insights
- Revenue Tracking: Monthly revenue trends and performance metrics
- Client Analytics: Top clients by revenue and invoice count
- Modern UI: Clean, responsive design with Bootstrap 5
- Real-time Updates: Live calculations and instant feedback
- Print-Ready: Professional invoice layouts for printing
- Mobile Friendly: Responsive design works on all devices
- Company Settings: Customize company information and branding
- Tax Configuration: Set default tax rates and currency
- Invoice Numbering: Custom invoice number prefixes
- Multi-Currency: Support for USD, EUR, GBP, CAD, AUD
- PHP 7.4 or higher
- MySQL 5.7 or higher
- Web server (Apache/Nginx)
- XAMPP, WAMP, or similar local development environment
-
Clone the repository
git clone https://github.com/AhmedShaikh0/QuickInvoice.git cd QuickInvoice
-
Set up the database
- Create a new MySQL database named
quickinvoice
- The application will automatically create tables on first run
- Create a new MySQL database named
-
Configure database connection
- Edit
config/database.php
- Update database credentials:
define('DB_HOST', 'localhost'); define('DB_USER', 'your_username'); define('DB_PASS', 'your_password'); define('DB_NAME', 'quickinvoice');
- Edit
-
Access the application
- Navigate to
http://localhost/QuickInvoice
- The system will automatically initialize the database
- Navigate to
QuickInvoice/
βββ api/ # API endpoints
β βββ add-client.php
β βββ save-invoice.php
β βββ get-statistics.php
β βββ ...
βββ assets/ # Frontend assets
β βββ css/
β β βββ style.css
β βββ js/
β βββ main.js
βββ config/ # Configuration files
β βββ database.php
βββ includes/ # Shared functions
β βββ functions.php
β βββ footer.php
βββ index.php # Dashboard
βββ clients.php # Client management
βββ create-invoice.php # Invoice creation
βββ invoices.php # Invoice listing
βββ reports.php # Analytics & reports
βββ settings.php # Application settings
βββ README.md
- Dynamic Item Addition: Add unlimited invoice items with real-time calculations
- Tax Calculations: Automatic tax computation with customizable rates
- Status Tracking: Track invoice status (draft, sent, paid, overdue)
- PDF Export: Generate professional PDF invoices for printing
- Comprehensive Profiles: Store client details including address, phone, email
- Company Information: Track both individual and company clients
- Quick Actions: Create invoices directly from client profiles
- Search & Filter: Find clients quickly with search functionality
- Revenue Tracking: Monitor total revenue and average invoice amounts
- Status Distribution: Visual breakdown of invoice statuses
- Top Clients: Identify your most valuable clients
- Date Filtering: Analyze data for specific time periods
- Backend: PHP 8.0+
- Database: MySQL 5.7+
- Frontend: HTML5, CSS3, JavaScript
- UI Framework: Bootstrap 5.3
- Charts: Chart.js for analytics
- Icons: Font Awesome 6.0
- clients: Client information and contact details
- invoices: Invoice headers and totals
- invoice_items: Individual invoice line items
- settings: Application configuration
- Navigate to Settings β Company Information
- Update company name, address, contact details
- Set default tax rate and currency
- Configure invoice number prefix
- Edit
config/database.php
for database connection - Ensure proper permissions for database user
- Backup database regularly
- Use XAMPP, WAMP, or similar local server
- Place project in
htdocs
orwww
directory - Access via
http://localhost/QuickInvoice
- Upload files to web server
- Configure database connection
- Set proper file permissions
- Enable HTTPS for security
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
Ahmed Shaikh
- GitHub: @AhmedShaikh0
- Bootstrap for the amazing UI framework
- Chart.js for beautiful analytics charts
- Font Awesome for the icons
- The PHP community for excellent documentation
If you have any questions or need help:
- Check the Issues page
- Create a new issue if your problem isn't already listed
- Contact me directly via GitHub
β Star this repository if you find it helpful!
Made with β€οΈ by Ahmed Shaikh