A tenant billing system that took 2 days to build and 3 months to get anyone to actually use.
Digital Khata is a full-stack tenant billing and property management system built for a real-world sub-metered electricity setup with four rental units on one shared LESCO meter.
The Problem
Every month, the landlord manually calculated each tenant's electricity bill using a calculator and a notebook, then handed out paper slips. The process worked — but it didn't have to be manual.
What It Does
Digital Khata automates the entire billing pipeline:
- Accepts sub-meter readings for each unit
- Scrapes the main LESCO bill to calculate the per-unit split rate automatically
- Generates itemized invoices per tenant (electricity + motor charges)
- Dispatches invoices via WhatsApp in two formats: plain text or a hand-drawn sketch card
- Tracks payment status per invoice (Sent, Delivered, Read, Paid)
- Manages rent collection with arrears tracking
- Splits shared gas bills proportionally across participating units
- Reconciles sub-meter sum against the main LESCO reading with variance gap flagging
Tech Stack
Built with Next.js frontend, NestJS backend, PostgreSQL with Prisma ORM, Redis for caching, and WhatsApp Web.js for automated dispatch. Deployed on Oracle Cloud ARM via Coolify with Traefik reverse proxy.
The Real Story
The system was built in two days. It took three months before all four tenants received their bills digitally. The pipeline was never broken. Adoption was the hard part.