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. Deploy with Docker Compose, install the CasaOS app, or get the Windows app from Microsoft Store.
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 core app needs no internet. No analytics pings, no telemetry, no phone-home. The only outbound requests are optional ones you trigger — update checks and the “Find online” product lookup, which sends just the barcode or search text. 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. Billing, inventory, printing and reports run entirely on your local machine with no internet needed. A few features are optional and use the internet only when you use them: checking for updates, finding product details online by name or barcode (only that text is sent), and live exchange rates or store integrations if you set them up. 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?
Choose one of three supported options: install the Windows app from the Microsoft Store, deploy the CasaOS app on a CasaOS or ZimaOS box, or start the Docker Compose stack on Windows, macOS, Linux, a NAS, or a VPS. The first launch guides you through creating an admin account and configuring your shop.
Do I need Docker to run it?
The Microsoft Store app runs without Docker on Windows. For Windows, macOS, and Linux servers or computers, Docker Compose is supported. CasaOS and ZimaOS users can install the CasaOS app manifest.
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. Choose a shop currency such as INR, USD, EUR, GBP, AED, AUD or CAD in Settings. Currency settings control the symbol on receipts; configured exchange rates also support foreign-currency payments. GST and UPI are India-specific options. Currency support does not establish compliance with every country's tax, invoice or fiscal-reporting rules; check the requirements where your shop operates.
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.