A modern web dashboard for ERPClaw, the AI-native ERP built on OpenClaw. Provides a full browser-based interface for managing all ERP entities — customers, sales orders, invoices, inventory, payments, HR, and more.
Browser (SvelteKit) FastAPI Backend ERPClaw Skills
┌──────────────────┐ ┌─────────────────┐ ┌──────────────────┐
│ SvelteKit 5 │──▶│ /api/action/* │──▶│ db_query.py │
│ Tailwind CSS 4 │ │ /api/layout/* │ │ --action {name} │
│ TypeScript │ │ /api/chat │ │ │
│ adapter-static │ │ /ws │ │ SQLite DB │
└──────────────────┘ └─────────────────┘ └──────────────────┘
Static files Python 3.10+ ~/.openclaw/erpclaw/
served by nginx uvicorn data.sqlite
Frontend: SvelteKit 5 with Svelte 5 runes, compiled to static files via adapter-static, served by nginx.
Backend: FastAPI application that proxies action calls to ERPClaw skill scripts, handles authentication, and provides real-time WebSocket updates.
Data: All data lives in ERPClaw's single SQLite database. The web dashboard reads and writes through ERPClaw's action system — it never touches the database directly.
clawhub install erpclaw)git clone https://github.com/avansaber/erpclaw-web.git
cd erpclaw-web
npm install
pip install -r api/requirements.txt
# Terminal 1: Frontend (hot reload)
npm run dev
# Terminal 2: API backend
uvicorn api.main:app --host 0.0.0.0 --port 8100 --reload
The frontend runs on http://localhost:5173 and proxies API calls to the backend on port 8100.
On first visit, you'll be prompted to create an admin account. This sets up JWT authentication for all subsequent access.
See deploy/ for production configuration:
nginx-erpclaw-web.conf — nginx config for serving static files + reverse proxying to the APIerpclaw-web-api.service — systemd service for the FastAPI backendsetup.sh — automated deployment scriptnpm run build # Outputs to build/
| Variable | Default | Description |
|---|---|---|
ERPCLAW_ENV |
development |
Set to production to disable Swagger docs |
ALLOWED_ORIGINS |
http://localhost:5173,... |
Comma-separated CORS origins |
JWT_SECRET |
(auto-generated) | Secret key for JWT tokens |
erpclaw-web/
├── src/ # SvelteKit frontend
│ ├── routes/ # Pages: dashboard, entity lists, login, setup
│ ├── lib/ # Components, stores, API client, auth, WebSocket
│ └── app.css # Tailwind CSS entry
├── api/ # FastAPI backend
│ ├── main.py # App entry, CORS, middleware
│ ├── auth/ # JWT auth, login, passwords
│ ├── chat.py # AI chat endpoint
│ ├── layout.py # Dynamic layout generation from SKILL.md
│ ├── db.py # Database connection helpers
│ ├── ws.py # WebSocket handler
│ └── layouts/ # UI.yaml layout definitions per vertical
├── deploy/ # Production deployment configs
├── schema/ # Schema definitions
└── scripts/ # Build and utility scripts
ERPClaw Web is a companion to the core ERPClaw skill. It does not replace the conversational AI interface — it adds a visual dashboard on top.
You can use ERPClaw purely through chat (Telegram, CLI), purely through the web dashboard, or both simultaneously.
MIT License — Copyright (c) 2026 AvanSaber