Why I built Khaata

खाता — pronounced /kʰaː.taː/ . Hindi for ledger or account book.

I started trading in 2022 — mostly small equity bets placed through INDmoney during boring meetings. A few months in, I added Groww for F&O, and eventually Zerodha for intraday. Three apps, three dashboards, three different ways of telling me how my money was doing. None of them agreed with each other.

INDmoney would show me a P&L number that didn't match what I calculated manually. Groww's analytics were basically a flat list of transactions. Zerodha's console was powerful but only cared about trades placed on Zerodha. I wanted one answer to a simple question: across everything I've traded, am I actually making money?

So I did what every developer does — I opened a spreadsheet. I started copy-pasting trades, manually matching buys to sells, calculating holding periods, tracking win rates. It worked for about two weeks before it became a nightmare. Partial fills broke the formulas. FNO expiries needed special handling. I spent more time maintaining the sheet than actually reviewing my trades.

The moment it clicked

One evening I was staring at 47 rows in my spreadsheet, trying to figure out my average cost basis on a stock I'd bought in three tranches and sold in two. That's when it hit me — this is just FIFO matching. It's a well-defined algorithm. Every broker already has this data in their transaction exports. Why am I doing this by hand?

I wrote a quick script that parsed my INDmoney export, matched buys to sells using FIFO with partial fill support, and spat out a clean trade log. In ten minutes I had a clearer picture of my performance than three months of spreadsheet work had given me.

From script to product

That script became a CLI tool. The CLI became a web app. The web app became Khaata.

Khaata dashboard showing P&L analytics, cumulative charts, and trade metrics

I kept adding the things I wished existed — a calendar heatmap so I could see which days I traded well and which days I should've stayed out. Win rate and profit factor broken down by segment so I could see that my equity picks were solid but my FNO bets were bleeding me. Drawdown analysis so I could understand my worst streaks. Kelly criterion and Monte Carlo simulations so I could stress-test my strategy before sizing up.

Every feature in Khaata exists because I personally needed it. No feature exists because it looked good on a marketing page.

Why it's free

I built this for myself first. Turning it into a product was just the natural next step — clean it up, make it work for Groww and Zerodha exports too, and put it out there. I don't run ads, I don't sell data, and I don't plan to. Your trades stay yours.

If you're an Indian retail trader who's tired of fragmented analytics and spreadsheet gymnastics, I think you'll like what I've built. And if something's missing or broken, tell me — I'm still the guy using this every week to review my own trades.

Pranay