About NodeDR POS
NodeDR POS is a free, open-source Point of Sale system built for small retail shops — kiranas, pharmacies, clothing stores, electronics shops, and anyone who needs a reliable register without a monthly subscription.
Why we built it
Small shop owners in India and across the world are forced to choose between expensive SaaS POS subscriptions and brittle spreadsheet setups. Monthly fees that cut into margins, data sitting on someone else’s server, and features locked behind paid tiers shouldn’t be the price of running a digital register.
NodeDR POS is the alternative: a full-featured POS that runs on hardware you already own, stores data locally in SQLite, and costs nothing to operate. Clone the repo, run the installer, and you’re billing customers in under 10 minutes.
What it does
The system covers the complete retail workflow: scanning barcodes at checkout, handling cash, UPI, and card payments, printing GST-compliant receipts on a thermal printer, managing inventory, running a loyalty points program, and tracking customer dues (“udhaar”). Returns and exchanges are handled from the register by invoice number — no need to look anything up in a spreadsheet.
The sales dashboard gives you a revenue trend, your best-selling products, payment method mix, and top loyalty customers — all without sending a single byte to an external analytics service.
Architecture
NodeDR POS runs as a two-container Docker Compose stack: a Next.js frontend on port 1994 and an Express + Prisma backend on the internal network. SQLite persists in a named Docker volume. The frontend proxies every /api/* request to the backend, so only one port is ever exposed — the backend is not reachable from your LAN.
Once the images are built, the app makes zero outbound calls. No analytics pings, no telemetry, no phone-home. Your sales data is physically on your machine.
Built by NodeDR Infotech
NodeDR POS is made and maintained by NODEDR INFOTECH PRIVATE LIMITED — a software company building tools for small businesses. Our official site is www.nodedr.com.
The project is MIT-licensed. You can use it for free, deploy it for clients, fork it, and modify it without restriction. Pull requests and issue reports are welcome on GitHub.
Frequently asked questions
Is NodeDR POS really free?
Yes. NodeDR POS is MIT-licensed open-source software. There is no subscription, no per-transaction fee, and no premium tier. You download the code, run it on your own machine, and it costs nothing to operate beyond the hardware.
Does it work without internet?
Yes — fully offline. Once the Docker images are built, the entire stack runs on your local machine with no outbound network calls whatsoever. Your sales data never leaves the shop.
What hardware do I need?
Any machine that can run Docker: a low-end Windows, Linux, or macOS PC works fine. For the barcode scanner, any USB HID keyboard-wedge scanner (the kind that 'types' the barcode then presses Enter) works plug-and-play. For thermal printing, a generic USB ESC/POS printer (58mm or 80mm roll) or any printer connected via CUPS or the Windows print spooler.
Does it support Indian GST?
Yes. You can set per-product GST rates and HSN/SAC codes. MRP is treated as GST-inclusive as required by law — CGST/SGST are always broken out separately on the receipt. Live GSTIN format validation is built in. You can also import the official HSN/SAC CSV for autocomplete.
Can I use it on a tablet at the counter?
Yes. The app runs on port 1994 of the machine running Docker. Any device on the same network — a counter tablet, a phone, a second PC — can open it in a browser and use the full POS interface, including checkout. No per-device install is needed.
How do I install it?
Clone the repo and run ./install.sh — it checks for Docker, builds both images, starts the stack, and prints the URL. The first launch walks you through creating an admin account and configuring your shop. Total time from zero to ringing your first sale is under 10 minutes on most systems.
What happens to my data if I stop the containers?
All data (SQLite database and the session secret) lives in a named Docker volume (nodedr-pos_data), not inside the containers. Stopping or removing the containers leaves the volume untouched. Your data survives image rebuilds and system restarts.
Is it only for India?
No. GST and UPI are India-specific features, but both can be turned off in Settings. NodeDR POS supports over 20 major currencies (₹ INR, $ USD, € EUR, £ GBP, and more), and the receipt layout adapts to whichever currency you choose.