https://codegrape.com/category/scripts
Scripts
https://codegrape.com/category/scripts/php-scripts
PHP Scripts

FxInvoice and HR Manager — A complete invoicing

FxInvoice and HR Manager — Complete Invoicing, Billing & HR Management System

FxInvoice and HR Manager is a full-featured, single-tenant invoicing and business management application built on Laravel 12 and Bootstrap 5. It combines professional invoice management, quotations, payments with advance/deposit handling, expense tracking, product catalog, a complete HR module, support tickets, SMS messaging and a self-service client portal — all in one script, ready to install on any cPanel/shared hosting with PHP 8.2+.

Key Highlights

  • Invoice lifecycle: Draft → Sent → Overdue → Partially Paid → Paid, with automatic status determination
  • Advanced tax engine: deductible + compound multi-tax with per-line discount support
  • Live totals panel (sub-total, tax, discount, grand total) on invoice & quotation forms
  • Client advances/prepayments with automatic application to invoices
  • Quotations with one-click conversion to invoices
  • Full HR module: Departments, Designations, Employees, Payrolls, Tasks
  • Support ticket system with replies
  • SMS outbound messaging (Twilio / Vonage / Log)
  • 13 languages with Arabic RTL support
  • GDPR-compliant client portal — dashboard, invoices, payments, advances, tickets, profile (export & erase)
  • OTP-based registration with email verification code and resend limits
  • Client password reset flow with branded emails
  • Dynamic whitelabel/branding — logos, site name, favicon, auth background
  • Invoice PDF designer — colors, labels, logo with live preview
  • REST API with Sanctum token auth
  • 5-step web installer — no Composer/SSH required

Modules

Invoicing Full lifecycle, discount engine, multi-tax, advance application, live summary, PDF designer
Quotations Same item/tax structure, one-click conversion to invoice
Payments Cash, bank transfer, card, cheque, PayPal, Stripe + advance deductions, receipt PDF
Advances Client prepayments, unused → partially used → fully used
Expenses Categorized, pending/released status
Products Auto SKU, categories, searchable catalog
Clients CRM records, companies, ledger, portal access
Client Portal Dashboard, invoices, payments, advances, tickets, GDPR profile — styled like the main app
HR Departments, designations, employees, payrolls, tasks
Tickets Support system with priorities and replies
SMS Twilio / Vonage / Log providers with logs
Reports Invoice, payment, expense, item reports with PDF/Excel export
Roles & Permissions 73 permissions in 20 groups, 3 roles
Localization 13 languages, Arabic RTL, one-click switcher

Security & Architecture

  • Single-tenant, service-layer architecture (InvoiceService, QuotationService, TaxCalculationService)
  • REST API secured with Laravel Sanctum
  • Activity log with notification dispatch
  • Performance indexes on key tables

Requirements

  • PHP 8.2+ (PDO, MySQL, cURL, mbstring, XML, BCMath, JSON, Tokenizer, Fileinfo)
  • MySQL / MariaDB
  • Apache or Nginx

Changelog

CHANGELOG
=========

v1.1.1 — August 2026
--------------------
- Mail: when no mail driver is chosen in Settings, the app now auto-detects
  the server — if a sendmail binary exists (cPanel/shared hosting) it uses
  sendmail out of the box like v1.0; otherwise it falls back to the log
  mailer so nothing crashes
- Mail: when the configured driver is "PHP Sendmail / mail()" but no sendmail
  binary exists on the server, the app now falls back to the log mailer
  instead of crashing with a 500 TransportException (exit code 127) on
  password-reset / OTP / invoice emails
- Mail: any send failure on a configured transport (sendmail or SMTP) is now
  caught, logged with the underlying error, and the message is delivered
  through the log mailer — the request no longer fails with a 500
- Client portal: an already-logged-in client visiting the client login or
  register page is now redirected to the client dashboard instead of being
  bounced to the admin login page
- Client portal: unauthenticated visitors hitting client-only pages are now
  sent to the client login page instead of the admin login page

v1.1 — August 2026
------------------
- Client portal: dashboard with stats (invoices, total due, open tickets,
  advance balance) plus invoices, invoice detail, payments, advances, and
  ticket creation/viewing for clients
- OTP-based client & staff registration (OtpService, email verification code,
  cooldown + resend limits) for preset accounts
- Client password reset flow (forgot/reset controllers + emails)
- Client portal layout/theme (adminhmd assets) with own auth pages
- Invoice & quotation pages show per-item discount/tax and totals
  (sub-total, discount, tax total, total due) and auto-fill terms & notes
- Quotation-to-invoice conversion now generates the invoice number
  (SequenceService) instead of failing on the NOT NULL column
- Default mail driver set to `log` (MAIL_MAILER=log) so outbound email
  never throws SMTP errors until real SMTP credentials are configured
- FAXBD license headers added to all source files (PHP, Blade, JS)
- Dashboard: invoice status pie chart now includes partially paid invoices,
  and the recent payments table / total paid stat include partial payments
  (previously only fully-paid invoices), ordered by payment date
- Client portal redesigned to use the main app theme: auth pages (login,
  register, forgot/reset password) now use the same design as the admin
  login, and portal pages use the main layout with sidebar, topbar,
  language switcher, and dark mode
- Client login now matches both email and phone regardless of input format
  (previously only one column depending on format, causing "no account
  found" for clients who registered via the other identifier), with a
  clearer message pointing to registration or support

v1.0 — July 2026
-----------------
- Initial release
- Multi-tenant removed, single-tenant architecture
- Laravel 12.18, PHP 8.2+, MySQL/MariaDB
- Modules: Invoicing, Quotations, Payments, Expenses, Products, Clients,
  HR (Departments, Designations, Employees, Payrolls), Tasks, Tickets, SMS
- 13 languages with RTL support
- Web installer with 5-step wizard
- REST API with Sanctum auth
- 73 permissions across 20 groups, 3 roles
- Whitelabel/ custom branding
- Invoice PDF designer
- Client portal with GDPR profile (access, rectify, erase)
- Performance indexes on key tables
- Service layer refactoring: InvoiceService, QuotationService, TaxCalculationService
- 100% localization of all UI strings

Appreciated on August 10th, 2026

More items by hossainel

by in