Multi-tenant inventory, sales and GST-invoicing SaaS for Indian trading businesses
Visit Live SiteSparks Business is a multi-tenant platform built by eSparks IT Solutions to run inventory, purchases, sales and GST invoicing from one system. It pairs a NestJS 11 API with an installable Next.js 15 PWA, backed by PostgreSQL 17 through Prisma 6 across 49 data models. Every query is scoped to its tenant through an AsyncLocalStorage-driven Prisma client extension, and an append-only audit table is enforced at the database level — even a direct update or delete against it is rejected by a trigger. GST math (CGST/SGST/IGST splitting, GSTIN validation) runs on decimal.js for exact, rounding-free results, and a real Tally XML importer lets a business bring in existing ledgers, vouchers and stock items instead of starting over. Redis and BullMQ handle background email and document generation, S3-compatible object storage holds product images, invoice PDFs and backups, and Microsoft Graph sends transactional email. Deploys are health-gated, so a broken build never reaches production.
Purchases go into one register, sales into another, and GST gets computed by hand or bolted on at month-end — with no single view of what's actually in stock or who owes what.
Manually splitting CGST, SGST and IGST, tracking which invoice used which rate, and reconciling rounding differences eats hours every filing cycle.
Years of ledgers, vouchers and stock history sit in an export file nobody wants to re-type.
A trading business doesn't need five tools and a spreadsheet. It needs one system that already knows what's in stock, what's owed, and what tax applies.
The outcomes that actually move the needle
Purchases update stock, sales generate GST-correct invoices, and payments reconcile against real dues — no manual re-entry between tools.
CGST/SGST/IGST split, GSTIN checksum validation, and exact decimal math remove the manual tax-calculation risk.
A real XML import reads existing ledgers, vouchers and stock items instead of asking you to start from zero.
Tenant isolation is enforced at the database, not just trusted to the app — and backups run encrypted to a destination you choose.
Install it to your home screen; a dedicated offline view keeps you working when the connection doesn't.
An append-only audit log — even a database update attempt against it is rejected — gives you a trustworthy trail.
What we designed, built and shipped
Tenant isolation enforced at the database, not just the app layer
GST-correct invoicing with exact decimal math (CGST/SGST/IGST)
Real Tally XML import for ledgers, vouchers and stock items
Append-only audit log — a DB trigger rejects update/delete against it
Every choice made for a reason — not just what's trendy
| Layer | Technology | Why |
|---|---|---|
| API | NestJS 11 (modular monolith) | Testable, structured service boundaries without microservice overhead |
| Web | Next.js 15 — installable PWA | Works like a native app, offline-aware |
| Database | PostgreSQL 17 + Prisma 6 | Relational integrity across 49 real domain models |
| Cache & queues | Redis + BullMQ | Background email and PDF generation, off the request path |
| Auth | Argon2id + rotating opaque refresh tokens | OWASP-baseline password hashing; stolen tokens can't be replayed |
| Tax engine | decimal.js | Exact GST math, no floating-point rounding drift |
| Object storage | S3-compatible API (AWS SDK) | Product images, invoice PDFs and backups |
| Microsoft Graph | Transactional email for invitations, resets and CA sharing | |
| Security | Helmet + rate limiting | Security headers and abuse protection on every endpoint |
| CI/CD | GitHub Actions, health-gated deploy | A broken build never reaches production |
One database, enforced boundaries — every request is scoped to its business before a single row is touched.
Every request resolves its tenant into AsyncLocalStorage, and a Prisma client extension applies that scope automatically — no query can accidentally cross a tenant boundary. Background jobs, object storage and transactional email all run through real, verified integrations: Redis/BullMQ, S3-compatible storage, and Microsoft Graph.
Add your GSTIN, locations and opening stock.
Products, customers and suppliers — or import them straight from a Tally export.
Stock updates automatically as goods come in.
Sales orders become GST-correct invoices in one flow.
Reports show GST, stock and dues; backups run to your chosen destination.
We run it on our own infrastructure — Docker Compose behind a health-gated deploy pipeline, so a broken build never reaches production.
We'll walk you through inventory, sales, GST and reporting on a live tenant — on a call. No commitment, no sales script.
Sparks Business is a multi-tenant inventory, purchase, sales, GST and invoicing platform for stock-driven businesses. Buy, stock, sell, invoice and stay on top of tax — one system, real GST math. Here is everything the platform does.
Buy, stock, sell, invoice and get paid — one system, real GST math, not a spreadsheet.
Tenant isolation enforced at the database, not just the app — plus real backup and disaster recovery.
This product is live in production — explore it for yourself.
Visit Sparks Business — Inventory, Sales & GST Invoicing PlatformLet's discuss how we can help you achieve similar results for your business
Explore our other saas projects

Esparks Edu is a SaaS school management ERP built to unify academics, finance, HR, and daily operations in one platform. eSparks IT Solutions developed it with Next.js 16, React 19, PostgreSQL, Prisma, NextAuth.js v5, Redis, and a companion React Native app. The system supports subdomain-based multi-tenancy with row-level tenant isolation, along with RBAC across 9 roles and 4 subscription tiers (Free, Starter, Professional, Enterprise) billed through Razorpay. Its scope covers admissions, attendance, fees, exams, payroll, timetable, transport, library and report cards, helping schools manage core processes in a single system. The platform spans 60 data models across 6 logical database schemas, around 27 web modules, and 21+ mobile screens, with Firebase push notifications extending the experience to parents and students.

Retro — Sprint Retrospectives is a SaaS platform for running real-time sprint retrospectives for every team. Built with Next.js 15, React 19, PostgreSQL, Drizzle, Redis, Docker, and Socket.IO, it supports live cards, votes, presence, and a timer through Socket.IO with a Redis adapter. The product includes no-signup anonymous join with server-side device tokens, along with drag-and-drop columns, voting, board lock, and CSV/PDF export. It also features a localized UI in EN/ES, dark mode, and a pnpm monorepo structure. Architected as 2 apps plus 2 shared packages, the solution is designed for multi-instance realtime usage and includes Caddy auto-HTTPS for deployment-ready operation.
A production-grade Linux appliance that boots straight into a full-screen Windows RDP session — no desktop, no shell, no login prompt — backed by a self-healing watchdog and an infinite reconnect loop. It ships as a reproducible BIOS+UEFI ISO and pairs with a Next.js cloud manager to provision, monitor and remotely control the device fleet.