The author is working on a Credit Underwriting AI Agent and is seeking open-source on-premise approaches to extract structured transaction tables from diverse Indian bank statement PDFs, facing challenges with layout variations and needing reliable extraction methods.
I'm working at an NBFC and currently working on a Credit Underwriting AI Agent. One of the first steps in the pipeline is extracting structured information from customers' bank statement PDFs. This is where I'm currently stuck. The statements can come from different Indian banks (HDFC, ICICI, SBI, Axis, Kotak, etc.), and each bank can have a completely different PDF layout. I need to reliably extract things like: Customer/account information — name, account number, IFSC, branch, etc. Transaction tables — date, narration/description, debit, credit, balance Transaction rows that span multiple lines Statements where the table headers are missing from subsequent pages Both digitally generated PDFs and scanned/image-based PDFs Ideally, the solution should be bank-format agnostic I've tried/considered approaches such as pdfplumber, table extraction libraries, OCR, regex-based parsing, and LLM-based extraction. The biggest problem I'm facing is that even when the text is extracted correctly, the column/row structure gets messed up, especially because many bank PDFs don't contain a real table structure — they're essentially text positioned at different coordinates. Since this is financial/customer data, I would strongly prefer an open-source/on-premise solution rather than sending statements to a third-party API. For anyone who has built something similar: What approach worked best for you? I'm particularly interested in: PDF parsing/layout libraries you recommend OCR models for scanned statements Open-source vision/document AI models Whether you use an LLM/VLM for semantic column mapping How you handle different bank formats without writing completely separate rules for every bank Any techniques for detecting transaction rows and mapping values to the correct columns How you validate the extracted data (e.g., balance reconciliation, debit/credit checks, transaction counts) If you've worked specifically with Indian bank statements, I'd really appreciate hearing about your architecture, libraries/models, or lessons learned. Thanks!
Advice on parsing tables from PDFs by converting to PNGs and using Gemini 3.1 Pro with low thinking, claiming 95% accuracy. Other tools like Extend, Reducto, Landing are poor for this task.
This paper studies the application of AI and machine learning algorithms for recognizing fraudulent banking transactions, proposing preprocessing techniques and comparing models. An artificial neural network and stacked generalization achieve improved AUC scores, with the best result around 0.954.
A practical AI agent workflow that automates finding missing receipt PDFs by navigating vendor portals, handling login and email verification, then matching and attaching receipts to bank transactions.