Finance · bank statement analysis

Bank statements in. Reconciled books and a client-ready summary out.

For CA firms and finance teams that receive bank statements from customers every month. OpenAnalyst reads the statement, decides the ledger for every line, sends the client only the questions a person must answer, and prepares the reconciliation and the Tally import. Nothing posts without your approval.

Runs on your machine with your own API key. Files stay with the firm; only the transaction text needed for categorisation goes to your model provider under your key, or to a local model with nothing leaving the office.

The month, before and after

The same statement, without the copy-typing.

How the month runs today

  • Statements arrive as PDFs on WhatsApp, three banks per client, 200 to 600 lines each
  • An article assistant retypes or copy-pastes into Excel, then guesses ledgers from narrations
  • Questions to the client pile up until month end, then arrive as one long message
  • The BRS is built by hand and the difference is chased line by line
  • Tally entries are typed a second time

How it runs with OpenAnalyst

  • Statement dropped into the client folder as received; the original is never edited
  • Every line gets a ledger from masters, rules or the model, with the source line named
  • Only the lines a person must decide reach the client, as one WhatsApp question each, as they happen
  • BRS prepared with every difference named; the review owner approves
  • Tally-ready CSV and a four-number summary on WhatsApp
Setting up the file

One folder per client. Three small files teach the workflow.

The statement never changes. Every output sits beside it with the same name, so any number can be traced back to its line.

Folder layout

The client code is the folder. One folder per bank account. Month stems match across statement, categorised file, exceptions, BRS and summary.

clients/
  SPPL/                        client code
    bank/
      demo-bank-4471/          one per account
        2026-08.csv               statement as received
        2026-08.categorised.csv   every line with a ledger
        2026-08.exceptions.csv    questions for the client
        2026-08.brs.csv           books vs bank
    setup/
      bank-format-map.csv
      category-rules.csv
      masters.csv
    reports/
      2026-08-summary.md

bank-format-map.csv

Which statement column is the date, the narration, the reference, debit, credit, balance, and how to parse each. One row per bank format. Tested on one statement: dates parse, debit and credit never both filled, the running balance matches every line.

CSV

masters.csv

Customers, vendors, lenders and utilities from the Tally ledger export, with the narration pattern the bank prints for each and the GSTIN. Masters decide most lines before any rule or model runs.

CSV

category-rules.csv

Narration pattern → category, ledger and status. Eighteen rules cover statutory payments, EMIs, payroll, charges, returns, cash and owner narrations. Every answered question becomes a new rule.

CSV
How it does that

Five steps. Rules decide what they can, the model suggests the rest, a person approves.

1 · IngestStatement to lines

CSV, Excel or text PDF read with the bank's format map. Scanned PDFs go through OCR set up in the pack. Output: date, narration, reference, debit, credit, balance per line.

Automation
2 · CheckRunning balance

Opening balance plus credits minus debits must equal every closing balance. A break stops the run and names the line, so a bad parse never reaches the books.

Automation
3 · CategoriseMasters, rules, then the model

Names from masters first, rules second. Whatever is left goes to your model with the narration, amount, direction and ledger list. It returns a ledger and a confidence. Below 0.90 it is marked review.

RulesAI suggests
4 · ReconcileBooks versus bank

Lines matched to the Tally ledger export by amount, date and reference. Unmatched lines become BRS items with a name. The difference is explained to the rupee or stays open.

AutomationReview owner
5 · Ask and approveClient questions, then import

Lines marked ask go to the client on WhatsApp, one question each, in their language. Answers are written back with name and time. The review owner approves; only approved lines go into the Tally CSV.

ClientReview owner
Sample run · fictional data

Twenty-nine lines from Demo Bank, August 2026, categorised.

Demo Client, Shree Packaging Pvt Ltd, is invented. The narrations follow the formats Indian banks print. Categories come from the kit's masters and rules plus prepared model suggestions; this page does not call a model.

2026-08.categorised.csvOpening balance ₹4,82,310.50 · running-balance check passed on 29 of 29 lines
#DateNarrationDebitCreditCategory · ledgerHowStatus · note
101-08NEFT CR-DEMO0001234-SHREE TRADERS-INV 2041₹48,000Customer receiptShree Traders (Sundry Debtors)R12 · mastersautoInvoice 2041 named in narration
201-08UPI/DR/2218/AMAZON PAY/OFFICE SUPPLIES−3,540Office expenseOffice SuppliesAI 0.86reviewMarketplace payment; needs the bill for GST input
302-08IMPS/P2A/VIKAS ENTERPRISES/ADV₹1,20,000Customer advanceVikas Enterprises (Sundry Debtors)R12 · mastersautoADV in narration; book as advance, not sale
403-08ACH DR-DEMO HOUSING FIN-EMI 4471−38,420Loan EMITerm Loan · Demo Housing FinR05autoSplit principal and interest at month close
503-08CHQ 000412 RAJ STEEL SUPPLIERS−2,15,000Vendor paymentRaj Steel Suppliers (Sundry Creditors)R12 · mastersautoCheque 000412
605-08GST PMT-CPIN 26080012345−84,116Statutory · GSTGST PayableR01autoCPIN captured
706-08UPI/CR/9911/RAMESH KUMAR/ORDER 118₹12,500Customer receiptRamesh Kumar (Sundry Debtors)AI 0.78reviewOrder 118 not in the invoice register
806-08CHQ DEP 000512 MEHTA AGENCIES₹65,000Customer receiptMehta Agencies (Sundry Debtors)R12 · mastersautoCheque 000512 deposited
907-08INWARD CHQ 000512 MEHTA AGENCIES RETURNED-INSUFF FUNDS−65,000Cheque returnMehta Agencies (Sundry Debtors)R15ask clientReverse the receipt; ask the client for the replacement
1007-08CHQ RETURN CHG-INWARD 000512−590Bank chargesBank Charges · cheque returnR07ask clientRecover from customer? client decides
1108-08NEFT CR-DEMO0004321-PATEL TEXTILES₹2,36,500Customer receiptPatel Textiles (Sundry Debtors)R12 · mastersask clientNo invoice reference; three open invoices
1209-08TDS PMT 26Q CHALLAN 0088−14,200Statutory · TDSTDS PayableR02autoChallan 0088
1310-08UPI/DR/3310/SWIGGY/STAFF LUNCH−1,260Staff welfareStaff WelfareAI 0.81reviewSmall; confirm expense head
1411-08NEFT DR-ARJUN LOGISTICS-FREIGHT JUL−42,300FreightFreight Outward · Arjun LogisticsR12 · mastersautoJuly freight, bill 0719
1512-08IMPS/P2A/SHREE TRADERS/INV 2041₹48,000Customer receiptShree Traders (Sundry Debtors)R12 · mastersask clientSame invoice 2041 as line 1; duplicate or INV 2049?
1613-08BANK CHARGES-NEFT-JUL−236Bank chargesBank ChargesR07auto
1714-08UPI/CR/4402/UNKNOWN/PAYMENT₹9,999Unidentified receiptSuspenseR16ask clientNo payer name; ask the client
1815-08ACH DR-DEMO INSURANCE-FIRE POLICY−18,750InsuranceInsurance · Fire policyR09autoPrepaid; spread over 12 months at close
1918-08NEFT DR-RAJ STEEL SUPPLIERS-PO 218−1,84,000Vendor paymentRaj Steel Suppliers (Sundry Creditors)R12 · mastersautoPO 218 matched to purchase register
2019-08CASH DEP-BRANCH 0442₹2,10,000Cash depositCashR17ask clientAbove ₹2,00,000; source and cash sales receipts needed
2120-08UPI/DR/5521/DEMO ELECTRICITY BOARD/BILL−27,430PowerElectricity · Demo Electricity BoardR10auto
2222-08NEFT CR-DEMO0007710-VIKAS ENTERPRISES-INV 2050₹88,000Customer receiptVikas Enterprises (Sundry Debtors)R12 · mastersautoInvoice 2050; advance from line 3 to adjust
2325-08EMI DEMO VEHICLE FIN 90021−22,100Loan EMIVehicle Loan · Demo Vehicle FinR05auto
2428-08NEFT DR-SALARY AUG-12 EMP−3,42,000PayrollSalariesR03auto12 employees; matches payroll register
2529-08PF ECR PMT AUG−41,040PayrollPF PayableR04autoECR August
2630-08INT CREDIT SB₹1,214Interest incomeInterest on SBR08autoBook in bank ledger
2731-08SMS CHG Q2−18Bank chargesBank ChargesR07auto
2831-08NEFT CR-DEMO0009988-MEHTA AGENCIES-CHQ REPL 512₹65,000Customer receiptMehta Agencies (Sundry Debtors)R12 · mastersreviewReplacement for returned cheque 512; link to line 9
2931-08UPI/DR/6610/OWNER-A SHARMA/PERSONAL−15,000Drawings?Owner Current AccountR18ask clientPersonal narration; drawings or reimbursable?
Inflow₹9,04,213
Outflow₹11,15,000
Closing per bank₹2,71,523.50
Decided without a person18 of 29

How column: R = rule number from category-rules.csv · masters = name matched in masters.csv · AI = model suggestion with its confidence. Download: statement · categorised · exceptions · BRS.

Ask client · 6 questions
Line 9₹65,000

Cheque 000512 from Mehta Agencies returned, charges ₹590 on line 10.

Then: Reverse receipt, link replacement, decide on charges

Line 11₹2,36,500

Patel Textiles paid ₹2,36,500 with no invoice reference. Open invoices: 2038 ₹1,12,500, 2044 ₹84,000, 2047 ₹40,000.

Then: Confirm allocation, then match

Line 15₹48,000

Shree Traders paid ₹48,000 against INV 2041 twice (lines 1 and 15).

Then: Confirm second invoice or raise refund

Line 17₹9,999

UPI credit of ₹9,999 with no payer name.

Then: Identify payer; else park in suspense

Line 20₹2,10,000

Cash deposit of ₹2,10,000 at branch 0442, above the ₹2,00,000 review threshold.

Then: Collect cash sales receipts before booking

Line 29₹15,000

UPI debit of ₹15,000 with a personal narration.

Then: Owner decides: drawings or expense with bill

What the client receives · 1 September, 9:00
Shree Packaging · Aug 2026 bank summary
Inflow ₹9,04,213 · Outflow ₹11,15,000
Closing per bank ₹2,71,523.50; books ₹3,35,917.50: 4 reconciling items, all named.
GST paid ₹84,116 · TDS ₹14,200 · EMIs ₹60,520 · Salary and PF ₹3,83,040
18 lines booked, 4 under review, 7 need your word. Questions follow one by one.09:00 ✓✓
BRS · books to bank
Balance as per books₹3,35,917.50
Cheque 000512 returned, not yet reversed in books−₹65,000
Cheque return charges−₹590
Interest credited by bank₹1,214
SMS charges−₹18
Balance as per bank₹2,71,523.50
Set up AI and automation

Seven steps. About two and a half hours for the first client, under an hour for each next one.

Times are typical for a client with two bank accounts and a Tally ledger export. Steps 1 to 5 are done once with a person at the keyboard. Step 6 is where the automation switches on.

Install OpenAnalyst and choose your AI provider

Mac or Windows on the firm's machine. Gemini, OpenAI or Anthropic key, or Ollama for a local model. Desktop app access is free and needs no card. Pick a small model for categorisation; it is a classification job, not a reasoning job.

15 minFirm · once
Create the client folder from the finance kit

Copy the folder layout, the format map, the rules and the masters template. Fill the setup sheet: banks, who sends statements, review owner, client contact, cash threshold, confidence threshold.

10 minFirm · per client
Map the bank format on one statement

Point each field at its column. Run the ingest. The running-balance check must pass on every line before you continue; if it breaks, the map is wrong, not the bank.

20 minFirm · per bank format
Load masters from the Tally ledger export

Export ledgers from Tally Prime to Excel, paste names and groups into masters.csv, add the narration pattern the bank prints for each party. This one file decides most lines.

20 minFirm · per client
First run, then review twenty exceptions together

Run last month's statement. Sit with the review owner and clear the review and ask queues. Every answer that will repeat becomes a rule. Send the client their first questions so they learn the format.

45 minFirm + client · once
Switch on the automation

Folder watch: a new statement in the bank folder starts the run. WhatsApp: questions go to the client as they are found; the four-number summary goes on the 1st at 9:00. Approval gate: the Tally CSV is written only from lines the review owner approved. Log: every decision with name and time.

15 minFirm · per client
Monthly close with the checklist

Running-balance passed, ask queue empty, review queue empty, BRS explained to the rupee, approval logged, Tally import log saved, summary sent. Recurring items: EMI splits, prepaid insurance, advances adjusted against invoices.

30 minFirm · per month
Controls a finance team asks about

Nothing posts without a name and a time.

Data path

Statements stay on the firm's machine or server. The model receives narration text, amount and direction for the lines rules could not decide, under your key. Clients whose data must not leave the office run a local model through Ollama.

Approval gate

Auto means decided, not posted. The Tally CSV is generated only from lines the review owner approved. The approval, the approver and the time are written into the categorised file.

Traceability

Every output names the statement line it came from. The BRS names the line for every reconciling item. The exceptions file keeps the client's answer beside the question.

Thresholds you set

Cash deposit review threshold, model confidence threshold, and the list of narrations that always go to the client: returns, cash, unknown payers, owner payments, duplicate invoice numbers.

Open code

The categorisation and reconciliation templates are open-source code the firm can read and change. No black box between the statement and the ledger.

What it is not

Not a GST filing tool, not a lending decision, not an audit opinion. It prepares the books and the questions; the firm signs.

Ready today
  • Setup kit: folder layout, format map, rules, masters template, five worksheets
  • Sample run on fictional data with the exact output formats
  • Starter download with your own key; WhatsApp connector; Tally CSV import
Built with you during setup
  • Your banks' format maps and OCR for scanned statements
  • Your clients' masters and rules, tuned on the first month
  • The folder watch, WhatsApp question flow and approval gate switched on for each client
What it costs a firm

Free desktop. Pro includes all Pro features and Cloud for ₹2,000/month. A fixed-scope pack if you want the first clients set up with you.

Desktop

FreeWindows and Mac · no card required

Runs on the firm's machine. Any number of client folders. Your own API key pays for the AI; a month of categorisation for a client is a few rupees of model usage on a small model.

Get started free

Pro

₹2,000per month · all Pro features and Cloud

New bank format maps, rule packs and the WhatsApp question and summary templates as they improve. Priority support on WhatsApp for the review owner.

See pricing

Setup pack · Finance firm

₹60,00030 hours · 30 days validity · up to five clients · remote

Steps 1 to 6 done with you for up to five clients: bank formats mapped, masters, rules tuned on one month of statements, WhatsApp questions, BRS, automation on. New customers 15% off the first pack. Smaller: Starter 10 hours ₹25,000 for one client; Self-setup 5 hours ₹10,000. Full scope in the scope document.

Setup pack prices in INR, excl. 18% GST. Setup payments by UPI, card or bank transfer; GST invoice from OpenAnalyst AI Pvt. Ltd. (GSTIN 09AAFCO1076N1Z0) on request.

Questions finance teams ask

Practical answers.

Our statements come as PDFs. Does that work?

Text PDFs are read directly with the format map. Scanned PDFs need OCR, which is set up in the pack and checked with the running-balance test before it is trusted.

Which banks are supported?

Any bank whose statement can be exported or read as text. The kit ships a format map template; the map for each of your banks is built on its first statement and then reused.

How does it reach Tally?

As a CSV or XML import of approved lines, one file per statement, saved beside it with its import log. Nothing writes into Tally without the review owner's approval.

How accurate is the categorisation?

Masters and rules are deterministic: the same narration always gets the same ledger. Model suggestions carry a confidence; below your threshold they wait for a person. Accuracy is measured on your own clients in the first month, not claimed in advance.

Where does client data go?

Files stay on the firm's machine. For lines the rules cannot decide, the narration, amount and direction go to your model provider under your key. A local model through Ollama keeps everything in the office.

Does it file GST or make credit decisions?

No. It tags GST and TDS payments so the ledgers are right and prepares the books. Filing, opinions and lending decisions stay with the firm.

Start with one client

Drop last month's statement in a folder tonight. Read the exceptions tomorrow morning.

Free desktop, no card. Pro includes all Pro features and Cloud for ₹2,000/month. Or book the Finance firm pack and we set up the first clients with you.

Put AI on the WhatsApp your team already runs.

Free desktop app access for Windows and Mac. We set up your first workflow with you, free. Pro includes Cloud and all Pro features for ₹2,000/month; setup packs for everything beyond.

OpenAnalyst AI Pvt. Ltd. · GSTIN 09AAFCO1076N1Z0