Zerodha trading journal with automatic FY tax P&L
Last updated: 29 September 2026 · by Kalmat Technologies
Kalmat pulls your Zerodha tradebook through your own Kite Connect app, prices every trade with the exact Indian charges and sorts the year into the April to March buckets your CA asks for. Dhan, Upstox, Angel One and Fyers sync the same way. Free while in beta.
The problem: a tradebook is a list, a tax P&L is a set of buckets
Console gives you a tradebook and its own reports. For a quiet year on one broker that can be enough. The gap opens when intraday, delivery and F&O share one account, when a second broker or a foreign account is in the mix, and when your CA asks for turnover and a note on losses next to the net figures. That is the weekend you lose to a spreadsheet.
Charges are the second problem. Brokerage is the line you see. STT, exchange transaction charges, SEBI fee, stamp duty and GST are the lines you pay. For an active option scalper the total can run to 10 to 30 per cent of gross profit, so a journal that stops at gross is showing you money you never received.
Kalmat is a trading journal India's equity and F&O traders can keep every day and hand over at year end. It is made in India by Kalmat Technologies and runs in the browser or as a PWA on a phone; the home page covers everything else.
How the Kite Connect journal sync works
- Your app, your key. You create a Kite Connect app in your own Zerodha developer account and paste its API key and secret into Kalmat. The app belongs to you.
- Encrypted at rest. The key and secret are stored encrypted with AES-256-GCM and are never shown back to the browser.
- One login each morning. A Kite Connect token expires each morning. You complete Zerodha's login once and Kalmat pulls the day's trades.
- Read-only. Kalmat reads the tradebook. It cannot place, modify or cancel an order on Zerodha, and the same holds for Dhan, Upstox, Angel One and Fyers.
Where the order gate applies. Kalmat's rule check that stops a bad order before the broker sees it covers orders placed from Kalmat's own Trade Ticket on MetaTrader 5. For cTrader, CSV import works today; live sync and orders are rolling out, pending Spotware's approval. The gate never applies to Indian brokers. On MT5, a blocked order goes to the Shadow Book, which follows it against live price to its would-be outcome.
Notes, tags, setup, mistakes, emotion and MAE/MFE stay attached to a trade through sync and import, so the tax report and the journal describe the same trades.
Exact charges on every trade
Every trade carries six lines of cost:
- Brokerage
- Securities transaction tax (STT)
- Exchange transaction charges
- SEBI fee
- Stamp duty
- GST
Net P&L per trade, per day and per setup starts from these. A setup that looks profitable gross shows its true cost after charges, and the net figure is what the tax buckets use.
F&O tax P&L and the other buckets your CA asks for
The report follows the Indian financial year, April to March, and every figure is net of the charges above.
| What you traded | Bucket | How Kalmat sorts it |
|---|---|---|
| Intraday equity | Speculative business income | Equity bought and sold on the same day, netted for the year. |
| Delivery equity | Short-term or long-term capital gains | Split by holding period between the buy date and the sell date. |
| F&O, commodity, currency | Non-speculative business income | Index and stock options and futures, commodity and currency contracts, netted for the year. |
| Foreign stocks, CFD, crypto | Kept apart | Shown in their own sections so an MT5 or crypto account never leaks into the Indian buckets. |
The page does not print rates or slabs, because they change and a stale number is worse than none. Your CA applies the current ones. This is informational, not tax advice.
Section 44AB turnover and the audit-threshold indicator
Turnover is computed per the ICAI guidance note. An indicator shows where your turnover sits against the audit threshold. Kalmat shows the position; the threshold itself depends on conditions that change from year to year, so the amount stays with your CA.
Loss carry-forward notes flag each bucket that ended the year in a loss. Speculative and non-speculative losses follow different set-off rules, so the notes prompt the conversation with your CA rather than settle it. This is informational, not tax advice.
CA-ready Excel export
The FY Tax P&L exports to an Excel workbook your CA can open without signing in to Kalmat. It carries the buckets, the trade-level charges and the turnover working. This is informational, not tax advice.
Dhan, Upstox, Angel One, Fyers and the CSV brokers
| Broker | How it connects | What you provide |
|---|---|---|
| Zerodha | Kite Connect API, read-only | Your own Kite Connect app key and secret, plus one login each morning. |
| Dhan, Upstox, Angel One, Fyers | Broker API, read-only | Your own API token from the broker. |
| Groww, 5paisa, ICICI Direct, HDFC Securities, Kotak | CSV import | A CSV exported from the broker. |
| Another journal | Export import | TradeZella, TraderSync, Tradervue, Edgewonk or TradesViz exports, or any spreadsheet through the manual column mapper. |
India Calendar with push alerts
RBI decisions, CPI, GDP, IIP, WPI and PMI releases, plus results dates for Nifty 50, Nifty Next 50 and the F&O list, each with a push alert so a results date does not catch a position you are holding. The calendar sits alongside market context for Indian traders such as FII/DII flows and the Nifty put/call ratio.
The journal underneath the tax report
The tax report is the year-end view. Day to day you get a Trading Score, a 0 to 100 discipline rating built from risk-reward, consistency, stop-loss usage and win rate. Rule Finder finds the rules that would have improved your results and can enforce them. Exit Lab replays your exits with MFE and MAE. The Psychology card and tilt meter, Trade Replay on real charts, Report Builder, Mentor Spaces and a Daily Journal page round it out.
Sign-in has two-factor authentication and a new-device email, broker keys are encrypted and you can delete your account yourself. Dark, light and ultra-dark themes. No native mobile app yet; the PWA is the phone experience.
If you also run a prop-firm challenge on MT5, the prop-firm journal page covers the rule engine and Breach Horizon. For a plain comparison against a larger, older journal, read Kalmat vs TradeZella.
Plans
Everything is free while Kalmat is in beta, with no card. When billing opens, Journal is ₹0, Pro is ₹599 a month (about $6) and Elite is ₹1,499 a month (about $16). Indian broker sync sits in Pro; the manual journal and CSV import are in Journal. The pricing page lists each plan in full.
Frequently asked questions
Why does Kalmat ask me to log in to Zerodha every morning?
A Kite Connect access token expires each morning. Kalmat keeps your app key and secret encrypted, but it cannot obtain a new day's token without you completing Zerodha's login. Once you do, the day's trades sync.
Can Kalmat place orders on Zerodha or any Indian broker?
No. The Kite Connect sync is read-only, and Kalmat cannot place, modify or cancel orders on Zerodha, Dhan, Upstox, Angel One or Fyers. Kalmat's order gate covers orders placed from its own Trade Ticket on MetaTrader 5, and cTrader once its live sync and orders finish rolling out, pending Spotware's approval.
Can I file from the FY Tax P&L directly?
Treat it as the working your CA starts from. It sorts trades into the buckets, computes turnover per the ICAI guidance note, shows the audit-threshold indicator and exports to Excel. Your CA confirms the treatment and files. This is informational, not tax advice.
I trade on Groww or ICICI Direct as well. Does that work?
Yes, through CSV import. Groww, 5paisa, ICICI Direct, HDFC Securities and Kotak import from a CSV, and Dhan, Upstox, Angel One and Fyers sync through their APIs with your own token. The FY Tax P&L is built from every Indian trade in the journal, whichever broker it came from.
Start free Free while we're in beta. No card needed.