← All work

Case study · Internal tool · In daily use

Padma ERP

Orders for Padma Lights arrive on WhatsApp, calls and email. I built the order desk that tracks each one from first message to delivery, and what every customer still owes.

Diagram of the order flow in the Padma ERP, from lead to delivered

Status: Private and in daily use. It holds real customer and payment data, so this page shows how it works rather than screenshots.

Problem

Orders, advances and balances lived in chat threads and spreadsheets. Nobody could say at a glance who owed what, or which order was waiting on what.

What I built

  • Orders from quote to delivered, with payments and a timeline
  • Customer ledgers with outstanding balances
  • A printable one-page A4 proforma
  • A lead pipeline with follow-up dates

Current state

  • Runs on one PC, used from phones on the home Wi-Fi
  • An Android launcher app
  • A product and price editor that publishes to padmalights.com

My role

Product, back end and front end. I worked out the rules from the business's own invoices: how packing and transport are charged, how GST splits inside and outside the state, and how proformas are numbered.

The detail that matters

When an order is put on hold or cancelled, the matching ledger entry is reversed. Without that, the outstanding balance drifts and nobody trusts the numbers. With it, the ledger always agrees with the orders.

Stack and process

FastAPI, SQLAlchemy and SQLite on the back end; React, TypeScript, Tailwind and Vite on the front end, served by one process. A Capacitor launcher for Android. Built with Claude and Cursor; I own the rules, the data and the checks.

Let's talk