About this software
About Axioz ERP
Axioz ERP is a modular ERP and SaaS platform built on Laravel 13, PHP 8.4, Inertia 3, React 19 (TypeScript) and MySQL 8. A super admin sells subscription plans (with coupons, trials, Stripe, PayPal and bank transfer payments per the README) to companies, and each company runs its own tenant with only the modules its plan includes. The 32 modules cover areas such as accounting, HRM and payroll, CRM, POS, projects, contracts, recruitment, support tickets, real estate and restaurant. It ships as full source with a web app and a Sanctum-token REST API (no mobile app), plus a schema.sql, seed data, Docker Makefile and a setup guide. The digest shows 268 tables, 851 write routes audited for permission or tenant checks, and a PHPUnit test suite including tenant-isolation tests.
Why Axioz ERP
What makes it better
than the alternatives
- 01
Tenant isolation enforced in code
A TenantScoped trait filters every company model by created_by, so another company's record id returns a 404; tests such as TenantIsolationTest and RouteModelBindingScopeTest attack it.
- 02
Audited authorization
There are no Policy classes; spatie permission strings are checked in controllers and form requests, and a route-audit script lists all 851 write routes and fails tests on any without a check.
- 03
Plan-gated modules
PlanModuleCheck middleware limits each module's routes to the company's plan, and companies can switch modules off in Settings.
- 04
Evidence shipped with the source
The package includes dependency audit results (0 vulnerabilities reported at build), schema verification, route audit, access-control test output and a documented API reference.
- 05
Demo-safe and public-facing pages
A demo mode blocks edits to existing data, and public pages (careers board, support help centre, form builder) lift the tenant scope per request and mask secret settings.
Platform & Super Admin
- Plans
- coupons and trials sold to companies
- Stripe
- PayPal and bank transfer payment modules
- Per-plan module switching and a platform-wide add-ons table
- In-app updater that runs pending migrations
- Landing page module
Accounting
- Account and DoubleEntry modules
- Sales invoices with posting (tested)
- Customer and vendor payments
- credit and debit notes
- Revenues and expenses with approve and post steps
- Accounting reports
- ZATCA e-invoicing package included
HRM & Payroll
- Employee management
- Payroll with own/any visibility scoping
- Performance
- Training and Timesheet modules
- Goal tracking
CRM & Sales
- Leads and deals
- Quotations and sales proposals
- Retainers convertible to invoices
- Sales and purchase returns with approval
POS & Restaurant
- POS orders
- Restaurant module with menus
- kitchen
- tables and orders
- Product and service catalogue
Projects & Productivity
- Projects and tasks (Taskly)
- Calendar with Google Calendar package
- Budget planner
- Messenger with read receipts via Pusher
Recruitment & Support
- Public job board with job postings
- Support tickets with FAQ and knowledge base on a public portal
- Form builder with public forms
- Contract module
Real Estate
- Properties managed per company
- Viewings
- Permission and owner checks on edits
Integrations & API
- Sanctum bearer-token REST API with login
- logout
- refresh
- change password and delete account
- Webhook module with event extractors
- Slack
- Telegram
- Twilio
- Zoom
- Google Meet and Jitsi modules
- AI Assistant module and Google reCAPTCHA module
- Media library with S3-capable storage
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| TypeScript (React) | — | — | Front-end | 51.7% |
| PHP | — | — | Web, API | 43.5% |
| TypeScript | — | — | Front-end | 2.8% |
| SQL | — | — | Database | 1.8% |
| JavaScript | — | — | Front-end | 0.1% |
| CSS | — | — | Styling | 0.1% |
| Shell | — | — | Scripts | 0.1% |
- Primary language
- PHP 8.4+ (TypeScript 5.9 frontend)
- Framework
- Laravel 13.40 with Inertia 3 and React 19
- Database
- MySQL 8.0+
- Authentication
- Laravel session login for the web app, Sanctum bearer tokens for the REST API, spatie/laravel-permission roles and permissions, email verification and password reset
- Licence
- Single-site
- Screens
- 380
- Database tables
- 268
- Supported languages
- Multilingual (en, ar, de, es, fr, he, ja, nl, pl, pt, pt-BR, ru, tr, da and others); RTL layout for Arabic and Hebrew
- Browser support
- Not stated in the code digest; modern evergreen browsers assumed for React 19
| Minimum | Recommended | |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB | 8 GB |
| OS | Linux with PHP 8.4+ and MySQL 8; Node.js 22.22.2+ or 24.15+ only to build the frontend | Linux with PHP 8.4+ and MySQL 8; Node.js 22.22.2+ or 24.15+ only to build the frontend |
| Est. monthly hosting | $25 | $25 |
Run from the release folder with the Makefile: ``` make install ``` This generates the secrets, builds the containers and runs the migrations and seeders.
Create an empty MySQL 8 database and user, then inside `Axioz Web App/`: ``` composer install --no-dev --optimize-autoloader npm ci && npm run build cp .env.example .env && php artisan key:generate # set APP_URL and DB_* in .env php artisan migrate --force php artisan db:seed --force php artisan axioz:admin-password php artisan storage:link ``` Run a queue worker and cron for `schedule:run`.
Upload the application, then run the same Composer and artisan commands over SSH, or build locally and upload `public/build`. Full guide in HowToSetup.md.
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.
Reviewer notes (5 minor)
Modular layout is clear; some oversized files and repeated module scaffolding cost points; authz claims are strong but unverifiable: route files and most controllers were not in the excerpt; db layer looks well-designed on paper, but the digest gives no query-level proof, so the score is capped. 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.