How Jemsky converts bank statement PDFs to Excel, CSV & Tally XML

Jemsky converts bank statement PDFs through a four-stage pipeline: vector text extraction, bank strategy dispatch, mathematical audit, then Excel/CSV/Tally XML export. Parsing runs in volatile server memory; statements are discarded after export.

Stage 1 — Vector layout and text stream

When a PDF is loaded, Jemsky extracts positional bounding boxes (x, y, font metrics) for every text segment in memory. Native digital statements do not go through OCR. Password-protected files decrypt in RAM only.

Stage 2 — Bank strategy plugin dispatch

The engine inspects header signatures, IFSC identifiers, and table patterns, then routes to a tailored plugin (SBI, HDFC, ICICI, Kotak, Axis, Amreli, Varachha, RNSB, Saraswat, and others). Unrecognized layouts use the Universal Dynamic Fallback Engine. Multi-line narration is stitched inside the plugin, not as a generic regex after the fact.

Stage 3 — Mathematical audit

Every row is checked with Opening Balance + Total Deposits − Total Withdrawals = Closing Balance. Running balances are verified transaction by transaction so skipped pages and pagination glitches surface before you post Tally vouchers.

Stage 4 — Structured exports

Verified rows compile to Excel (.xlsx), CSV, and TallyPrime XML with separate numeric withdrawal, deposit, and balance columns. Dates are standardized. Reference IDs are cleaned (for example HDFC leading zeroes).

Optional — Import to Tally ledger suggest

  1. Import Tally All Masters (Master.json / Master.xml) at Party Ledgers.
  2. On /app, enable Import to Tally — ledger suggest.
  3. Review RULE → HEURISTIC → FUZZY → Suspense A/c. Edit a row once to save a mapping rule.
  4. Export Tally XML with per-row party ledgers, or Excel/CSV for review.

Posting in TallyPrime is Import → Transactions. Excel remains the right format for audit registers and multi-commodity trading books.

Related: User Guide · Tally · Security · Banks