Repository navigation
Features
raktim edited this page Aug 4, 2026
·
1 revision
- Barcode-driven POS checkout — scan to add to cart, scan again to bump quantity, press Enter to finalize. Unknown barcodes surface a toast instead of blocking the register.
- Camera barcode & QR scanning — no USB scanner? Scan from a phone or tablet's camera instead. See Hardware Setup.
- Manual product search — a debounced search box in the cart as a fallback when neither a hardware scanner nor a camera is available.
- Multiple payment methods — Cash (with change calculation), UPI, Card.
- Returns & exchanges — look up any past bill by invoice number, queue lines to return, and either settle as a standalone refund or fold it into a new sale as an exchange. Returned stock goes back into inventory automatically; the same unit can never be returned twice, even across several partial returns.
- Store credit — keep a refund with the customer instead of paying cash out; tracked as its own running balance, spendable on any future purchase.
- GST-inclusive pricing — the price you enter is treated as MRP (GST-inclusive, as legally required in India). GST is never added on top; it's only broken out as CGST/SGST on the receipt for compliance.
- Per-product GST with HSN/SAC codes; toggle GST on/off entirely in settings.
- Discounts — a percentage or flat-amount discount per sale (applied correctly across mixed tax rates), plus a standing per-product discount % that applies automatically every time that product sells.
- Server-authoritative money — price, tax, discount, loyalty value, and change are always computed server-side from the catalog and settings; a tampered client request can't alter what a sale charges.
- Customer directory — visit counts, total spend, loyalty balance, and store credit balance.
- Loyalty points — customers (by phone) earn points on every purchase, redeemable as a discount at checkout with a configurable earn rate and point value.
- Customer dues ("udhaar") — a cash sale can be paid short of the total when a customer is attached; the shortfall becomes a running due balance you can record payments against later, with a full payment history.
- Scan-to-edit — scan a known barcode to edit stock; an unknown one opens "Add Product" pre-filled.
- Low-stock dashboard alerts, with an optional "allow negative stock" setting for when counts run behind reality.
- Offline barcode & QR label generator — no barcode on the product? Generate a valid EAN-13 in one click and print/download a label, no internet or external barcode service involved.
- Reference data & validation — live GSTIN/PAN format validation, GST state-code decoding, quick-select GST rate slabs, and a per-product unit (UQC). Optionally import the official HSN/SAC/PIN/IFSC CSVs for autocomplete and address/bank lookups.
Three ways to get a receipt out, all laid out to minimize paper:
- Print — opens a formatted receipt and triggers the browser's own print dialog, so you pick whatever printer the OS/CUPS has configured (thermal, laser, or "Save as PDF").
- Download PDF — always generates a real PDF file server-side.
- Print via USB — sends raw ESC/POS bytes straight to a USB thermal printer, no print dialog at all.
An auto-print setting can skip the extra click entirely. Receipts are customizable with your own header/footer, and show GST breakdown, discounts, and loyalty summary.
- Sales dashboard — revenue trend, best seller, top-selling products, payment-method mix, top loyalty customers, today's totals, and low-stock alerts.
- Sales history — searchable past invoices with a detail view and one-click receipt reprint, plus a one-click CSV export.
- Guided onboarding — first launch walks you through creating an admin account and configuring your company before you ever see the dashboard.
- Staff accounts & roles — an admin plus any number of cashier logins; admins manage staff and settings, cashiers run the register.
- Multi-currency — 20+ major currencies, switchable in settings, one source of truth so the symbol can't drift between onboarding and settings.
- Works on phones and tablets — the nav collapses to a slide-out drawer below desktop width, so the register is fully usable from a counter tablet, not just a desktop browser.
- Runs on your own hardware or in the cloud — the same Docker Compose stack that runs on a shop's counter machine runs unmodified on any VPS/cloud provider if you'd rather manage it remotely.
- Zero external calls at runtime — once built, the app never talks to anything outside your machine.
For the full, always-current list see the README's Features section.