Every account, one ledger
Merge unlimited bank accounts into a single classified statement, de-duplicated by content so overlapping uploads never double up.
Statement intelligence for Indian filings
Every bank account merged, classified and de-duplicated — ready to file.
Account 1
Indian Bank
••••4821 · 412 rows
Account 2
ICICI Bank
••••7390 · 286 rows
Account 3
State Bank of India
••••1164 · 114 rows
Duplicates
0 double-counted
matched on content
Merge unlimited bank accounts into a single classified statement, de-duplicated by content so overlapping uploads never double up.
Business, Personal or Movement on one axis, a sub-head like Rent or Fuel on the other. Fuel is business or personal depending on who was paid.
Salary through Capital Gains, grouped the way a return is. Computed from your categories rather than stored beside them, so totals cannot drift.
Correct a payee once and every past and future row follows it.
EMIs, SIPs, rent and salary detected with cadence and next expected date.
React Native, same engine as the web app, so corrections carry across devices.
The classification pass
The last row reads “GST”, but it is the bank’s own fee — not a tax remittance. Telling those apart, across every payee, is most of the work.
Who it serves
The platform is organised around who you file for. Each person or business gets its own books, accounts and learned rules, held completely apart.
Professionals
Salary, professional income, rent, capital gains, and six bank accounts that have never once agreed with each other.
CA practices
Each client’s books sit under your single login, with their own accounts, classification rules and output.
NRI filers
Indian accounts, Indian rent and interest income, and a filing deadline in a timezone you left behind.
Platform
Whatever your bank exports. Header detection, day-first dates, split Dr/Cr columns and Excel serial dates are handled. PDFs decode in the browser, so the file never sits on a server.
Every row carries a head — Business, Personal or Movement — and a sub-head such as Rent or Fuel, so the two axes stay independent.
Correct a payee once and it stays corrected, across every statement already loaded and every one that arrives later. Rename a payee and the narration gibberish is gone for good.
EMIs, SIPs, rent and subscriptions outbound; salary, rent received and interest inbound. Each with cadence, monthly value and the date it is next expected.
The same ledger grouped as a return is: Salary, Business & Profession, Capital Gains, Other Sources. Derived from your categories, so the totals cannot drift.
An ATM withdrawal is money moved, not money spent. It becomes cash in hand to account for, instead of quietly double-counting against real expenses.
How it works
There is no chart of accounts to build and no mapping to configure before the first upload. The system arrives opinionated and you correct it where it is wrong — once per payee, not once per row.
The cycle
One file per account, any format the bank offers. Duplicate rows are identified by content, so re-uploading an overlapping period never doubles anything.
Payees extracted from the narration, heads and sub-heads assigned, recurring commitments detected. No setup step in between.
Anything left on a default is filtered into a single list. Set it, choose to remember, and that payee is settled for every statement you upload from then on.
Read the summaries on screen or export the full classified ledger to Excel. Next period, upload the new statement and stop at step one.
Built for the Indian return
Classify by what a transaction was and the filing view follows on its own. Because the tax grouping is computed from your categories rather than stored alongside them, your totals can never quietly disagree with your ledger.
Movement — transfers, loan receipts, redemptions, ATM cash — is held out of income and expense entirely. It is money changing pockets, and counting it is how spreadsheets end up reporting twice the income that was actually earned.
Also included
Security & data handling
Accounts are isolated at the database, and the sensitive parts of a statement are encrypted before they are ever written down.
Narrations, payees, account labels, balances and your own notes are encrypted with AES-256-GCM under a key held outside the database.
Row-level security enforces that you can only ever read your own records. Enrol an authenticator app and every sign-in requires it; idle sessions sign out after five minutes.
Download everything held about you as a single file at any time, or permanently delete all of it — statements, rules and uploads — in one action.
AI features are optional and idle unless invoked. When invoked, only the transactions needed for that answer are sent to Anthropic’s API, and they are not used to train models. Parsing, categorisation, recurring detection and the ITR lens are ordinary code that runs with no AI involved at all.
Mobile In development
Android and iOS apps are being built in React Native against the same classification engine as the web app — so a payee you correct on your laptop is already correct on your phone.
No store links yet — and no ratings to quote until there are. The web app is finished and works in a phone browser today.
The unclassified list, in your hand.
Statements arrive by email — deal with them there.
Pricing
One fee for the year’s filing, not a subscription that outlives the deadline.
Individual / Professional ₹2,500 approx. US$30, one-off |
CA / Tax practitioner ₹5,000 approx. US$60 setup, then ₹1,000 per client |
|
| Sets of books included | 1 | 1, plus any you add |
|---|---|---|
| Bank accounts per set of books | 10 | 10/entity |
| CSV, Excel and PDF ingest | ✓ | ✓ |
| Head / sub-head classification | ✓ | ✓ |
| Recurring and receipts detection | ✓ | ✓ |
| ITR reporting lens | ✓ | ✓ |
| Cash book and manual entries | ✓ | ✓ |
| Excel export, data export and delete | ✓ | ✓ |
| Authenticator-app 2FA | ✓ | ✓ |
| Per-client rule isolation | Single set of books | ✓ |
| Add more sets of books | Separate account | ₹1,000 each (approx. US$12) |
| Get started | Start with one client |
USD figures are indicative for reference only; billing is in Indian rupees. Payment is invoiced directly rather than collected by card, so there is no card form: sign up, import your first account, and settle the invoice separately. Extra sets of books are requested from inside the app and enabled once billed.
Questions
Any Indian bank export carrying a date, a narration and an amount — which is all of them. Header names, day-first dates, split Dr/Cr columns, single amount-plus-type columns and Excel serial dates are all recognised, and the parser was built against real HDFC, ICICI and Indian Bank statements rather than idealised samples.
If a layout does not parse, send it to us and it becomes a supported layout.
Not yet, and we would rather say so plainly. LekhaLens is India-first in two ways that matter: dates are read day-first, so a month-first US statement would be misread, and the reporting lens maps to ITR heads rather than anything the IRS uses.
What US-based customers use it for today is their Indian accounts — NRI and resident accounts, Indian rent and interest income, capital gains — all of which still have to be filed in India. US bank ingest and a US-side reporting view are on the roadmap, not in the product.
No, and there is nowhere to enter one. You export a statement from your bank yourself and upload the file. LekhaLens never connects to your bank, so it cannot move money and cannot see anything you did not hand it.
Most rows land correctly on the first pass, and the remainder is front-loaded: the payees you transact with repeat, so fixing one settles every past and future row for that payee. Anything still sitting on a default is collected into a single filtered list, so you are never hunting through 800 rows for the twelve that need attention.
No. AI features are optional and do nothing unless you invoke them. When you do, only the transactions needed for that answer go to Anthropic’s API, and they are not used for training. Everything else — parsing, categorisation, recurring detection, the ITR lens — is ordinary code that runs with no AI at all.
They are in development, in React Native for both Android and iOS, and there is no store link to give you yet. The web app is finished and works in a phone browser today, so nothing is waiting on them. Sign in and we will let you know.
Both, from the Profile tab, without asking anyone. Export gives you a single file containing everything held about you. Delete permanently removes your transactions, uploads, books and learned rules; your login remains, so you can start again from empty.
Nothing to configure first. Export a statement from your bank, drop it in, and read your own year.