DEV Community

Cover image for How I Built an AI Tool That Converts Any Bank Statement PDF to Excel (And What I Learned)
Pankaj Jasoria
Pankaj Jasoria

Posted on

How I Built an AI Tool That Converts Any Bank Statement PDF to Excel (And What I Learned)

A developer's honest story of building a financial document converter — and the real-world problems it solves for accountants, bookkeepers, and business owners worldwide.


If you've ever worked with financial data, you know the pain.

You get a PDF bank statement. You need the transactions in Excel. And the only options are: manually type every row, or pay for some overpriced enterprise software that still doesn't work half the time.

I built BankStatementConverterAI to solve exactly that problem — and the journey taught me more about real-world document parsing than any tutorial ever could.


The Problem Is Harder Than It Looks

When I started building this, I assumed PDF-to-Excel conversion was a solved problem. It is not.

Here's what makes bank statement PDFs uniquely difficult:

Every bank formats differently. HSBC France looks nothing like SBI India. Chase looks nothing like Barclays. There is no standard. Every bank has its own column order, date format, description style, and page structure.

Languages add another layer. A French bank statement says "Relevé de Compte" where an English one says "Account Statement." Amounts use European format — 1.234,56 instead of 1,234.56. Months are written in French — JANVIER, FÉVRIER, MARS. Your parser has to handle all of this.

PDFs are not spreadsheets. A PDF is essentially a picture of a document. The "table" you see visually doesn't exist as structured data underneath. Every row is just positioned text — and extracting it correctly requires understanding context, not just position.

Multi-page documents are messy. A 181-page corporate bank statement (yes, I've seen one) repeats headers on every page, has running balances that need tracking, and mixes transaction data with marketing text, legal disclaimers, and account summaries — all of which need to be cleanly ignored.


What the Tool Actually Does

BankStatementConverterAI takes any bank statement PDF and converts it to a clean, structured Excel or CSV file in seconds.

Here's the core flow:

  1. Upload your PDF — digital or scanned, any language, any bank
  2. AI extracts every transaction — dates normalised to YYYY-MM-DD, amounts as plain decimals, descriptions cleaned and merged
  3. Download Excel or CSV — ready for QuickBooks, Xero, or any accounting tool

The tool supports 3,000+ banks worldwide. It handles French, Spanish, Portuguese, Indonesian, German, Arabic and more. And critically — zero data retention. Files are wiped from servers immediately after conversion. No storage, no risk.


The Bulk Invoice Tool — A Different Problem, Same Pain

Beyond bank statements, I also built a Bulk Invoice to Excel converter.

The use case is slightly different. Accountants and small business owners often have 50, 100, sometimes 200+ invoice PDFs from suppliers sitting in a folder. Manually opening each one and copying line items into a master spreadsheet takes hours.

The bulk tool lets you upload all of them at once and get a single merged Excel file — every invoice, every line item, every total, all in one clean sheet. It's the kind of automation that saves a full workday every month.


The Technical Decisions That Actually Mattered

Choosing AI over traditional PDF parsing

I tried traditional PDF parsing libraries first. They work fine for simple, structured documents. But real bank statements from real banks break them constantly.

The switch to AI-powered extraction changed everything. Instead of brittle regex rules for each bank format, the model understands context — it knows that 207,26 after VIREMENT SEPA RECU is a credit amount, not a product code.

The prompt is everything

Getting the AI to output perfectly structured, consistent JSON took more iteration than the entire rest of the codebase. A few things that made a huge difference:

  • Explicitly instructing it to detect number format (European vs US) before parsing amounts
  • Telling it to merge multi-line descriptions into a single clean row
  • Asking it to flag low-confidence values rather than guess
  • Building in a balance verification step — total debits + opening balance should equal closing balance

Zero retention as a feature

Financial data is sensitive. I made zero-retention a core feature, not an afterthought. Files are processed in memory and wiped immediately. This isn't just good practice — it's a genuine selling point for accountants and compliance teams.


What Real Users Taught Me

The most valuable lessons came after launch, not before.

Users don't read tool names. My first paying customer used the bulk invoice tool to convert bank statements. It worked — but the experience wasn't right. Now I'm building smart detection: if the uploaded file looks like a bank statement, the tool quietly switches to the correct processing pipeline.

Page count ≠ row count. A 181-page corporate bank statement might produce only 200 transaction rows. Pages have headers, footers, blank space, disclaimers. Users who expect 181 rows get confused. I now explain this clearly in the UI and results page.

French speakers are an underserved market. My first two paying users both had French-language bank statements — one from France, one from Morocco. The English-language tools in this space completely ignore French, Spanish, and Portuguese speakers. That's a massive untapped audience.

Mobile matters more than you think. One of my first real users converted 6 large files on mobile. The tool needs to work on a phone, not just a desktop.


The Stack

For anyone curious:

  • Frontend: Next.js, React, TypeScript, Tailwind CSS
  • AI: Gemini Flash for extraction, with fallback logic for 503 errors
  • Payments: Paddle
  • Hosting: Vercel with CDN
  • Analytics: Google Analytics + Microsoft Clarity

The AI layer is the heart of it. Everything else is just plumbing.


What's Coming Next

A few things on the roadmap:

  • Automatic calculations — totals, averages, monthly summaries generated directly in the Excel output
  • Collaboration — share results directly with your accountant or team
  • More language support — dedicated pages and parsing improvements for top French, Spanish and Portuguese banks specifically

Try It Yourself

If you work with financial documents — or build tools for people who do — give it a try. No signup needed for a quick test.

And if you have a bank statement that doesn't convert correctly, reach out directly. I personally investigate every failure and fix it. That's the solo-founder advantage — no support ticket queue, just a direct conversation.


Built by Pankaj Jasoria — 18 years in frontend development and UI/UX, now building micro-SaaS tools that solve real financial workflow problems.


En Français

Si vous travaillez avec des relevés bancaires français, notre outil supporte nativement le format européen des montants, les dates en français, et les banques françaises majeures comme BNP Paribas, Société Générale, Crédit Agricole et HSBC France.

Convertissez votre relevé bancaire PDF en Excel gratuitement →

Top comments (0)