Grab Scrip, Charges, and Net Total from a Zerodha Contract Note Screenshot
Manually copying STT, brokerage, stamp duty, exchange charges, SEBI fee, and GST from each Zerodha contract note takes 5+ minutes per trade — this reads all eight charge line items in about 5 seconds, charge by charge.
5-10s per screenshot · Up to 99% accuracy on printed text
What You Can Pull from a Zerodha Contract Note Screenshot
With Custom Column Extraction, you name each field and the AI reads every regulatory charge by its label — STT is not stamp duty, and GST is not a turnover charge.
Each scrip has its ISIN code and exchange (NSE/BSE). The AI reads both from the contract note's trade table.
The contract note shows the weighted average across all fills, not a single price. The AI identifies WAP from the trade table.
Shares or contracts traded per scrip. DP charges indicate a delivery trade; their absence signals intraday.
STT, brokerage, stamp duty, exchange turnover, SEBI fee, GST — each itemised. The AI reads each by regulatory label.
Brackets mean you pay; no brackets means you receive. The AI preserves this convention with negative values for payable.
Why a Zerodha Contract Note Breaks a US-Focused Extraction Tool
A Zerodha contract note isn't a simple trade receipt — it's a SEBI-mandated regulatory document carrying eight charge line items, bracket-based sign conventions, and trade-segment-specific fee structures. A tool built for US trade confirmations has never seen any of this.
Eight Charges Per Trade — One Block of Numbers
The contract note lists STT, brokerage, stamp duty, exchange turnover charges, SEBI turnover fee, and GST in a dense charges table. A traditional OCR dumps them as one block of scattered figures — it can't tell which charge is ₹0.02% and which is 18% without understanding India's regulatory structure.
Bracket Notation Says Who Pays
In SEBI-mandated format, an amount in brackets means the client pays; no brackets means the client receives. A US-focused tool has never encountered this convention and outputs the sign backwards — turning a payable into a receivable in your spreadsheet.
Delivery vs Intraday — Different Fee Rules
The same scrip incurs different charges depending on trade segment. Delivery trades carry DP charges (₹15.93 + GST); intraday and F&O trades don't. A tool that doesn't know this distinction can't assign the correct charge structure to each row.
Each Charge Has Its Own Column
Define columns for STT, Brokerage, Stamp Duty, Exchange Turnover, SEBI Fee, and GST. The AI maps each regulatory charge by its label — it knows STT is not stamp duty because it reads the meaning, not the pixel position. Eight line items, eight columns, one trade.
Sign Convention Preserved in Output
The AI reads the bracket notation and outputs payable amounts as negative values and receivable amounts as positive values. Your spreadsheet already shows the correct sign — no manual adjustment per trade.
Segment-Aware Assignment
Add a Trade Type column and the AI identifies each row as delivery, intraday, or F&O by the fee structure present. DP charges present = delivery; no DP charges = intraday or F&O. The output is already segmented, ready for tax treatment that differs by trade type.
As one trader on r/NSEbets put it: "No trade journal software catered to Indian traders. So I built one for us. Import trades via Excel from Zerodha, Upstox, and Groww." — the extraction step eliminates the manual entry that inspired that build.
From a Contract Note Screenshot to Your Tax Spreadsheet
If you're consolidating Zerodha contract note data into your trade journal or tax records — whether it's from the Kite app's virtual contract note view or the full PDF — here's what the extraction workflow looks like:
Upload the Contract Note Screenshot
Drop the screenshot of your Zerodha contract note — whether it's the in-app virtual contract note from Kite, the full PDF emailed from Console, or a screenshot of the physical document. PNG, JPG, or PDF. One file or a batch of 50 trades across multiple trading days.
Name Your Tax Columns
Define the fields your records need: Scrip, ISIN, Exchange, Quantity, WAP, STT, Brokerage, Stamp Duty, GST, Net Total, Trade Type. Add a Computed Column like Total Cost (Net Total + GST) if your tax calculation needs the all-in figure. The AI reads each charge line item by its regulatory label — no per-line-item configuration.
Export a Tax-Ready Spreadsheet
Processing takes about 5-10 seconds per contract note page. The output is one XLSX or CSV file with a row per trade scrip, your columns as headers, and each charge item in its own column. Export directly to Excel for your tax preparer, or send to Google Sheets via the add-on. One screenshot, one row, no manual typing of eight charge items per trade.
When Zerodha Contract Note Extraction Works Best — and When It Doesn't
When It Works Best
Clear screenshots from the Kite app or Console PDF. Machine-rendered trade data reaches up to 99% field accuracy for scrip names, quantities, and WAP.
Batch cross-platform consolidation. The same column definitions extract from Zerodha, Groww, Robinhood, and Coinbase — India-specific columns populate only where they apply.
Full PDF contract notes from Console. The complete regulatory document provides the most reliable charge breakdown and ISIN data.
When to Be Cautious
Virtual contract note screenshots from the Kite app. The virtual contract note shows approximate charges, not exact — the figures differ from the official contract note emailed by Zerodha. Always use the full contract note for tax records or trade journal reconciliation.
Compressed images forwarded through messaging apps. Small charge figures — especially SEBI turnover fees (₹10/crore) and stamp duty percentages — may degrade in resolution. Spot-check these values against the original PDF.
Physical printed contract notes photographed by phone. Lighting angles and page curvature can distort small charge items near the document edge. For these, the full emailed PDF is more reliable than a phone photo.
Frequently Asked Questions
Can I extract STT, Brokerage, and GST separately from a Zerodha contract note screenshot?
Yes. Define columns for STT, Brokerage, Stamp Duty, Exchange Turnover Charges, SEBI Fee, GST, and DP Charges. The AI reads each charge by its regulatory label, not by pixel position. STT at 0.1% for delivery or 0.025% for intraday is distinguished from stamp duty at state-specific rates. Each line item lands in its own column.
How does the tool handle the bracket notation for the Net Total — payable vs receivable?
In the SEBI-mandated format, brackets around an amount mean the client pays; no brackets means the client receives. The AI reads this convention directly — bracketed amounts are extracted as negative values, and unbracketed amounts as positive values. This applies to both the Pay-in/Pay-out obligation line and the net total. Your spreadsheet shows the correct sign from the moment of export.
Can I batch Zerodha contract note screenshots with Robinhood or Coinbase confirmations in one export?
Yes. Define one set of column names — Scrip, Quantity, Price, Net Total — and the AI processes Zerodha contract notes alongside Robinhood, Coinbase, and Binance screenshots in a single batch. Each screenshot becomes one row regardless of platform. India-specific columns (STT, Stamp Duty, GST, ISIN) populate for Zerodha and remain empty for US broker confirmations. One unified spreadsheet with no manual sorting by platform.
What if my screenshot is from the Kite app's 'Virtual contract note' instead of the full PDF?
The virtual contract note in the Kite app shows approximate charges — not the exact figures on the official contract note emailed by Zerodha. The AI extracts whatever is visible on the screenshot, so you get usable numbers from either version. For tax filing or trade journal reconciliation, use the full contract note downloaded from Console or received by email. The virtual note is fine for a quick daily overview.
Can the AI tell whether a trade is delivery, intraday, or F&O from the contract note screenshot?
Yes. Add a Trade Type column and the AI identifies the segment by fee structure. Delivery trades include DP charges (₹15.93 + GST) and incur STT on both buy and sell sides at 0.1%. Intraday trades lack DP charges and pay STT only on the sell side at 0.025%. F&O trades follow a different rate structure. The AI reads these patterns automatically — no manual trade type marking needed. Having this segmentation in your spreadsheet saves significant work at filing time since delivery and intraday are taxed differently under Indian income tax rules. For a deeper walkthrough, see the Trading & Investment Screenshots hub.
Deep dives into trading and investment screenshot extraction: General screenshot extraction guide with a dedicated trading and investment logs section
For extracting data from other trading platforms in the same batch, see the Trading & Investment Screenshots hub — covers Robinhood, Coinbase, Binance, Webull, eToro, Zerodha, Groww, XP, and NuInvest.