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 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
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.mdbank-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.
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.
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.
Five steps. Rules decide what they can, the model suggests the rest, a person approves.
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.
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.
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.
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.
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.
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.
| # | Date | Narration | Debit | Credit | Category · ledger | How | Status · note |
|---|---|---|---|---|---|---|---|
| 1 | 01-08 | NEFT CR-DEMO0001234-SHREE TRADERS-INV 2041 | ₹48,000 | Customer receiptShree Traders (Sundry Debtors) | R12 · masters | autoInvoice 2041 named in narration | |
| 2 | 01-08 | UPI/DR/2218/AMAZON PAY/OFFICE SUPPLIES | −3,540 | Office expenseOffice Supplies | AI 0.86 | reviewMarketplace payment; needs the bill for GST input | |
| 3 | 02-08 | IMPS/P2A/VIKAS ENTERPRISES/ADV | ₹1,20,000 | Customer advanceVikas Enterprises (Sundry Debtors) | R12 · masters | autoADV in narration; book as advance, not sale | |
| 4 | 03-08 | ACH DR-DEMO HOUSING FIN-EMI 4471 | −38,420 | Loan EMITerm Loan · Demo Housing Fin | R05 | autoSplit principal and interest at month close | |
| 5 | 03-08 | CHQ 000412 RAJ STEEL SUPPLIERS | −2,15,000 | Vendor paymentRaj Steel Suppliers (Sundry Creditors) | R12 · masters | autoCheque 000412 | |
| 6 | 05-08 | GST PMT-CPIN 26080012345 | −84,116 | Statutory · GSTGST Payable | R01 | autoCPIN captured | |
| 7 | 06-08 | UPI/CR/9911/RAMESH KUMAR/ORDER 118 | ₹12,500 | Customer receiptRamesh Kumar (Sundry Debtors) | AI 0.78 | reviewOrder 118 not in the invoice register | |
| 8 | 06-08 | CHQ DEP 000512 MEHTA AGENCIES | ₹65,000 | Customer receiptMehta Agencies (Sundry Debtors) | R12 · masters | autoCheque 000512 deposited | |
| 9 | 07-08 | INWARD CHQ 000512 MEHTA AGENCIES RETURNED-INSUFF FUNDS | −65,000 | Cheque returnMehta Agencies (Sundry Debtors) | R15 | ask clientReverse the receipt; ask the client for the replacement | |
| 10 | 07-08 | CHQ RETURN CHG-INWARD 000512 | −590 | Bank chargesBank Charges · cheque return | R07 | ask clientRecover from customer? client decides | |
| 11 | 08-08 | NEFT CR-DEMO0004321-PATEL TEXTILES | ₹2,36,500 | Customer receiptPatel Textiles (Sundry Debtors) | R12 · masters | ask clientNo invoice reference; three open invoices | |
| 12 | 09-08 | TDS PMT 26Q CHALLAN 0088 | −14,200 | Statutory · TDSTDS Payable | R02 | autoChallan 0088 | |
| 13 | 10-08 | UPI/DR/3310/SWIGGY/STAFF LUNCH | −1,260 | Staff welfareStaff Welfare | AI 0.81 | reviewSmall; confirm expense head | |
| 14 | 11-08 | NEFT DR-ARJUN LOGISTICS-FREIGHT JUL | −42,300 | FreightFreight Outward · Arjun Logistics | R12 · masters | autoJuly freight, bill 0719 | |
| 15 | 12-08 | IMPS/P2A/SHREE TRADERS/INV 2041 | ₹48,000 | Customer receiptShree Traders (Sundry Debtors) | R12 · masters | ask clientSame invoice 2041 as line 1; duplicate or INV 2049? | |
| 16 | 13-08 | BANK CHARGES-NEFT-JUL | −236 | Bank chargesBank Charges | R07 | auto | |
| 17 | 14-08 | UPI/CR/4402/UNKNOWN/PAYMENT | ₹9,999 | Unidentified receiptSuspense | R16 | ask clientNo payer name; ask the client | |
| 18 | 15-08 | ACH DR-DEMO INSURANCE-FIRE POLICY | −18,750 | InsuranceInsurance · Fire policy | R09 | autoPrepaid; spread over 12 months at close | |
| 19 | 18-08 | NEFT DR-RAJ STEEL SUPPLIERS-PO 218 | −1,84,000 | Vendor paymentRaj Steel Suppliers (Sundry Creditors) | R12 · masters | autoPO 218 matched to purchase register | |
| 20 | 19-08 | CASH DEP-BRANCH 0442 | ₹2,10,000 | Cash depositCash | R17 | ask clientAbove ₹2,00,000; source and cash sales receipts needed | |
| 21 | 20-08 | UPI/DR/5521/DEMO ELECTRICITY BOARD/BILL | −27,430 | PowerElectricity · Demo Electricity Board | R10 | auto | |
| 22 | 22-08 | NEFT CR-DEMO0007710-VIKAS ENTERPRISES-INV 2050 | ₹88,000 | Customer receiptVikas Enterprises (Sundry Debtors) | R12 · masters | autoInvoice 2050; advance from line 3 to adjust | |
| 23 | 25-08 | EMI DEMO VEHICLE FIN 90021 | −22,100 | Loan EMIVehicle Loan · Demo Vehicle Fin | R05 | auto | |
| 24 | 28-08 | NEFT DR-SALARY AUG-12 EMP | −3,42,000 | PayrollSalaries | R03 | auto12 employees; matches payroll register | |
| 25 | 29-08 | PF ECR PMT AUG | −41,040 | PayrollPF Payable | R04 | autoECR August | |
| 26 | 30-08 | INT CREDIT SB | ₹1,214 | Interest incomeInterest on SB | R08 | autoBook in bank ledger | |
| 27 | 31-08 | SMS CHG Q2 | −18 | Bank chargesBank Charges | R07 | auto | |
| 28 | 31-08 | NEFT CR-DEMO0009988-MEHTA AGENCIES-CHQ REPL 512 | ₹65,000 | Customer receiptMehta Agencies (Sundry Debtors) | R12 · masters | reviewReplacement for returned cheque 512; link to line 9 | |
| 29 | 31-08 | UPI/DR/6610/OWNER-A SHARMA/PERSONAL | −15,000 | Drawings?Owner Current Account | R18 | ask clientPersonal narration; drawings or reimbursable? |
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.
Cheque 000512 from Mehta Agencies returned, charges ₹590 on line 10.
Then: Reverse receipt, link replacement, decide on charges
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
Shree Traders paid ₹48,000 against INV 2041 twice (lines 1 and 15).
Then: Confirm second invoice or raise refund
UPI credit of ₹9,999 with no payer name.
Then: Identify payer; else park in suspense
Cash deposit of ₹2,10,000 at branch 0442, above the ₹2,00,000 review threshold.
Then: Collect cash sales receipts before booking
UPI debit of ₹15,000 with a personal narration.
Then: Owner decides: drawings or expense with bill
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 ✓✓
| 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 |
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.
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.
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.
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.
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.
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.
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.
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.
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.
- 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
- 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
The finance setup kit.
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 requiredRuns 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 freePro
₹2,000per month · all Pro features and CloudNew bank format maps, rule packs and the WhatsApp question and summary templates as they improve. Priority support on WhatsApp for the review owner.
See pricingSetup pack · Finance firm
₹60,00030 hours · 30 days validity · up to five clients · remoteSteps 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.
Book on WhatsAppSetup 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.
Practical answers.
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.
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.
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.
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.
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.
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.
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.