Laravel 12 · PHP 8.2+ · Multi-Tenant

The ERP that fits your business
not the other way around

A fully modular enterprise resource planning system for small-to-medium businesses. Plug in only the modules you need — from HR and payroll to invoicing, inventory, and CRM.

7 business modules
Multi-tenant isolation
Auto accounting sync
ZAR / VAT ready
Staff Management
Leave Management
Payroll
Invoice Manager
Sales CRM
Inventory
Accounting
Timesheets
Staff Management
Leave Management
Payroll
Invoice Manager
Sales CRM
Inventory
Accounting
Timesheets

Everything you need, nothing you don't

Start free. Activate paid modules as your business grows. Each module is a self-contained package — its own migrations, routes, views, and service layer.

Free
Staff Management
The HR foundation. Employee profiles, departments, positions, document management, and automated welcome emails on hire.
Employee CRUD Departments Positions Welcome Email
R79/mo
Leave Management
Full leave lifecycle — requests, approvals, balance tracking, and automatic payroll deduction integration with cancellation reversal.
Approval Workflow Balance Tracking Payroll Sync
Payroll
Pay grades, allowances, deductions, batch pay runs, and PDF payslip generation. Live preview before committing a run.
Pay Grades Allowances PAYE / UIF Payslip PDF
Free
Invoice Manager
Professional invoicing with auto-numbering, payment tracking, multi-gateway support, and automatic ledger posting via observers.
VAT (15%) Payment Gateways PDF/Email Accounting Sync
Sales CRM
Full pipeline from first contact to surveyed customer — 12-stage kanban, probability engine, proposals, deal conversion, and activity logs.
12-Stage Pipeline Proposals Deals Surveys
Inventory
Stock management with SKUs, barcodes, purchase orders, supplier profiles, stock movement history, and reorder alerts.
Purchase Orders Suppliers Movements Reorder Alerts
Accounting
Double-entry bookkeeping engine. Every financial event — invoices, payments, expenses — posts journal entries automatically. South African chart of accounts pre-seeded. P&L, VAT return, receivables ageing, and more.
Double-Entry Auto-Posting VAT Tracking P&L Report SA Chart of Accounts

Built for extensibility from day one

Every module is a self-contained Laravel package registered via its own ServiceProvider. Zero inter-module coupling — integrations happen through observers and well-defined service contracts.

lavalite-erp/ ├── app/ # Core: Tenant, User, Middleware ├── modules/ │ ├── staff/ │ ├── leave/ │ ├── payroll/ │ ├── invoice/ │ ├── sales/ │ ├── inventory/ │ └── accounting/ └── storage/modules/ # Synced assets # Each module: {module}/ ├── database/migrations/ ├── resources/views/ ├── routes/web.php ├── module.json # id, deps, nav, perms └── src/ ├── {Module}ServiceProvider.php ├── Controllers/ ├── Models/ ├── Services/ # All business logic here └── Concerns/ └── ResolvesTenant.php # tenant_id scope
Tenant Isolation
Every model carries a tenant_id. All queries scoped automatically via the ResolvesTenant concern — no data leaks between companies.
Service Layer
Controllers are thin. All business logic lives in dedicated *Service classes registered as singletons in each ServiceProvider.
Observer-Driven Events
The Accounting module observes Invoice and Payment models directly — so the Invoice module ships zero accounting knowledge.
Module Metadata
Each module ships a module.json declaring its id, version, dependencies, navigation entries, and permissions.

Deeply integrated where it matters

Modules are loosely coupled but communicate through well-defined contracts. Every financial event posts to the ledger automatically.

Leave Approval
Payroll Deduction
Approving leave auto-creates a deduction. Cancelling reverses it.
Invoice Created
Ledger Entry
AR ↑ · Sales Revenue ↑ · VAT Output ↑ posted automatically.
Payment Received
Ledger Entry
Bank/Cash ↑ · Accounts Receivable ↓ via PaymentObserver.
Lead Won
Invoice Linked
invoice_id written back to Lead; stage advances to Invoiced automatically.

Solid, proven, familiar

No exotic dependencies. Built on the stack your team already knows.

Laravel 12
PHP 8.2+
MySQL 8 / PostgreSQL 14
Tailwind CSS
Alpine.js
DomPDF
Laravel Notifications
Custom Multi-Tenancy

Ready to run a tighter operation?

Start with the free core modules. Add more as your team grows. No lock-in.

Create your account Sign in to your workspace