Indian Billing Management System
Billing software for Indian businesses—sales bills, purchase bills, GST-style line items, and live product stock counting.
Sales and purchase bills with Indian business formats
Product inventory that updates as bills are created
Role-based access for owners, accountants, and staff
Background
A client running a trading and distribution business in India was still using spreadsheets and handwritten bills. Mistakes in stock counts and purchase records were common, and generating proper sales and purchase bills took too long.
The problem
They needed one place to create sales bills and purchase bills, track products, and see stock levels without double-entry errors. The system had to match how Indian businesses actually bill—line items, quantities, rates, and running inventory—not a generic invoice template from the West.
What I built
I built a web app where staff create sales and purchase bills from a shared product catalog. Every bill updates stock counts automatically. Owners get a dashboard for what sold, what was purchased, and what is low in stock. The backend validates quantities so you cannot sell more than you have on hand.
Product
Key features
Sales & purchase bills
Create both bill types from the same product list, with quantities, rates, and totals calculated for you.
Live product counting
Stock goes up on purchase bills and down on sales bills. Manual adjustments are logged with a reason.
Product catalog
Central list of items with SKU, unit, opening stock, and current balance—no duplicate names across bills.
Business reports
Daily and monthly summaries of sales, purchases, and stock movement for the owner.
User roles
Owners see everything. Staff can create bills but not change settings or delete old records.
Engineering
How it works technically
The important architectural decisions—not a laundry list of frameworks.
Backend
NestJS APIs with PostgreSQL. Bill creation runs in a transaction so stock and ledger rows stay in sync.
Frontend
Next.js with fast bill entry screens—keyboard-friendly line items so staff are not clicking all day.
Hosting
Deployed on AWS with daily backups so billing data is not lost.
Impact
Results & takeaways
Challenges solved
- Handling partial edits to old bills without breaking stock history
- Making bill entry fast enough that staff would actually use it instead of paper
- Supporting different product units (pieces, kg, boxes) in one catalog
What changed
- Replaced spreadsheet billing with a single web app
- Stock counts stay accurate as bills are entered
- Owners can see sales and purchase history without asking staff
Outcomes
Less time spent on end-of-day stock checks
Fewer mismatches between what was sold and what was on the shelf
One source of truth for products and bills
Building something similar?
Tell me what you are building—I will share how I would approach it and whether we are a good fit.