Hades POS — Point of Sale + Inventory + Accounting
A modern, open-source point-of-sale platform for retail, grocery, pharmacy, restaurants, and electronics. Multi-store, offline-capable, with full inventory, purchasing, accounting and reports built-in.
Overview
Hades POS is a modern, production-grade point-of-sale and business management system built for retail stores, supermarkets, pharmacies, restaurants, and electronics shops. It combines everything you need to run daily operations — POS terminal, inventory, purchasing, accounting, reports, cash management — in one clean, blazing-fast interface.
Built on the latest web stack (Next.js 16, React 19, PostgreSQL, TypeScript), it out-performs older PHP POS systems in speed, mobile responsiveness, and developer experience. You get the full source code, deploy it to your own server, and own your data forever. No monthly SaaS fees, no vendor lock-in.
Perfect for UAE / GCC retailers, single-shop or multi-store, who want a professional POS without paying subscription fees for years.
What you get
- ✅ Complete source code — Next.js 16 + Prisma + PostgreSQL, fully TypeScript
- ✅ Self-hosted — deploy on your own VPS / server
- ✅ One-domain license — buy once, use on one production domain
- ✅ Free updates for 6 months
- ✅ 30 days installation support (WhatsApp + email)
- ✅ Sample data seeder — full grocery store demo included
- ✅ Built-in license activation system
Key modules
🛒 POS Terminal - Beautiful touchscreen interface, split 60/40 (products left, live cart right) - Barcode scanning + product search + category tabs - Weight-based items (kg/g) — perfect for grocery/produce - Split payments across cash / card / QR / customer credit - Auto-calculate change with cash tender - Held sales (park & resume) - Offline mode with automatic sync on reconnect - Thermal receipt printing (58mm & 80mm) + public receipt QR
📦 Inventory - Real-time stock levels across unlimited stores - Low-stock alerts + automatic reorder suggestions - Stock transfers between stores (draft → in transit → received) - Stock takes with printable count sheets + blind counts - Shelf location mapping (aisle-rack-shelf) - Batch & expiry date tracking (pharmacy-ready, FEFO auto-selection) - Stock adjustments with reason codes
📥 Purchase Orders - Full supplier management with payment terms - Create → send → partial receive → close workflow - Auto-create ProductBatches on receipt (with expiry dates) - Supplier payment tracking with running balance - PO PDF export + email to supplier - Aged payables report
👥 Customers & Loyalty - Complete customer database with credit accounts - Store credit / wallet functionality - Loyalty tiers (Bronze / Silver / Gold) with configurable rewards - Points earned per AED spent, tier bonuses - Credit sales tracking + aged receivables report - Customer portal (view own receipts, pay credit balance)
💰 Full Double-Entry Accounting - Auto-provisioned Chart of Accounts (18 default accounts) - Automatic journal posting from every sale, purchase, and expense - P&L statement with period comparison - Balance Sheet as of any date - Trial balance - Period lock + year-end close - Manual journal entries with debit/credit balance validation
🧾 Cash & Shifts - Open/close shift workflow with opening float - X reports (running totals during shift) - Z reports (final totals on close) - Cash in/out (drops, payouts, expenses) - Automatic variance calculation - Cashier reconciliation
📊 12+ Built-in Reports - Sales summary (by day/week/month) - Sales by product, cashier, category - Payment method breakdown - Top customers, top suppliers - Aged receivables, aged payables - Tax report (VAT collected per period) - Discounts given per day - Shift reports - Low stock report - Custom date ranges + PDF/CSV/Excel export - Scheduled reports emailed daily/weekly/monthly
👨💼 5-Tier RBAC - Admin — full access - Manager — all operations except billing/roles - Cashier — POS terminal + own sales, PIN login - Stock Keeper — inventory/purchases only - Accountant — books + reports (read-only elsewhere)
💸 Expenses - Track business expenses with categories and receipts - Attach receipt images / PDFs - Auto-post to accounting
🌐 Client Portal - Customers log in and see their own receipts + credit balance - Pay outstanding credit online
⚙️ Customization - Multi-store, multi-currency, multi-language (English/Arabic RTL soon) - VAT-inclusive or VAT-exclusive pricing modes - Custom fields on products, customers - Configurable discount rules (percent/fixed, item/category/brand/cart) - Custom pipeline stages (case tracking) - Configurable receipt templates
Tech stack
- Frontend: Next.js 16 (App Router, RSC, Turbopack), React 19, TypeScript, Tailwind CSS v4
- Backend: Next.js server actions, Node 20+
- Database: PostgreSQL 14+ via Prisma ORM
- Auth: JWT (jose) with bcrypt + PIN login
- PDF: @react-pdf/renderer (receipts + POs)
- Barcodes: bwip-js (EAN-13, Code 128, labels)
- Email: Nodemailer over SMTP / Postfix
Requirements
- Node.js 20 or later
- PostgreSQL 14 or later
- Any SMTP server
- A domain (for license activation)
Live demo
Try it now — sample data pre-loaded (Al Manara Supermarket, 36 products, 468 sales):
- URL: pos.hades.ae
- Admin login:
demo@hades.ae/demo2026 - Manager:
manager@hades.ae/demo2026 - Cashier:
cashier@hades.ae/demo2026(PIN: 8888) - Stock keeper:
stock@hades.ae/demo2026 - Accountant:
accountant@hades.ae/demo2026
Why choose us over other POS solutions
- Modern stack — Next.js 16 + React 19 + PostgreSQL + Tailwind v4. Not another decade-old PHP + Bootstrap 3 POS.
- Native mobile UX — touch-first POS terminal, works on tablets, iOS-optimized inputs.
- Multi-tenant by design — run one instance for multiple businesses, or one business per install.
- Full TypeScript — every file strictly typed. Refactor with confidence.
- 5-minute install — Extract → set env → prisma push → start selling.
- Full accounting included — most PHP POS systems charge for accounting add-ons. Ours is core.
- Client portal included — customers pay credit online, no add-on modules.
- You own the code — full source, no obfuscation, no license servers checking every request. Modify freely.
- Priced fairly — One-time payment, one domain, 30 days support, 6 months of updates. No subscription trap.
License
- One purchase = one production domain
- Development / staging domains don't count against your license
- Use for your own business OR your client's business (agencies welcome)
- Reselling as-is is not allowed
- Full source code, no obfuscation
- Modify freely for your own project
Changelog
v1.0.0 (Aug 2026)
- Initial release: POS terminal, inventory, purchases, sales, customers, loyalty, accounting, reports, shifts, expenses, multi-store, multi-tier RBAC
Support
- 30 days of email + WhatsApp support with every purchase
- 6 months of free updates
- Priority bug fixes via WhatsApp
- Full source access
Features
- ✓Beautiful touchscreen POS terminal (grid of tiles + live cart)
- ✓Barcode scanning + product search + category tabs
- ✓Weight-based items (grocery / supermarket / pharmacy)
- ✓Batch & expiry date tracking (pharmacy FEFO)
- ✓Split payments: cash / card / QR / customer credit
- ✓Offline sale queuing with automatic sync
- ✓Multi-store & multi-till operations
- ✓Real-time stock levels + low-stock alerts
- ✓Stock transfers between stores + stock takes
- ✓Purchase orders with supplier management
- ✓Customer database with credit accounts + loyalty tiers
- ✓Sales returns, refunds, held-sale resume
- ✓Cart & item discounts (percent or fixed)
- ✓Full double-entry accounting (COA, Journal, P&L, Balance Sheet)
- ✓Automatic accounting posting from sales/purchases
- ✓Cash drawer: opening float, cash in/out, X/Z reports, reconciliation
- ✓Expenses tracking with categories
- ✓12+ built-in reports with PDF/CSV export + scheduled emails
- ✓5-tier RBAC: Admin/Manager/Cashier/Stock Keeper/Accountant
- ✓Cashier PIN login for fast till switching
- ✓Public receipt link (QR code)
- ✓CSV import/export for products and customers
- ✓VAT-inclusive or VAT-exclusive pricing
- ✓Multi-currency support
- ✓Thermal receipt printing (58mm/80mm) + barcode label printing
- ✓Fully mobile-optimized (tablet-first)
- ✓Full source code, TypeScript strict
Tech stack
Install guide
Requirements
- Node.js 20 or later
- PostgreSQL 14 or later
- Any SMTP server (Postfix works out of the box)
- A domain (used for license activation)
Install steps
1. Extract the ZIP
Unzip to your server, e.g. /var/www/mypos.
2. Configure environment
```bash
cp .env.example .env
```
Edit .env:
- DATABASE_URL — Postgres connection string
- SESSION_SECRET — random 32-byte hex (openssl rand -hex 32)
- PUBLIC_BASE_URL — your production domain
- LICENSE_KEY — from your buyer account after purchase
- SMTP settings
3. Install + set up database ```bash npm install npx prisma db push ```
4. Build + start ```bash npm run build npm run start ``` Default port: 3193. Put nginx in front + Let's Encrypt SSL.
5. First-time setup 1. Visit your domain, click Sign up 2. Fill company name, industry, admin details 3. Default main store + Till 1 + payment methods + VAT auto-created 4. Add products → open a shift → start selling
---
Need help installing? Get 30 days free installation support via WhatsApp or email.