Manage Products β’ Track Orders β’ Handle Returns β’ Analyze Sales β All Without the Internet
Wholesale POS System is a professional-grade, offline-first inventory and order management application, purpose-built for wholesale businesses. It manages products, sales, shop accounts, rider logistics, and returns seamlessly β with no internet connection and no server infrastructure required.
Everything runs directly in the browser, powered by IndexedDB, making the entire system portable, private, and completely free to host.
| β 100% Offline-Capable | β Zero Server Cost | β Multi-Language UI (English, Urdu, Punjabi) |
| β Real-Time Sales Analytics | β Smart Returns Handling | β Secure Admin Login |
| β Dark / Light Theme | β One-Click JSON Backup & Restore | β Printable PDF Reports |
Unlike traditional POS systems that rely on a server and database connection, Wholesale POS System runs as a fully client-side, serverless application:
User (Browser)
β
βΌ
HTML5 + Bootstrap 5 UI
β
Vanilla JavaScript (ES6+)
β
βββββββββββββββββΌβββββββββββββββββ
β β β
βΌ βΌ βΌ
Dexie.js Chart.js Window Print
(IndexedDB) (Analytics) (PDF Export)
β
βΌ
100% Local Browser Storage
Because all data lives in the browser's IndexedDB, there is no backend, no hosting cost, and no dependency on network availability.
- Add, edit, and track product quantities and prices
- Auto-generated product IDs
- Organized shop and rider profiles for retail partners and delivery logistics
- Quick shop / rider selection
- Live cart management with instant total calculations
- Cash and Online payment methods
- Editable order history
- Tracks sold quantities to ensure returns never exceed purchased stock
- Automatically adjusts main inventory on every return
- Full return history with amounts and dates
- Real-time graphs for Sales, Orders, and Returns
- Custom filtering: Daily, Weekly, Monthly, or Yearly timeframes
- Group reports by Shop or Rider
- Built-in PDF printing and export
The entire UI can be switched instantly between:
- English
- Urdu (Ψ§Ψ±Ψ―Ω) β with full RTL layout support
- Punjabi (ΩΎΩΨ¬Ψ§Ψ¨Ϋ) β with full RTL layout support
One-click theme toggle for comfortable use in any lighting condition.
- Dedicated admin login screen with no hardcoded fallback credentials
- Password update system that blocks reuse of the last 3 passwords
Since all data is stored locally in the browser (IndexedDB), data safety is managed through a manual backup workflow:
| Action | Description |
|---|---|
| Download Backup | Exports all system data (products, orders, shops, riders, returns) to a secure .json file via the Admin menu |
| Restore Backup | Re-imports a previously exported .json file to instantly recover all historical data |
| Recommended Practice | Save backup files in a cloud-synced folder (e.g. Google Drive) for extra safety |
β οΈ Important: Since this is an offline, browser-based system, the user is responsible for maintaining regular backups. A daily backup routine is strongly recommended.
To prevent accidental data loss, please follow these guidelines:
- π« Never clear browser data or cookies β this permanently deletes the local database.
- π« Avoid Incognito / Private browsing mode β data is wiped automatically when the window closes.
- π Data is device- and browser-specific. Moving to a new computer or browser requires using the Backup/Restore feature to migrate data.
- π Backups are the user's responsibility β a daily backup routine is highly recommended.
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | HTML5, CSS3, Vanilla JavaScript (ES6+) | Core application logic and structure |
| UI Framework | Bootstrap 5 | Responsive, clean, professional interface |
| Visualization | Chart.js | Interactive real-time sales analytics |
| Database | Dexie.js (IndexedDB wrapper) | 100% offline, browser-local data storage |
| Export | Native browser print (window.print()) |
PDF report generation |
The system uses a single IndexedDB database (POS_Client_DB) with the following tables:
| Table | Purpose |
|---|---|
users |
Admin credentials & login authentication |
products |
Product catalog β name, quantity, price |
shops |
Retail partner / shop directory |
riders |
Delivery rider directory |
orders |
Full order and sales history |
returns |
Product return records and adjustments |
Wholesale-POS-System/
β
βββ assets/
β βββ Login.png
β βββ Dashboard.png
β βββ DarkThemeWithUrdu.png
β βββ Products.png
β βββ Shops.png
β βββ Riders.png
β βββ Returns.png
β βββ Daily Reports.png
β βββ Backup.png
β
βββ index.html # Complete single-file application
βββ README.md
Since Wholesale POS System is a fully self-contained, serverless application, no installation or build step is required.
1. Clone or download the project
git clone https://github.com/abdulqadeer-44/Wholesale-POS-System.git2. Open the app
Simply open index.html in any modern browser (Chrome, Edge, or Firefox recommended):
cd Wholesale-POS-System
open index.html # or double-click the file3. Log in
Use the default admin credentials on first launch, then update your password immediately from the Admin menu.
π‘ No server, no database setup, and no environment variables needed β everything runs client-side.
- Browser-local authentication with no hardcoded fallback login
- Password history protection (last 3 passwords cannot be reused)
- No external data transmission β everything stays on the user's device
- Manual, user-controlled backup and restore workflow
- Instant load β no server round-trips
- Fully responsive, mobile-friendly Bootstrap 5 layout
- Smooth animated tab transitions
- Live analytics powered by Chart.js
- Zero hosting cost β runs entirely offline
- Cloud sync option for multi-device access
- Barcode scanning support for faster product entry
- Role-based access for multiple staff accounts
- Automated cloud backup scheduling
- Low-stock alerts and notifications
- Export reports to Excel (in addition to PDF)
Contributions are always welcome!
- Fork the repository
- Create a new feature branch
- Commit your changes
- Push your branch
- Open a pull request
git checkout -b feature/new-feature
git commit -m "Add new feature"
git push origin feature/new-featureAbdul Qadeer Sikandar Software Engineering Student Β· University of Gujrat Full Stack Web Developer
If you found this project useful, please consider β starring the repository, π΄ forking it, and π’ sharing it with others.
Licensed under the MIT License β free to use, modify, and distribute for educational purposes.
Made with β€οΈ by Abdul Qadeer Sikandar