Billing & inventory

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

01

Sales & purchase bills

Create both bill types from the same product list, with quantities, rates, and totals calculated for you.

02

Live product counting

Stock goes up on purchase bills and down on sales bills. Manual adjustments are logged with a reason.

03

Product catalog

Central list of items with SKU, unit, opening stock, and current balance—no duplicate names across bills.

04

Business reports

Daily and monthly summaries of sales, purchases, and stock movement for the owner.

05

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.