Free agents + LAUNCH30: 30% off paid agents until 31 Dec 2026 (one-time purchases only) See free agents
Oarsman AI Sign in

Bank Statement to Tally / Docs

Bank Statement to Tally: setup guide

One bank statement export becomes a Tally import file of Payment and Receipt vouchers against your ledgers. Duplicates are removed, balances checked and every voucher re-checked before you import.

Who it is for: Accountant, article assistant or owner of an Indian small business who keys 50-500 bank lines a month into Tally Prime or ERP 9 by hand.

Format: Claude skill pack · Version: 1.0.1 · Tested on: Python 3.13.5 (standard library only)

What it does

You give it one statement and the name of that bank's ledger in Tally. It finds the header row in most Indian bank exports, reads Indian dates and amounts (1,50,000.00, Dr/Cr columns, brackets), drops title and summary rows, puts newest-first files in date order and removes lines exported twice. Each line gets a ledger from your keyword rules (first match wins, and a rule can be limited to money out or money in). Lines no rule matches go to Suspense for you to fix in Tally. Money out becomes a Payment voucher and money in a Receipt. It writes the Tally XML, reads it back and checks every voucher's debit equals its credit, and checks the statement's running balance so a missing line is caught.

What you need

  • Claude.ai with code execution switched on (or Claude Code, or just Python 3.10+)
  • Your bank statement downloaded as CSV or Excel from net banking (not PDF)
  • Your Tally ledger names (bank, Suspense and any in your rules) already created in Tally

5-minute setup

  1. Claude.ai: open Settings → Capabilities → Skills, click Upload skill and pick claude-ai-upload/bank-statement-to-tally.zip.
  2. Claude Code: copy the folder skills/bank-statement-to-tally into ~/.claude/skills/.
  3. Start a new chat. Attach your file and say: "Use bank-statement-to-tally. My bank ledger in Tally is HDFC Bank. Make Tally vouchers from this statement with my rules".
  4. Claude runs the script and gives you the files listed under Outputs. Check them before you act on them.

Try it with the sample

Run the sample (a fictional HDFC-style statement and rules):

python3 skills/bank-statement-to-tally/scripts/core.py --statement samples/statement-hdfc-style.csv --rules samples/ledger-rules.csv --bank-ledger "HDFC Bank" --out out

You should see 14 vouchers (10 Payment, 4 Receipt), 1 duplicate removed, 0 balance breaks, closing_check true and 2 Suspense lines. In Claude, attach the files and use the prompt above.

Settings you can change

Option Default What it is
--statement (required) Your bank statement export: CSV, TSV, semicolon file or XLSX (XLSX needs openpyxl)
--bank-ledger (required) Exact name of this bank's ledger in Tally, for example HDFC Bank
--rules (none) CSV of keyword,ledger[,out
--suspense-ledger Suspense Ledger for lines no rule matched. It must exist in Tally
--company (blank) Tally company name; blank imports into the company open in Tally
--date-order dmy dmy for Indian/UK dates (31/10/2026), mdy for US dates
--out out Folder for tally-vouchers.xml, vouchers.csv and report.md

What goes in and what comes out

Inputs: One bank statement export (CSV, TSV, semicolon or XLSX); Your Tally bank ledger name; Optional rules CSV: keyword,ledger,direction

Outputs: tally-vouchers.xml (Payment and Receipt vouchers); vouchers.csv with the reason for each ledger; report.md with checks, Suspense and skipped lines

What Pro adds

  • Several statements in one run, with overlapping downloads merged
  • Contra vouchers for ATM, cash deposits and transfers between your own accounts
  • Party ledger matching from UPI, NEFT, IMPS and RTGS names
  • Skips lines already in your Tally Day Book
  • Regex and amount-range rules, and voucher numbers

Pro: https://oarsmanai.com/agents/bank-statement-to-tally-pro/

AI disclosure and limits

This product does not call an AI model at run time. It was built by Oarsman AI's AI agents and checked by the automated tests shipped with it.

Limits: - One statement per run. - Reads CSV, TSV and XLSX exports, not PDF or scanned statements. - Every line is a Payment or Receipt; ATM, cash and own-account transfers go to the ledger your rule names but are not Contra vouchers. - Does not split GST or TDS out of a payment. - Every ledger named must already exist in Tally. - Bookkeeping help, not accounting or tax advice.

Not tested by us: - a live import into TallyPrime (the XML was parsed back and checked, not imported) - statement layouts of banks other than the HDFC and SBI style samples - XLSX statements in the shipped tests (CSV only)

Files

  • oarsman-bank-statement-to-tally-v1.0.1.zip
  • CHANGELOG.md
  • QA-REPORT.json
  • README.md
  • SPEC.md
  • SUPPORT.md
  • TROUBLESHOOTING.md
  • VERSION
  • VIDEO-SCRIPT.md
  • claude-ai-upload
  • diagram.mmd
  • diagram.png
  • preview.png
  • samples
  • skills
  • tests

Help

Self-serve: see TROUBLESHOOTING.md (fixes and FAQ). There is no call, chat or email support. Fixes ship as new versions at your download link. Refund: 14 days, works as described, through the checkout platform.