Surge Pos
POS app for frappe framework
- Author: Ujjwal-Aggrawal2279
- Repository: https://github.com/Ujjwal-Aggrawal2279/Surge-POS
- GitHub stars: 5
- Forks: 11
- License: MIT
- Category: Retail
- Maintenance: Actively Maintained
- Frappe versions: develop
Install Surge Pos
bench get-app https://github.com/Ujjwal-Aggrawal2279/Surge-POS
Add the Frappe Gems badge to your README
Maintain Surge Pos? Paste this into your README:
[](https://frappegems.com/gems/apps/Ujjwal-Aggrawal2279/Surge-POS)
About Surge Pos
Surge POS
High-performance Point of Sale for ERPNext — built for Indian liquor retail, general merchandise, and quick-service outlets.
Overview
Surge POS is a Frappe app that replaces the default ERPNext POS with a fast, touch-friendly terminal designed for high-volume retail. It ships as a standard Frappe app — install it on any ERPNext v15 bench in minutes.
Key highlights
- Two-layer identity: Frappe session per terminal + PIN-based cashier switch, no re-login between shifts
- Offline-first: sales queue to IndexedDB when connectivity drops, auto-syncs on reconnect
- Delta-sync item catalog: handles 5,000+ SKUs without full-page reloads
- India compliance hooks: excise permit capture, state-wise MRP enforcement, TPT/L-1 licence tracking (plugin)
- Extensible: vertical modules (liquor, pharmacy, fuel) plug in without forking the core
Requirements
| Dependency | Version |
|---|---|
| Frappe / ERPNext | ≥ 15.0 |
| Python | ≥ 3.10 |
| Node.js | ≥ 18 |
Installation
# From your bench root
bench get-app https://github.com/Ujjwal-Aggrawal2279/Surge-POS.git --branch develop
bench install-app surge
# Build frontend assets
bench build --app surge
Development setup
cd apps/surge
# Python tools
pip install -e ".[dev]"
pre-commit install # ruff + eslint + prettier on every commit
# Frontend
cd web
npm install
npm run dev # Vite dev server with HMR
Configuration
- Create a POS Profile in ERPNext (
POS Profiledoctype) and assign it to the desired warehouse and price list. - Assign cashiers: open the Surge POS Settings and link employee records to PIN codes.
- Navigate to
/surge— the terminal picks up the active POS Profile automatically.
Full walkthrough → docs/
Project Structure
apps/surge/
├── surge/ # Frappe app backend
│ ├── api/ # REST endpoints (items, invoices, sessions)
│ ├── surge_pos/ # DocTypes (Cashier, POS Profile extension)
│ ├── www/surge/ # Frappe page that hosts the SPA
│ └── public/ # Compiled assets + static images
├── web/ # Vite + React frontend
│ └── src/
│ ├── components/pos/ # ItemGrid, Cart, PaymentDialog, …
│ ├── pages/ # CashierScreen, SellScreen, LoginScreen
│ ├── stores/ # Zustand stores (cart, session)
│ └── hooks/ # TanStack Query hooks
├── .github/
│ ├── workflows/ # CI + release pipelines
│ └── ISSUE_TEMPLATE/
├── docs/ # Docusaurus user guide
└── pyproject.toml
Contributing
Pull requests are welcome. For significant changes please open an issue first.
# Run frontend checks
cd web && npm run lint && npm run typecheck
# Run Python checks
ruff check . && ruff format --check .
See CONTRIBUTING.md for branch conventions and commit message format.
Roadmap
- [ ] Offline sync queue with conflict resolution
- [ ] WhatsApp receipt delivery
- [ ] UPI QR auto-verify via payment gateway webhook
- [ ] Anomaly detection on cashier voids / discounts
- [ ] Liquor compliance plugin (excise permits, TPT integration)
License
MIT © 2026 Ujjwal Aggrawal
Related Retail apps for Frappe & ERPNext
- Ury — URY - FOSS restaurant management system super powered by ERPNext.
- Webshop — Open Source eCommerce Platform
- Ecommerce Integrations — Ecommerce integrations for ERPNext
- Posnext — A modern, high-performance Point of Sale system for ERPNext with offline capabilities, real-time updates, and intuitive UI.
- Woocommerceconnector — Integration App for ERPNext to connect to WooCommerce
- Woocommerce Fusion — WooCommerce connector for ERPNext v15
- Go1 Webshop — Go1 Webshop is an Open Source eCommerce portal built on frappe builder.
- Retail Suite — is a modern POS system built with Tailwind CSS on the frontend and Frappe as the backend. It is designed for small retail businesses