FxInvoice and HR Manager icon

FxInvoice and HR Manager

Go to Website
Hot or Not
FxInvoice and HR Manager

Description

Full-featured invoice management application with invoicing, quotations, payments (with advance/deposit handling), expense tracking, product catalog, HR management, support tickets, SMS notifications, and multi-language support. Single-tenant architecture served under an Apache subdirectory.

Features

  • Invoice lifecycle: Draft → Sent → (Overdue) → Partially Paid → Paid
  • Multi-tax engine (compound + deductible) with per-line discount support
  • Client advance/prepayment management with auto-application to invoices
  • Quotations with one-click conversion to invoices
  • HR module: Departments, Designations, Employees, Payrolls, Tasks
  • Support ticket system with replies
  • SMS outbound messaging (Twilio / Vonage / Log)
  • 13 languages with RTL support for Arabic
  • GDPR-compliant client portal (access, rectify, erase)
  • Dynamic whitelabel/branding (logos, site name, favicon)
  • Activity log with notification dispatch
  • Invoice PDF designer (colors, labels, logo)
  • REST API (Sanctum)

Requirements

  • PHP 8.2 or higher (with PDO, MySQL, cURL, mbstring, XML, BCMath, JSON, Tokenizer extensions)
  • MySQL / MariaDB database server
  • Apache or Nginx web server
  • Composer (for dependency installation)

Instructions

Manual Setup

  1. Upload the script files to your web server.
  2. Run composer install --no-dev in the script root.
  3. Set webroot to public/ directory.
  4. Navigate to your domain in a browser — the installer will launch automatically.

Web Installer (Recommended)

The application includes a 5-step web-based installer that guides you through setup. Simply visit your domain and the installer starts automatically.

Step 1: Welcome

Introduction screen with the application name and a "Start Installation" button.

Step 2: Requirements Check

The installer checks PHP version (≥ 8.2) and required extensions (PDO, MySQL, cURL, mbstring, XML, BCMath, JSON, Tokenizer, Fileinfo). It also verifies directory permissions for storage/, bootstrap/cache/, and public/. Any failures are displayed with clear status indicators.

Step 3: Database Configuration

Enter your database credentials:

  • Host — MySQL host (default: 127.0.0.1)
  • Port — MySQL port (default: 3306)
  • Database Name — The database to use (created beforehand)
  • Username / Password — Database credentials
  • Table Prefix — Optional prefix for all tables (default: fx_)

A connection test is performed before proceeding.

Step 4: Admin Account & Configuration

Configure the application and create the admin user:

  • Application Name — Your business name
  • Application URL — Auto-detected from browser URL
  • Admin Name / Email / Password — Super Admin credentials

tep 5: Install

The installer executes all setup tasks with progress shown:

  1. Write .env configuration file
  2. Generate application encryption key
  3. Run database migrations (creates all tables)
  4. Seed default data (settings, roles, permissions, locations)
  5. Create storage symlink
  6. Create admin user account

Upon completion, you are redirected to the login page.

Change-log

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



Authorhossainel
CategoryScripts & Code / PHP Scripts / Management / HR
Price$25
Extended License$75
First ReleaseJul 23, 2026
Last UpdateAug 12, 2026
DatabaseMySQL 4.x, MySQL 5.x
Files included.php, .css, JavaScript .js
Software versionPHP 8.2, PHP 8.3, PHP 8.4
Html/css frameworkBootstrap
Software frameworkVue.js, Laravel
Javascript frameworkjQuery

External listing. code.market does not sell this product and does not process payment for it. Pricing, payment, delivery, licensing, refunds, and support are handled by the third-party merchant on its own website. We may earn an affiliate commission from a referral. Details.

Products of the Week.

Submit