Skip to content27% offProofmatch for ₹10,999 ₹14,999
CloneifyPro

Shelfwise · Inventory and stock

Inventory for any number of companies: products with variants, several warehouses and shops, stock moves with full history, reorders, purchase and sales orders, and reports.

Shelfwise dashboard with stock value, low stock, best sellers and stock per location
Owner

The dashboard: value, low stock with one-click reorder, best sellers

1 / 5

What Shelfwise runs

  • Products with variants made from options (Size × Colour), each with its own SKU, barcode, price and reorder level
  • Several warehouses, shops or vans; stock in, stock out with a reason, transfers and counts, by search or barcode scanner
  • A history of every change with who and why; stock never goes below zero
  • Low-stock list that drafts one purchase order per supplier; receive in parts with average cost
  • Sales orders that ship everything or nothing, and reports on stock value, best and slow sellers
  • Any number of companies, each with its own team and roles (owner, manager, staff); amounts in rupees
Platform
Web, works on phones and tablets
Best for
Shops, wholesalers, distributors, online sellers
User roles
Owner, manager, staff (staff never see costs)
Database
PGlite or any Postgres

Who it is for

  • Shops and retail chains

    Stock per shop and warehouse, shelf top-ups by transfer, counter sales booked in seconds, and a count that only books the differences.

  • Wholesalers and distributors

    Purchase orders received in parts, sales orders that refuse to ship what isn't there, and stock value at average cost for the accounts.

  • Agencies and developers

    Run it for many clients from one installation, or build on it: online store sync, invoices, batch and expiry tracking.

Live now

Demo access

Try it before you download it. Kavya Fashions, a clothing business with a warehouse and two shops, after 90 days of sales, deliveries, transfers and counts. A hardware shop in Coimbatore is one switch away, or start an empty company of your own. No sign-up.

Open the demo
  • Dashboard

    Stock value, what's running low with one button to reorder it, best sellers and stock per location.

    Open dashboard
  • Products

    Every product with its sizes and colours, stock per shop, and its full history.

    Open products
  • Stock count

    Type or scan SKUs (try TSH-M-BLA); only the differences change the stock.

    Open stock count
  • Purchase orders

    One order half delivered, one on the way and a draft. Receive the rest and watch stock and cost update.

    Open purchase orders
  • Reports

    Stock value by location and category, best and slow sellers, and the reorder list.

    Open reports

People in the demo

No password in the demo. The bar at the top switches company and person, or starts a company of your own.

  • Kavya Raman

    Owner, Kavya Fashions

    Everything, including settings: locations, the team and the company's currency.

    Open the demo
  • Arjun Iyer

    Manager

    Products, suppliers, purchase and sales orders, stock and reports. Not settings.

    Open the demo
  • Meena Das

    Staff

    Stock in, out, transfers and counts, receiving and shipping. No costs or stock value anywhere.

    Open the demo
  • Ramesh Pillai

    Owner, Raja Hardware & Electricals

    A separate company with its own suppliers, stock and team. Switch to it in the bar at the top: none of Kavya's stock is visible.

    Open the demo

Postgres runs in your tab and keeps your changes in this browser. “Reset demo” in the bar starts over.

On your own machine

Install it and sign in

  1. 1
    npm install
  2. 2
    SEED_PASSWORD=choose-a-password npm run db:seed
  3. 3
    npm run dev

Then sign in with the sample admin:

Password

choose-a-password

Or whatever you set SEED_PASSWORD to. Every sample person signs in with it.

Without the seed, the first visit asks you to create your company: its name, your name and its currency. One location is ready, and Settings adds more locations and your team.

Features

Grouped by where the work happens.

Products

5
  • Options like Size and Colour make the variants in one click, with SKUs written for you
  • Each variant has its own SKU, barcode, price, cost, reorder level and reorder quantity
  • Opening stock when you add a product; categories, units and a supplier per product
  • Search by name, SKU or a scanned barcode; filter by category, location, low or out of stock
  • Removing a product keeps its history; it can't be removed while stock or orders remain

Stock

5
  • Any number of locations: warehouses, shops, vans
  • Stock in and stock out with a reason (sold, damaged, expired, returned…) and a note
  • Transfers that leave one location and arrive at the other in the same moment
  • Counts that book only the differences, scan by scan
  • Every change in the history with who, why, the reference and the balance after; CSV export

Orders

4
  • Purchase orders: draft, sent, received in parts or in full, or closed short
  • Receiving moves the item's average cost toward what was paid
  • One button drafts purchase orders for everything low, one per supplier, without ordering twice
  • Sales orders ship every line at once, or say exactly what's short and where

Companies and reports

4
  • Sign-up creates a company with its owner and a first location; every query is scoped to it
  • Owner, manager and staff roles; staff never see costs or stock value
  • Dashboard: stock value, low stock, best sellers, stock per location, latest moves
  • Reports: stock value by location and category, best and slow sellers, the reorder list

Tech and requirements

Exact versions, because that is the first thing a developer checks.

Stack

Framework
Next.js 16, App Router
Interface
React 19, Tailwind CSS 4
Language
TypeScript
Database
PGlite by default, or PostgreSQL 13+
Stock rules
One service for every rule, row locks on stock, a test suite on a real Postgres
Sign-in
Email and password, scrypt, signed session cookie

To run it

Node.js
22.6 or newer
Database
None to start; Postgres for production
Secret
AUTH_SECRET in production
Hosting
Vercel, or any server that runs Node.js

What you get in the download

shelfwise.zip, 144 KB: the whole project as it unzips, counted from the zip itself.

  • Complete source code, nothing obfuscated
  • A seed script with the sample data the demo shows
  • A README: quick start, configuration and deploying
  • An .env.example with every setting and its default
  • The script that builds the browser demo
shelfwise.zip68 files · 144 KB
  • Pages and API routes20 files
    17 KB
  • Core logic13 files
    133 KB
  • Server3 files
    6 KB
  • Screens and components22 files
    177 KB
  • Scripts2 files
    5 KB
  • README and configuration8 files
    92 KB

Common questions

01. Can several companies use one installation?

Yes. Every sign-up is a separate company with its own products, locations, suppliers, orders, team and currency, and every query is scoped to it. Set SIGNUP=closed to stop new companies.

02. Does it work with a barcode scanner?

Yes. Any USB or Bluetooth scanner that types the code and presses Enter works on every stock and order form: an exact SKU or barcode is added at once, and scanning it again adds one more.

03. How is stock value worked out?

At average cost. Each purchase order received moves the item's cost toward what was paid, weighted by how much is already on hand, so stock value stays right as prices change.

04. Can stock go negative?

No. A stock out, transfer or shipment that would take more than is there is refused as a whole, and the message says which item is short and where.

05. What do staff see?

Staff move stock, count, receive deliveries and ship orders. They never see costs, order totals or stock value, and can't change products, suppliers or settings.

More products

All products

Leadtrail

Sales CRM

A sales CRM for any number of companies: enquiries from IndiaMART, JustDial, Facebook and the website, a repeat check on every mobile number, follow-ups, WhatsApp templates, a drag-and-drop pipeline, and one-click invoices in Billcraft.

  • Next.js 16
  • React 19
  • TypeScript
  • PostgreSQL
Files
74
Lines
10,823
Source
₹12,499

Renewly

Membership management

Memberships and fees for gyms, studios, dance academies and coaching classes: members and plans, part payments with receipts, renewals and pauses, WhatsApp reminders, Razorpay payment links, and a Today screen of who to collect from and who to renew.

  • Next.js 16
  • React 19
  • TypeScript
  • PostgreSQL
Files
86
Lines
12,718
Source
₹9,999

Consentdesk

DPDP privacy and consent

Privacy and consent for India's DPDP Act and Rules: a notice in English and Indian languages, a consent banner and form (a parent's email code for under-18s), a receipt for every answer, a privacy page where people withdraw consent or ask to see, correct or erase their data, requests with deadlines, a 72-hour breach register, and a data map with vendors.

  • Next.js 16
  • React 19
  • TypeScript
  • PostgreSQL
Files
84
Lines
10,531
Source
₹12,499