All case studies
Case study · Consumer & D2C

Inventory, POS and e-commerce, one stock pool

KhanSaab is a direct-to-consumer thobe and Islamic-menswear brand doing 100+ orders a day on spreadsheets, verbal stock counts and WhatsApp ordering. We built its operating platform: an inventory and warehouse management system with an integrated GST point-of-sale, and a self-serve online store on top, sharing one product master, one stock pool and one customer identity.

Client
KhanSaab Store
Industry
Consumer & D2C · Fashion retail
Services
Web app, E-commerce, POS, Cloud
Timeline
IMS + POS live; storefront in build, 2026
Platform
Web · IMS · POS · Storefront
Team
Design + engineering · 2026
KhanSaab Store
Results

What the client measured.

100+
Orders a day the platform is built to run across the counter and online.
1 stock pool
Online checkout and in-store billing draw from the same live figure: no oversell, no reconciliation.
56 tables
32 inventory + 24 storefront tables on one PostgreSQL database, nothing duplicated.
< 60 s
Target for a GST-compliant counter bill, with the customer captured by phone.
The challenge

Stock drifted, channels didn't talk, and nobody knew what a thobe cost to make.

At 100+ orders a day, manual inventory had stopped working. Stock counts drifted and items were oversold, then refunded and apologised for. A shirt sold at the counter stayed 'available' online until someone remembered to update a sheet. Fabric arrived in rolls of varying length at varying prices, so no one could say what a finished garment cost, or earned. The same person buying in-store and online was two records, so measurements and history were invisible. Returns went back on the shelf without inspection.

KhanSaab needed a single source of truth for products, stock and customers across the shop counter, the warehouse and the web, built so the online store, and later wholesale, could plug into it without rework.

A shopper browsing the rack
Our approach

How we got there.

IMS + POS live; storefront in build, 2026, design + engineering: here is how the time was spent.

01

Model the business first

BRDs, PRDs and a normalised database design for inventory and e-commerce before any screens: a product that isn't sellable, a variant that is, stock per variant per location in four buckets, and an append-only ledger for every change.

02

Build the IMS + POS core

Catalogue, multi-location stock, FIFO cost layers, GRN, transfers, counts, procurement, returns grading, GST POS and role-based access: one NestJS API on Supabase Postgres, with a React web app for staff.

03

Make overselling impossible

Online checkout reserves stock for 30 minutes with row-level locking and a database check constraint; two concurrent checkouts for the last unit can only ever produce one sale.

04

Put the store on top

A Next.js storefront that reads the IMS catalogue, stock and customers directly: phone-OTP accounts shared with the counter, ready and made-to-order garments in one order, split shipments, and coupons that work in both channels.

The solution

Two systems, one database, one product and one customer.

The IMS owns products, stock and customers; the storefront points at them and never keeps a copy, so there is no sync delay and no reconciliation to design. Staff run the counter, stockroom, procurement and returns from one web app. Customers browse live stock, sign in with a phone OTP that recognises them from the counter, and buy ready and custom garments together: ready items ship first, custom ones follow after production.

Counter billing on the POS
Counter billing on the POS
The storefront: bespoke orders in one tap
The storefront: bespoke orders in one tap

Inventory & warehouse

Stock per variant per location in four buckets (available, reserved, damaged, returned-pending), two-step transfers with in-transit visibility, scheduled counts with an approval gate, and an immutable ledger that always reconciles.

GST point-of-sale

Counter billing against the shared pool: customer by phone, CGST/SGST or IGST per line, bill-level discounts, parked bills, sequential invoice series per registration, day summary and void, with coupons sharing one budget with the website.

Procurement & costing

Suppliers, purchase orders with an approval threshold, goods receipts per lot (each fabric roll's real length and cost), FIFO cost layers, valuation and margin reporting, and a buying list computed live from reorder points.

E-commerce storefront

Live stock, guest carts that merge on login, made-to-order flows with saved measurements and promised dates, Shiprocket prepaid and COD, per-shipment tracking, graded returns, verified reviews and WhatsApp/email notifications.

Screens

Inside the product.

The storefront
The storefront
Storefront: collections and product discovery
Storefront: collections and product discovery
Product page with variant galleries
Product page with variant galleries
Built with

The stack behind it.

NestJS 11TypeORMPostgreSQL / SupabaseReact + ViteRedux ToolkitNext.jsShiprocketWhatsApp & SMS notificationsSwaggerExcelJS imports
The Pronttera team successfully transformed our vision into a modern e-commerce platform that reflects our brand and improves how customers interact with our products. Their attention to design, usability, and performance helped us build a stronger online presence and create a seamless shopping experience for our audience.
SKSafwan KhanOwner, KhanSaab Store

Building something like KhanSaab Store?

Tell us the problem. We'll come back within one business day with how we'd approach it.

Enquiry

Take the
brighter path.

Tell us what you’re building. We’ll be in touch within one business day.