About this software
About Invoice Master - Invoice, Quote & Payment Management System
Invoice Master - Laravel Invoice, Quote & Payment Management System
Invoice Master is a complete, self-hosted billing application built with Laravel 12, Livewire 3 and Tailwind CSS 4. Create professional invoices and quotes in under a minute, get paid online, send automatic reminders, and give your clients their own portal to view and pay their invoices. Your staff get their own logins too, with roles and permissions that control what each person can see and do.
Fully responsive, with light and dark mode, multi-currency and multi-language support (English and French included).
Demo Accounts
Admin: admin@invo2.test / @1234567A
Manager (staff): manager@invoicemaster.test / @1234567A
Salesman (staff): sales@invoicemaster.test / @1234567A
Client: client@invoicemaster.test / @1234567A
Key Features
Dashboard & Reports
Invoiced, paid, due and overdue totals at a glance
Income chart (invoiced vs collected) for any period, and invoices by status
5 reports: Sales & Income, Outstanding (Aging), Tax, Client Statement, Product Sales
Export reports and lists to Excel, CSV and PDF
Global search across invoices, clients, quotes and products (/ or Ctrl K)
Invoices
Easy invoice editor with products, per-line and whole-invoice taxes, discounts and drag-and-drop lines
Totals always calculated on the server with exact decimal math
6 PDF invoice templates with custom accent colors
Send by e-mail with PDF attached, share a public link or via WhatsApp, print, duplicate
Statuses: Draft, Unpaid, Partially Paid, Paid, Overdue
Recurring invoices: weekly, monthly, yearly or every N days, created and e-mailed automatically
Quotes / Estimates
Same editor and PDF designs as invoices
Clients accept or decline online with a note
Convert an accepted quote to an invoice in one click
Automatic expiry of old quotes
Payments
Online payments with Stripe, PayPal, Razorpay, Paystack, Mercado Pago and Flutterwave
Part payments and manual payments (cash, bank transfer, cheque...)
Bank transfer with proof upload and admin approval
Numbered payment receipts (PDF and e-mail)
Payment QR codes printed on invoices
Gateway keys stored encrypted
Client Portal
Clients sign in to see their invoices, quotes, payments and receipts
Pay invoices online, accept or decline quotes
Download their account statement
Invitation e-mail with a secure link to set their own password
Staff, Roles & Permissions
Add staff members with their own login to the admin area
Ready-made Manager and Salesman roles
Create your own roles (e.g. Accountant) with a simple permission grid: 24 permissions in 10 areas
Menus, buttons and pages show only what each role is allowed to use, and every action is checked on the server
Automation & Notifications
Automatic overdue marking
Payment reminders before and after the due date
Editable e-mail templates with placeholders and live preview
SMTP settings with a "Send test e-mail" button
In-app notifications for payments, quote answers, overdue and recurring invoices
Activity log (who changed what) and login history
Clients, Products & Settings
Clients with billing and shipping addresses, notes and portal access
Products and services with codes, categories, units, images and default taxes
Multiple taxes and multiple currencies, all countries included
Settings for company details, logo and favicon, header and footer, numbering, templates, gateways, e-mail and reminders
Light and dark mode, fully responsive on phones, tablets and desktops
Multi-language: English and French included, easy to add more
Built With
Laravel 12 (PHP 8.2+)
Livewire 3 and Alpine.js
Tailwind CSS 4 and Vite
MySQL 8 / MariaDB
spatie/laravel-permission (roles and permissions)
spatie/laravel-activitylog (activity log)
maatwebsite/excel (Excel and CSV exports)
barryvdh/laravel-dompdf (PDF invoices, quotes, receipts and reports)
Pest (automated tests) and Laravel Pint (PSR-12 code style)
Highly Secure and easy to access. Mobile user friendly
Server Requirements
PHP 8.2 or higher
MySQL 8 or MariaDB 10.4+
PHP extensions: BCMath, Ctype, cURL, DOM, Fileinfo, GD, Mbstring, OpenSSL, PDO, Tokenizer, XML, Zip
Composer 2 and Node.js (for building the front-end assets)
Cron job (or Windows Task Scheduler) for recurring invoices and reminders
What You Get
Full source code, with no encrypted files
Demo data seeder (clients, products, invoices, quotes and payments)
Step-by-step installation and user guide
279 automated tests
Extended License: Teamviewer (Remote) Support - full setup to your machine or web hosting - if need.
Regular License: Email Support
Changelog
Version 1.1
New: Staff members, roles and permissions (Manager, Salesman and custom roles)
Version 1.0
Initial release
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.