Business management system
Vyapar ERP
Interactive demo of a stock, billing and manufacturing system for businesses in Nepal: parties, sales and invoices, purchases, inventory, bills of materials, payments, expenses and reports.
- My role
- Designed and built the demo.
- Audience
- Owners and accountants of small trading and manufacturing businesses in Nepal.
- Status
- Interactive demo
- Stack
- Next.js
- React
- TypeScript
- Tailwind CSS
- shadcn/ui
- Recharts
- Zustand

Overview
A working demo of an ERP for small manufacturing and trading businesses in Nepal, built to show a prospective client how stock, billing, payments and production would fit together in one system.
It is a front-end demo: it runs on generated sample data stored in the browser and isn’t connected to a database yet.
Who it serves: Owners and accountants of small trading and manufacturing businesses in Nepal.
Features
Trading and accounts
- Dashboard with sales, purchases, receivables, payables, stock value, low-stock alerts and charts
- Parties (customers and suppliers) with a running ledger, payments and statements
- Sales billing with discounts and 13% VAT, and tax invoices with the amount in words
- Purchases that update stock
- Payments allocated to the oldest invoices first, and expenses
- Amounts in NPR with Nepali digit grouping, and menu labels in English and Nepali
Stock, production and reports
- Products and inventory with stock history and stock adjustment
- Bills of materials with estimated cost and margin
- Production runs that consume raw materials and add finished goods
- Reports: sales, purchases, profit and loss with VAT summary, stock valuation, outstanding balances and statements
- Report export to CSV and Excel, and printing
- Global search (Ctrl + K) and a quick-add menu
Technical decisions
Business logic kept separate
Balances, stock levels, ledgers and payment allocation are pure functions in one module, apart from the state store, so the browser storage can later be replaced by a server and database without rewriting the calculations.
Demo data that stays current
Sample data is generated on first load with dates shifted so that “today” always has activity, and a reset option restores it before each presentation.
Outcome
- Deployed as an interactive demo on Vercel.
- Not yet built: a database, sign-in and role permissions, Nepali (BS) dates and PDF generation.