Why Invoice Master - Invoice, Quote & Payment Management System
What makes it better
than the alternatives
- 01
Six payment gateways plus bank transfer with proof upload and admin approval
Stripe, PayPal, Razorpay, Paystack, Mercado Pago and Flutterwave are all integrated via REST APIs.
- 02
Recurring invoices with weekly to yearly cycles or custom intervals
The scheduler auto-generates invoices at 00:05 daily and optionally emails them to clients.
- 03
Granular staff permissions with ready-made Manager and Salesman roles
Admins control which pages and actions (view, create, edit, delete, send) each role can access across invoices, quotes, payments, clients and products.
- 04
Decimal-safe server-side calculation with per-line and whole-invoice taxes
Totals are always exact, using bcmath precision for all money arithmetic.
- 05
Client portal with statement, payment history and quote responses
Clients see only their own invoices and quotes, pay online, download receipts and accept or reject quotes in one click.
Invoices & Quotes
- Drag-and-drop line editor with products
- per-line taxes
- whole-invoice taxes and percentage or fixed discounts
- Six PDF templates (Classic
- Modern
- Minimal
- Professional
- Elegant
- Bold) with custom header/footer text
- Auto-numbering with configurable prefix (INV-
- QUO-) and padding
- Send via email with PDF attachment
- public shareable link and WhatsApp share button
- Statuses: Draft
- Unpaid
- Partially Paid
- Paid
- Processing
- Overdue (invoices); Draft
- Sent
- Accepted
- Rejected
- Converted
- Expired (quotes)
- Convert quote to invoice in one click
- copying all items
- taxes and discount
- Duplicate any invoice or quote to create a new draft
- Recurring invoices: weekly
- monthly
- quarterly
- yearly or every N days
- with auto-generation and optional auto-email
Payments
- Record manual payments (cash
- cheque
- bank transfer) with numbered receipts (PDF and email)
- Online payment via Stripe
- PayPal
- Razorpay
- Paystack
- Mercado Pago or Flutterwave
- Bank transfer with client proof upload (stored outside public folder) and admin approval/rejection workflow
- Part payments: multiple payments against one invoice until fully paid
- Payment QR codes on invoices (UPI
- bank details or custom text)
- Payment history per client and per invoice
- Transactions page showing all payment attempts (approved
- pending
- rejected)
Clients & Products
- Client records with billing and shipping addresses
- country
- currency
- notes and avatar
- Client portal accounts: send invitation email or set password manually
- Enable/disable portal access per client
- Product catalog with codes
- categories
- prices
- units (pcs
- hrs
- kg
- etc.)
- default taxes and images
- Auto-generated product codes (PRD-0001
- PRD-0002...)
- Client statement report (PDF
- Excel
- CSV) showing all invoices
- payments and balance
- Quick-add client from invoice/quote editor without leaving the page
Automation & Reminders
- Automatic overdue marking when due date passes
- Payment reminders before and after due date (configurable days)
- Recurring invoice generation at 00:05 daily via Laravel Scheduler
- Editable email templates for invoices
- quotes
- receipts and reminders with placeholders
- In-app notifications for admins (new payment
- quote response
- recurring invoices generated)
- SMTP settings configurable from UI (host
- port
- username
- password
- encryption)
- Manual trigger buttons for recurring invoices and reminders (when scheduler is not running)
Reports & Analytics
- Dashboard with invoiced
- paid
- due and overdue totals in default currency
- Income chart (invoiced vs collected) for any period with ApexCharts
- Invoices by status donut chart (Paid
- Partially Paid
- Unpaid
- Processing
- Overdue
- Draft)
- Sales & income report: invoices and payments by date range
- filterable by client and currency
- Outstanding (aging) report: unpaid invoices grouped by 0-30
- 31-60
- 61-90
- 90+ days overdue
- Tax report: tax collected per tax rate
- filterable by date and currency
- Product sales report: quantity sold and revenue per product
- All reports exportable to Excel
- CSV and PDF
Staff & Roles
- Staff accounts with admin-area access limited by role permissions
- Ready-made Manager role (full access except settings) and Salesman role (invoices
- quotes
- clients
- products only)
- Custom roles with permission grid: 40+ permissions across invoices
- quotes
- payments
- clients
- products
- reports
- settings
- staff and roles
- Permissions: view
- create
- edit
- delete
- send (invoices/quotes)
- approve/reject (payments)
- manage settings
- manage staff
- Staff invitation emails with password setup link
- Login history log (IP
- user agent
- success/failure
- logout) for all users
Client Portal
- Clients see only their own invoices
- quotes
- payments and profile
- Pay invoices online (Stripe
- PayPal
- Razorpay
- Paystack
- Mercado Pago
- Flutterwave) or upload bank transfer proof
- Accept or decline quotes with one click
- Download invoice PDFs
- quote PDFs and payment receipts
- View and download client statement (all invoices and payments)
- Update profile (name
- phone
- billing/shipping address
- avatar
- password)
- Email verification required for new accounts
Settings & Administration
- Company profile: name
- address
- phone
- website
- tax ID
- logo and favicon
- Branding: primary color
- header/footer text for PDFs
- default invoice/quote template
- Currency management: add currencies
- set default
- configure symbol and decimal places
- Tax rates: name
- percentage
- default flag (auto-applied to new products)
- Categories for products
- Payment gateway credentials (Stripe
- PayPal
- Razorpay
- Paystack
- Mercado Pago
- Flutterwave)
- Email templates editor with placeholders (invoice
- quote
- receipt
- reminder
- invitation)
- Notification toggles: invoice issued
- payment received
- quote responded
- recurring invoices generated
- Activity log: every create
- update
- delete
- send
- payment
- status change with user
- timestamp and details
Multi-language & Multi-currency
- English and French UI (user selects language in profile)
- Add unlimited currencies with code
- symbol
- decimal places and exchange rate
- Invoices and quotes in any currency; reports filter by currency
- Money totals on dashboard and reports use default currency only
- Date and number formatting per locale
- All email templates translatable
Search & Export
- Global search box (/ or Ctrl+K) for invoices
- clients
- quotes and products
- Livewire data tables with search
- sort
- filter
- pagination and bulk actions on all list pages
- Export clients
- invoices
- quotes
- payments and products to Excel or CSV
- Export reports to Excel
- CSV and PDF
- Invoice and quote PDFs with six templates
- Payment receipts as PDF with company branding
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| PHP | — | — | Web, API | 69.9% |
| HTML | — | — | Front-end | 12% |
| SQL | — | — | Database | 11.4% |
| JavaScript | — | — | Front-end | 3.5% |
| CSS | — | — | Styling | 3.2% |
- Primary language
- PHP 8.2+
- Framework
- Laravel 12.x
- Database
- MySQL 8.0 / MariaDB 10.6+
- Authentication
- Laravel Breeze (session-based), email verification, password reset, invitation links
- Licence
- Single-site
- Screens
- 45
- Database tables
- 22
- Supported languages
- English, French
- Browser support
- Modern browsers (Chrome, Firefox, Safari, Edge)
| Minimum | Recommended | |
|---|---|---|
| CPU | 2 vCPU | 2 vCPU |
| RAM | 2 GB RAM / 10 GB SSD | 4 GB RAM / 20 GB SSD |
| OS | PHP 8.2+, Composer, Node.js 18+, MySQL 8.0 / MariaDB 10.6+ | PHP 8.2+, Composer, Node.js 18+, MySQL 8.0 / MariaDB 10.6+ |
| Est. monthly hosting | $10 | $10 |
```bash cd C:\xampp\htdocs unzip invoicemaster.zip cd invoicemaster\core composer install npm install npm run build cp .env.example .env php artisan key:generate # Edit .env: DB_DATABASE=invoice_master, DB_USERNAME=root, DB_PASSWORD= php artisan migrate --seed php artisan storage:link php artisan optimize:clear php im-setup.php # Visit http://localhost/invoicemaster/core/public ```
```bash
sudo apt update && sudo apt install -y php8.2 php8.2-{cli,fpm,mysql,mbstring,xml,curl,zip,gd,bcmath,intl} composer nginx mysql-server nodejs npm
cd /var/www
sudo unzip invoicemaster.zip
cd invoicemaster/core
composer install --no-dev --optimize-autoloader
npm install && npm run build
cp .env.example .env
php artisan key:generate
# Edit .env: APP_ENV=production, APP_DEBUG=false, database credentials
php artisan migrate --seed
php artisan storage:link
php artisan config:cache && php artisan route:cache && php artisan view:cache
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache
php im-setup.php
# Configure Nginx, SSL, queue worker, scheduler cron
``````bash # Upload via FTP to public_html/invoicemaster # In cPanel: create MySQL database and user # SSH or Terminal: cd public_html/invoicemaster/core composer install --no-dev npm install && npm run build cp .env.example .env php artisan key:generate # Edit .env: database credentials, APP_URL php artisan migrate --seed php artisan storage:link php artisan optimize php im-setup.php # Point domain to public_html/invoicemaster/core/public ```
```bash cd invoicemaster docker-compose up -d docker-compose exec app composer install docker-compose exec app npm install && npm run build docker-compose exec app cp .env.example .env docker-compose exec app php artisan key:generate docker-compose exec app php artisan migrate --seed docker-compose exec app php artisan storage:link docker-compose exec app php im-setup.php # Visit http://localhost:8000 ```
Quality report
Manually reviewedHow to read the quality report
What this is. Every project on Vibe96 goes through an automated audit of its source code before a reviewer in Dubai checks it by hand. The score is out of 100; 75 is the minimum to be listed, and any single failing check blocks a listing regardless of the score.
- Security
- No real credentials in the code, every data-changing route protected, admin areas role-gated, no SQL built from user input.
- Code structure
- A developer can navigate and extend it: clear module boundaries, no giant files, little copy-paste.
- Docs & completeness
- The setup guide, example config, schema and required files the builder committed to are actually in the archive.
- Dependency health
- Packages pinned, no known critical vulnerabilities, no abandoned libraries in production paths.
- Build & deploy
- A clean machine can restore, build and start it by following the shipped instructions.
Warnings are problems that didn't block the listing; they stay visible here until a later version clears them. The audit reads the code — it does not run it — so always try the live demo before you buy. Lines of code are counted from the same audited archive.
85/ 100
Automated audit score
✓ Approved by our review teamReviewer notes (4 minor)
No critical vulnerabilities; some outdated packages and missing npm lockfile; build reproducible with gaps: missing .env setup, unclear npm/composer order, no db creation steps; moderate code duplication and some oversized files; business logic mostly well-separated; missing foreign key indexes and some unscoped deletes; no sql injection found. None of these stop the software from working; the developer has been told and improvements come in a future update.
Versions & updates
No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.
What you get
- </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
- ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
- ↻One year of updatesEvery new version the builder publishes, free for 12 months.
- ♧30 days of supportInstallation and defect support through Vibe96 tickets.