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 AGPL-3.0-licensed. You can use it for free, deploy it for clients, fork it, and modify it — if you run a modified version as a network service for others, you must share that modified source under the same license. Pull requests and issue reports are welcome on GitHub.
Frequently asked questions
Is NodeDR POS really free?
Yes. NodeDR POS is AGPL-3.0-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?
Three ways. On Windows or Debian/Ubuntu, download the native installer and double-click — no Docker, no terminal. On any OS, clone the repo and run ./install.sh, which checks for Docker, builds both images, starts the stack, and prints the URL. Already running a CasaOS or ZimaOS home server? Install it straight from a compose URL in the app store — no terminal at all. Either way, the first launch walks you through creating an admin account and configuring your shop, and you're ringing your first sale in under 10 minutes.
Do I need Docker to run it?
No, not anymore. Windows and Debian/Ubuntu now have standalone native installers (.exe and .deb) that install NodeDR POS as a background service — no Docker, no terminal, no command line at all. Docker Compose (./install.sh) remains fully supported for macOS and every other Linux distro, or if you just prefer containers.
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.
Can I connect my online store so stock stays accurate on both?
Yes. Link a product by its SKU in Settings > Integrations, then your website's backend can call the External Stock API to read live stock and report a sale, keeping the counter and the site on the same real count — a sale on either side updates the other, and an optional webhook pushes stock changes to your site the moment they happen at the counter.