SMART BANK ENTRY PRO
Author :CA Manish Kumar
THE PROBLEM
Accounting teams and practising CAs repeatedly spend time on manual accounting entries from bank statements. Common pain-points:
· Bank statements arrive in multiple formats (CSV, XLSX) with inconsistent column names and date formats.
· Manual mapping of narration to ledgers is slow, error-prone and non-standardised.
· Importing many entries into Tally manually (or via incorrect XML) causes voucher type/format errors and duplicate work.
· Lack of consolidated workflow from statement import → ledger mapping → Tally XML generation → posting.
· Need for an offline, auditable tool that reduces human error and speeds up posting.
THE SOLUTION
Smart Bank Entry Pro — a desktop GUI tool that automates the flow from bank statement to Tally import.
Key capabilities:
· Import bank statements (CSV, Excel).
· Clean and normalise dates, amounts and narrations.
· Auto-classify transactions as Receipt / Payment.
· Map transactions to existing Tally ledgers (fetch via ODBC).
· Edit ledger assignment inline (double-click).
· Generate Tally-compatible XML (masters + vouchers).
· Post directly to Tally over HTTP (batch posting).
· Batch error handling, logging and user feedback.
This reduces manual intervention while keeping final control with the accountant.
HOW IT WORKS
1. Connect to Tally (ODBC): Reads the active Tally company and ledger list using DSN TallyODBC, displaying real-time connection status.
2. Fetch Ledgers: Retrieves Bank Ledgers and All Ledgers separately and loads them into the dropdown and ledger selection list.
3. Import Statement: Accepts .csv/.xlsx files, cleans date and amount fields, and validates presence of essential columns like Amount and Date.
4. Auto Classification & Cleaning: Computes Receipt/Payment type, standardises amounts, cleans narration, and normalises ledger names using Unicode NFKC.
5. Map Ledgers: Automatically assigns all rows to Suspense, allowing the user to double-click and choose the correct ledger from the fetched list.
6. Preview / Edit: Displays all entries in a clean tree-view with inline ledger editing that updates the underlying DataFrame instantly.
7. Export XML: Generates Tally-compliant XML containing master ledgers and vouchers and saves it to any selected path with row count confirmation.
8. Post to Tally (Auto Import): Sends XML to http://localhost:9000/ in batches of 500 and interprets <LINEERROR> responses for precise troubleshooting.
9. Clear / Reset: Removes all loaded data and resets the UI to a clean workspace for the next statement.
KEY BENEFITS
Benefit Impact for CA / Firm
Time saving Reduces statement-to-voucher time by 70%-80%
Fewer posting
errors Standardises amount/date parsing and XML creation; reduces XML import errors in Tally.
Flexible imports Works with CSV and Excel (xlsx) — Just need 3 Column (Date, Narration, Amount)
Safe offline
operation Works standalone with ODBC and local Tally HTTP interface — no cloud dependency.
Scalable posting Batch posting for large statement volumes with error reporting.
TECHNOLOGIES USED
· Python 3 – core language.
· PySide6 (Qt) – desktop GUI.
· pandas – statement parsing, cleaning and DataFrame operations.
· pyodbc – Tally ODBC connectivity (reads Company, Ledger metadata).
· requests – HTTP post to Tally for auto import.
· unicodedata – ledger name normalisation and consistent matching.
MEASURABLE IMPACT
Metric Before Smart Bank Entry Pro After Implementation
Time to map & prepare 1
month bank statement 20–45 mins 3–8 mins
Frequency of XML import
errors High (manual XML / format mismatch) Low — standardised XML with master creation
Manual ledger mapping effort Full manual per row Default Suspense + quick pick ledger from Dropdown List
Posting throughput Single voucher manual import Batch posting (500 rows) with diagnostics
SUPPORTED FORMATS & REQUIREMENTS
· Input: CSV, XLSX — columns expected: Amount (mandatory), Date or date, Narration/Description optional.
· Tally connection: DSN TallyODBC6 configured locally; Tally HTTP server listening (default http://localhost:9000/) for direct posting.
· Platform: Desktop (Windows recommended for Tally/ODBC compatibility).
· Python packages required: PySide6, pandas, pyodbc, requests. (Install via pip or a venv.)
USE CASES
· Chartered Accountants preparing monthly bank entries for clients.
· In-house finance teams automating bank entry creation.
· Firms that need consistent Tally XML output for multiple companies.
· Auditors who want a reproducible import process for bank entries prior to audit.