Lightweight Open-Source ERP for internal business operations.
LiteERP is designed for small and medium-sized businesses (SMEs) that need a clean, operational ERP core without enterprise-level complexity.
Typical use cases include:
- Retail stores and retail chains
- Wholesale distributors
- Trading companies
- Import / export businesses
- SMEs managing inventory, orders, pricing, and customers
LiteERP focuses on day-to-day internal operations, such as:
- Product & inventory management
- Purchase & sales workflows
- Pricing rules and discounts
- Customer & supplier management
Industry-specific requirements — such as reporting, analytics, tax rules, accounting integration, custom pricing logic, or workflow automation — are intentionally handled through Extensions, not hardcoded into the core.
LiteERP is an open-source ERP built with Laravel, ReactJS, and MySQL 8,
designed as a pure, minimal core with an extension-first architecture.
LiteERP is not trying to replace SAP or Odoo.
Those platforms are powerful and suitable for large enterprises or broad use cases.
LiteERP follows a different philosophy:
Keep the core small, stable, and predictable —
push complexity outward into extensions.
The system is built on:
- Clean Architecture
- Domain-Driven Design (DDD)
- Domain Events
- Very low framework coupling
| Aspect | LiteERP | Odoo | SAP |
|---|---|---|---|
| Core size | Small & pure | Large, feature-heavy | Very large |
| Customization | Extensions & hooks | Core overrides & modules | Consultants & customization layers |
| Infrastructure | Low-resource friendly | Medium–High | High–Very High |
| Upgrade safety | High | Medium | Low–Medium |
| Target users | SMEs & developers | SMEs–Enterprises | Large enterprises |
Please consider here: Read more
The LiteERP core intentionally focuses only on:
- Essential operational workflows
- Clear and predictable business rules
- Strong domain boundaries
- Authentication & authorization
- Multi-business context
- Extension loading mechanism
Instead of absorbing complexity,
LiteERP treats complexity as an external concern handled by extensions.
All domain-specific and evolving business logic lives in Extensions.
Extensions are:
- Fully decoupled from the core
- Loaded only when needed
- Able to hook into domain events, validation, workflows, and APIs
- Safe to develop, replace, or remove without touching core logic
- HRM Extension – time attendance, leave management
- SMTP Extension – system-wide email configuration
- Fast Mode - simplify accounting processes
This is extensions ready for production, but all other extensions to help your understand how to custom core?
https://github.com/liteerp-oss/liteerp/tree/dev/extension-examples
LiteERP uses a Hybrid Frontend Architecture, giving each Extension full freedom to choose the most suitable UI approach.
An Extension can:
- 🧱 Use Blade Templates
- ⚛️ Use ReactJS
- 🖥️ Build a fully independent dashboard
Supported languages:
- 🇺🇸 English
- 🇯🇵 Japanese
- 🇻🇳 Vietnamese
Each Extension manages its own translations.
LiteERP focuses on operations, not accounting or tax compliance.
LiteERP invoices are operational invoices,
not replacements for accounting or government e-invoicing systems.
- ❌ Accounting software
- ❌ Tax-compliant invoicing system
- ❌ Government e-invoice platform
- Laravel 12
- ReactJS
- MySQL 8
- PHP 8.4+
- Clean Architecture
- Domain Driven Design
- Domain Events
- Unit tests
- Global testing
- Clean code standards
https://github.com/liteerp-oss/liteerp/tree/dev/docs
- Extension standards & best practices
- Expanded documentation
- Extension marketplace concept
LiteERP plans to introduce AI Agent Extensions as optional, fully decoupled extensions designed to assist businesses, not replace human decision-making.
AI agents will:
- Live entirely outside the core
- Subscribe to domain events and APIs
- Provide insights, recommendations, and explanations
- Be optional, replaceable, and safe to disable
- Support self-hosted or external AI providers
Example AI agent concepts:
- Operations insight & anomaly detection
- Sales and purchasing recommendations
- Natural language business queries (internal Q&A)
- Workflow observation and optimization suggestions
LiteERP treats AI as an extension-level concern, fully aligned with its pure-core and extension-first philosophy.
- First step you need copy
.env.exampleat root folder to.env, please don't mistake.env.exampleat root and.env.exampleat./app/.env.example. At root is environment of docker and at app folder is environment for laravel.
You need register a account at Pusher and update connect config at ./app/.env. Register new account
PUSHER_APP_ID=""
PUSHER_APP_KEY=""
PUSHER_APP_SECRET=""
PUSHER_APP_CLUSTER=""
Basic environment configuration (./app/.env.example):
APP_TIMEZONE="Asia/Ho_Chi_Minh"
APP_CURRENCY="USD"
APP_CURRENCY_LOCALE="en-US"
Find your timezone
Steps:
docker compose build && docker compose up -ddocker exec -it LiteERP-app bashcomposer installphp artisan app:setupphp artisan app:create-admin {email} {password} {name}
On a some case you need restart docker again after config Pusher:
docker compose build && docker compose up -d
Visit:
http://localhost:8002/dashboard/login
Stevelee
Discord:
https://discord.gg/VExDJ7k8
If LiteERP helps you:
- Give the project a ⭐
- Share feedback
- Contribute extensions or ideas
This project is proudly supported by Hetzner
for providing reliable infrastructure for development and deployment.
Zenda.cloud is an independent project and regional partner of LiteERP in Vietnam.
Zenda develops SaaS solutions built on the LiteERP platform for the Vietnamese market. The LiteERP team may provide technical collaboration and ecosystem support, but Zenda operates as a separate entity and is not governed or controlled by LiteERP.
Zenda supports the LiteERP open-source project through financial donations that help fund development and long-term maintenance.


