Tradelyser Logo

Zerodha Trading Journal — Auto-Sync Kite Trades to TradeLyser

Zerodha trading journal for Indian traders — connect Kite via OAuth, sync cash, MIS, and F&O fills, and review with strategy tags without Sunday spreadsheet chores.

Updated 2026-06-05

Key takeaways

  • Kite OAuth connects read-only — re-auth when TradeLyser prompts, especially before weekly review.
  • Sync covers CNC, MIS, and F&O fills with charges; tag MIS vs NRML separately for honest expectancy.
  • Console CSV backfills gaps; dedupe against synced rows to avoid double counting.
  • Verify each session’s import against Kite order book before strategy tagging.
  • F&O expiry context is manual — Kite fills do not carry expiry-week labels.

Zerodha is the default broker for many Indian retail traders — Kite for execution, Console for tax and contract notes, and a large F&O book on NSE and BSE. TradeLyser connects through Kite OAuth so your journal starts from executed orders and charges, not from memory or a Sunday CSV marathon. This guide covers how Zerodha sync works in TradeLyser: authorising Kite, what lands in your journal from cash, intraday MIS, and F&O segments, where Console exports still matter, and the quirks that cause duplicate or missing rows if you ignore them. If you are new to journaling, read What Is TradeLyser? first; F&O-heavy books should also review NSE F&O journal guide before relying on sync alone.

Why Zerodha traders use TradeLyser

Kite is fast and minimal — which is excellent for execution and terrible for long-term review. Zerodha does not give you strategy tags, discipline scores, or expiry-week filters out of the box. Contract notes and Console tax P&L answer compliance questions; they do not tell you whether your Nifty opening-range breakout improved after you tightened size. TradeLyser pulls trade history via the same Kite API ecosystem Zerodha exposes to authorised apps, then layers journaling, strategy board analytics, and weekly review on top. Auto-sync details live on Auto-sync; the journaling product overview at Journaling product explains how synced trades feed reports. Full broker list and status: Supported brokers.

Connect Zerodha (Kite OAuth)

Connection is OAuth through Kite — you log in with your Zerodha credentials inside TradeLyser, approve read access, and TradeLyser stores a secure token to pull trades on schedule. You do not share your password with TradeLyser; you authorise the integration the same way you would any Kite-connected tool.

  • Open TradeLyser → Settings → Broker connections (or start from Supported brokers and choose Zerodha).
  • Tap Connect Zerodha — you are redirected to Kite login.
  • Enter Client ID and password; complete 2FA (TOTP or SMS as configured on your account).
  • Approve the permission screen — read-only trade and order history is sufficient for journaling.
  • Return to TradeLyser; wait for the first historical import (range depends on account age and API limits).
  • Verify trade count against Kite order book for the last session before tagging strategies.

If OAuth fails, check that F&O and equity segments are enabled on the same Client ID you use on Kite mobile. Sub-accounts or closed segments sometimes connect but import empty history — confirm active segments in Console before retrying.

What syncs: cash, intraday, and F&O on Kite

TradeLyser imports executed trades from your Zerodha account with symbol, quantity, side, timestamp, product type, and associated charges where the API provides them. Segment behaviour matters for how you filter reviews.

SegmentKite product examplesWhat lands in TradeLyser
Cash equity (CNC)Delivery buys and sellsFull fills with charges; hold duration visible for swing vs investment tags
Intraday (MIS)MIS equity and index intradaySame-day round trips; auto square-off near session end appears as separate exit fills
F&O — futuresNRML / MIS index and stock futuresContract month, lot qty, side; NRML overnight vs MIS intraday should be filtered separately in review
F&O — optionsNRML / MIS CE and PEStrike, expiry, option type; multi-leg spreads may arrive as leg fills — tag the playbook, not just the symbol

Partial fills and scale-outs import as multiple rows — that is correct. Do not merge them manually unless you intentionally want one journal line per decision; most traders tag all legs of one planned trade with the same strategy tag. Bracket orders (BO) and cover orders (CO) still resolve to executed child fills in Kite; sync follows executions, not parent order IDs.

Zerodha-specific quirks

  • Kite API token expiry: OAuth sessions expire; TradeLyser prompts re-auth when pulls fail — reconnect before week-end review, not after you notice missing Monday trades.
  • Console vs Kite timing: contract notes post after settlement; sync is faster for daily journaling. Use contract notes for tax reconciliation, not for same-day tags.
  • MIS auto square-off: forced exits near 3:20 p.m. look like normal sells — mark discipline if your plan was hold-through-close and broker squared you.
  • Corporate actions and demerger symbols: occasional symbol renames can split history — note the event in journal when comparing long backtests.
  • Multiple devices on Kite: syncing does not care which device placed the order; only Client ID matters.
  • GTT and AMO fills: import when executed; session tag may differ from when you placed the order — note pre-market intent in daily journal.

Zerodha Console CSV exports remain the authoritative backup for annual tax filing and auditor requests. TradeLyser sync is optimised for ongoing journal hygiene, not replacing Console’s contract-note archive.

CSV fallback: Console and contract notes

When OAuth is temporarily unavailable or you need a closed-book import before API history reaches back far enough, use Zerodha Console trade reports or contract-note CSV. Download from Console → Reports → Tradebook or contract note bundle for the date range. Import via TradeLyser CSV flow (see Auto-sync for import entry points). Map columns to symbol, date, quantity, price, and charges; dedupe against existing synced rows by matching order timestamp and symbol.

Contract notes are PDF-first for compliance but CSV tradebook exports are easier for bulk backfill. After CSV import, run one session with live OAuth so future trades stay automatic — hybrid weeks breed duplicate rows if you forget which days were manual.

TradeLyser workflow with Zerodha

  • Post-market (same day): confirm sync completed; scan for missing sessions vs Kite order book.
  • Tag each trade to one strategy on the strategy board — opening drive, swing CNC, Nifty expiry iron condor, etc.
  • Add violation flags before closing the laptop: oversize, revenge, off-plan underlying.
  • Daily journal: one paragraph on best and worst trade; link to Journaling product for discipline fields.
  • Friday weekly review: filter MIS vs NRML, split Nifty from Bank Nifty, read net P&L after synced charges.
  • Monthly: spot-check a random day against Console contract note totals for fee drift.

F&O traders should treat expiry weeks as separate tags — Kite does not label “expiry day” on fills; you add session context sync cannot infer. Connect once, re-auth when prompted, and let sync remove the friction that stops Zerodha users from journaling consistently.

Common mistakes with Zerodha + TradeLyser

  • Tagging before verifying import — wrong strategy on ten trades corrupts a month of expectancy.
  • Mixing MIS scalps with NRML swings in one tag because the symbol name matches.
  • Ignoring re-auth prompts until a green week “disappears” from reports.
  • Importing Console CSV on top of synced days without deduping — double count inflates trade count.
  • Using gross P&L from Kite screenshots while synced data includes net charges — compare apples to apples.
  • Skipping no-trade days — flat days when you respected max loss are valuable discipline data.

FAQ

Does TradeLyser store my Zerodha password?

No. Connection uses Kite OAuth — you log in on Zerodha’s page and approve read access. TradeLyser stores a token to pull trades, not your password.

Will MIS auto square-off trades import correctly?

Yes. Forced square-offs appear as exit fills with normal timestamps. Mark in discipline notes if the exit was broker-forced vs your planned stop.

How far back does Zerodha sync go?

Initial backfill depth depends on Kite API limits and account history. For older books, use Console tradebook CSV import then keep OAuth for ongoing sessions.

Can I use contract notes instead of sync?

Contract notes and Console CSV work for backfill and tax reconciliation, but OAuth sync is better for daily journaling consistency. See Auto-sync for CSV import.

Does sync include F&O charges and STT?

Synced rows include charges when the API provides them. Review net P&L in TradeLyser for F&O — gross screenshots from Kite understate churn costs.

I trade on Kite mobile and web — does it matter?

No. Sync is tied to your Client ID, not the device. All executed orders on that ID import on the next pull.

All broker setup guides →·Supported brokers listing →·Auto-sync feature →

Start journaling with TradeLyser

Connect your broker, tag strategies, and review performance with AI-assisted insights.