Docling is an excellent open-source parser that turns documents into Markdown and JSON for language models. If what you actually need is the statement in columns, upload the PDF here and download the Excel file in a couple of minutes, with no Python and nothing to host.
Last updated August 2026
Upload your bank statement
Drop file here or click to upload
PDF, JPG, PNG, BMP, HEIC, TIFF, MT940
Uploading...
Docling is a strong open-source document parser from IBM Research, MIT licensed, with real OCR and table structure detection. It exports Markdown, HTML, JSON and DocTags, not XLSX, CSV, QBO, OFX or QFX, and it is a Python library you install, host and maintain. BankXLSX is the finished version of that workflow: upload a PDF or scanned bank statement and download Excel, CSV, QBO, OFX, QFX or QIF with the running balance already in its own column.
Docling does the reading part well. People go looking for something else once they realize they were shopping for a finished spreadsheet and what they installed was a parsing library that stops one step short.
Docling exports Markdown, HTML, JSON, DocLang XML, text and DocTags. There is no XLSX writer and no CSV document export, so the step from parsed output to a workbook is code you write.
Getting started means Python 3.10 or newer, a pip install, model downloads and a script. There is no page a bookkeeper can open and no file they can drag onto it.
Docling is a general document parser, so it has no concept of a transaction, a debit, a credit or a closing balance. Every one of those rules is yours to define.
A statement is one register printed across many pages. You get a table per page, with repeated headers, and stitching them into a single continuous ledger is your job.
There is no QBO, OFX, QFX or QIF output anywhere in the project, so anything destined for QuickBooks, Xero or Quicken needs a writer you build.
Docling will not tell you the extraction dropped a row. Footing opening balance plus credits minus debits against the printed closing balance is out of scope, and that check is what makes the output trustworthy.
BankXLSX is roughly the application a team ends up building on top of a parsing library, except it is already finished and limited on purpose to bank and card statements.
Download an XLSX or CSV with date, description, amount and running balance already in columns, in transaction order, ready to reconcile.
No Python, no pip, no model downloads, no GPU. Open the page, upload the statement, take the file.
A twelve page statement, or twelve months in one PDF, comes out as a single continuous register rather than a table per page.
Opening balance plus credits minus debits is compared against the printed closing balance, so a silently dropped row shows up instead of hiding.
Tuned to the layouts, date formats and balance columns that Chase, Bank of America, Wells Fargo, Citi, Capital One and dozens more actually print.
Export QBO, OFX, QFX and QIF alongside Excel and CSV, so the statement imports straight into QuickBooks, Xero or Quicken.
No Python environment, no models, no API key, no credit card.
Drop in a PDF or scanned bank statement. Multi-page and multi-month files are fine.
Tip: Password-protected PDFs are supported.
Every transaction is pulled into structured columns automatically, balance included.
Tip: Scans are read with built-in OCR.
Take the Excel or CSV, or export an accounting format for your ledger.
Tip: Columns come out reconciliation-ready.
An honest side-by-side, including the cases where Docling is clearly the right choice.
Convert client statement PDFs without writing or running any Python.
Build tax and audit workpapers from multi-month statements in minutes.
Get statement data into Excel for reconciliation and month-end close.
Spread borrower transaction history without building a parsing pipeline first.
Docling is a genuinely excellent open-source document parser, and this page is not going to pretend otherwise. It was built by the AI for knowledge team at IBM Research in Zurich, it now sits in the LF AI and Data Foundation, it is MIT licensed, and at the time of writing it carries more than 65,000 GitHub stars with a release shipped within the last day. It reads scanned PDFs with real OCR, it understands table structure, and it runs entirely on your own machine. If you are assembling a document pipeline for gen AI, it is one of the best things you can reach for.
None of that makes it a bank statement converter. Docling turns a document into Markdown, JSON or DocTags so a model can read it. BankXLSX turns a bank statement into a workbook so an accountant can reconcile it. Those are different jobs, and the gap between them is a piece of software somebody has to write and keep writing.
| What you are comparing | BankXLSX | Docling |
|---|---|---|
| Product type | Finished browser tool for bank statements | Open-source Python library and CLI |
| License and cost | Flat monthly plans, free demo | MIT, free to use, you pay in compute and engineering |
| Who operates it | Bookkeepers, accountants, finance and lending teams | Python developers |
| Setup before page one | None. Open the page and upload | Python 3.10 or newer, pip install, model downloads |
| Reads scanned statements | Yes, OCR built in | Yes, via Tesseract, RapidOCR or Surya |
| Table structure detection | Yes, tuned to statement registers | Yes, general purpose table understanding |
| Bank statement schema | Purpose-built, plus per-institution layout rules | None. It is a general document parser |
| Document export formats | XLSX and CSV, plus QBO, OFX, QFX and QIF | Markdown, HTML, JSON, DocLang XML, Text, DocTags |
| Spreadsheet export | Built in | Not a document export. A detected table can be pushed to a pandas DataFrame in your own code |
| Accounting formats | QBO, OFX, QFX and QIF for QuickBooks, Xero and Quicken | Not offered |
| Running balance column | Preserved and carried across pages | Whatever your code reconstructs |
| Balance footing check | Opening plus credits minus debits checked against closing | Out of scope |
| Runs fully offline | No, it is a hosted service | Yes, local and air-gapped execution is a headline feature |
| Best for | Statement conversion as recurring work by a person | Engineers building a document pipeline for gen AI |
Docling details verified on 29 August 2026 against the official documentation and the GitHub API. Open-source projects move quickly, so check the current docs before you commit to an approach.
Docling is an open-source toolkit that converts documents into a structured representation a language model can consume. You install it with pip, point it at a file, and it returns a DoclingDocument you can serialize to Markdown, HTML, JSON, DocLang XML, plain text or DocTags. It reads a very wide set of inputs: PDF, DOCX, XLSX, PPTX, HTML, EPUB, Apple Pages, images, and more recently audio and video through speech recognition models.
The PDF handling is the part that matters here. Docling does page layout analysis, works out reading order, detects table structure, recognizes code blocks and formulas, and classifies images. It also supports vision language models such as GraniteDocling for an end-to-end approach. This is serious document understanding, not a text dump, which is exactly why people ask whether it can do their bank statements.
Not on its own. Docling will read the statement and detect the transaction table, but its export formats are Markdown, HTML, JSON, DocLang XML, text and DocTags. There is no XLSX writer and no CSV document export. You can take an individual detected table into a pandas DataFrame inside your own Python and write a CSV from there, but that is code you author and maintain, and it gives you one table, not a reconciled statement.
That distinction is the whole decision. Getting the numbers off the page is the part Docling does well and the part people assume is the hard bit. It is not. The hard bit is everything that turns a detected table into a register an accountant will sign off on.
This list is the same regardless of which parser you start from, and it is where the project time actually goes.
None of these are hard in isolation. Together they are a small product with an owner, and every new bank layout arrives as an edge case without warning. Teams routinely budget one sprint for this and discover a permanent maintenance line instead.
Several things, and they are real advantages, not consolation prizes.
It runs locally and air-gapped. The documentation calls out local execution for sensitive data explicitly. For a lender or a firm whose policy forbids client financial PDFs leaving the building, that is not a nice-to-have, it is the deciding factor, and no hosted converter can match it.
There is no per-page fee. MIT licensed, free forever, no metering. At very large volume the only cost is the hardware you already own.
It handles far more than statements. If your corpus is contracts, research papers, slide decks, spreadsheets and audio, Docling covers all of it with one pipeline. A statement converter covers one document type by design.
It plugs into the gen AI stack. Ready-made integrations with LangChain, LlamaIndex, Crew AI and Haystack mean the output drops straight into a RAG pipeline, which is the job it was built for.
It is maintained seriously. Frequent releases, a large contributor base and foundation governance. This is not a project you adopt and then discover was abandoned in 2018.
If you are an engineering team building a document pipeline, and bank statements are one document type among many, Docling is a sound foundation and you should use it.
Yes. Docling is released under the MIT license, so it is free to use commercially with no per-page charge and no subscription. The costs are indirect: developer time to build and maintain the statement logic, compute to run the layout and table models, and whatever hardware you put underneath them. For a team already running Python services those costs may be close to zero. For a bookkeeping practice with no engineer, they are the entire cost.
Ask who is going to operate it. If the answer is an engineer, inside software your team owns, on a document corpus wider than bank statements, and especially if the files cannot leave your network, use Docling. If the answer is a bookkeeper, an accountant or an analyst whose deliverable is a file that has to foot, buy the finished converter and spend the engineering time on something that differentiates your business.
Volume rarely decides this, and neither does raw extraction accuracy. Both approaches read the page well. What differs is how much of the distance to a usable spreadsheet is already covered.
Plenty of teams end up doing both: Docling for the general document corpus, a purpose-built converter for the financial documents where the arithmetic has to hold. If you want to see more of the field, the best bank statement converter roundup lines the options up. For the managed cloud services in the same lane, the Amazon Textract alternative, Google Document AI alternative and Azure Document Intelligence alternative comparisons cover the three hyperscalers, and LlamaParse is the closest commercial equivalent to what Docling does. For a per-page cost breakdown across vendors, see OCR API pricing for bank statements.
If you want API convenience without owning the statement layer, the bank statement converter API returns statement-shaped output directly. If the spreadsheet is the deliverable, the bank statement converter is free to try on a real file, and once the data is in a sheet you can categorize the transactions or run a bank reconciliation.
Not by itself. Docling will read the statement and detect the transaction table, but its export formats are Markdown, HTML, JSON, DocLang XML, text and DocTags. There is no XLSX or CSV document export. You can push a single detected table into a pandas DataFrame in your own Python and write a CSV from there, but that is code you maintain.
Yes. Docling is MIT licensed, so it is free to use commercially with no per-page fee and no subscription. The real costs are indirect: developer time to build and maintain the bank statement logic, plus the compute to run the layout, table and OCR models on your own hardware.
Yes. Docling has genuine OCR support for scanned PDFs and images, and it can use several engines including Tesseract, RapidOCR and Surya. Scanned statements are not the limitation here. The limitation is that the output is a parsed document rather than a spreadsheet or an accounting file.
Docling was created by the AI for knowledge team at IBM Research in Zurich and is now hosted as a project of the LF AI and Data Foundation. It is actively maintained, MIT licensed, and carries more than 65,000 stars on GitHub with releases shipping regularly.
Docling exports Markdown, HTML, JSON, DocLang XML, plain text, DocTags, WebVTT and chunked JSONL. It reads a much wider set of inputs, including PDF, DOCX, XLSX, PPTX, HTML, EPUB, images, audio and video. There is no XLSX, CSV, QBO, OFX or QFX export.
Use Docling when an engineer operates it, the files cannot leave your network, and bank statements are one document type among many in a wider pipeline. Use a purpose-built converter when the deliverable is a spreadsheet that has to foot and the person doing the work is an accountant rather than a developer.
The closest commercial equivalent, compared.
Microsoft document extraction, compared honestly.
The AWS extraction service, compared.
The other hyperscaler platform, compared.
Automate conversion without building extraction.
OCR built for scanned statements.
Cancel anytime from your account settings · refund policy
Get started converting bank statements to spreadsheets.
USD
per month
per month
$288 charged today
Choose speed vs accuracy when extracting
| Base AI Faster | 2,500 pages |
| Pro AI Best accuracy | 500 pages |
Scale statement conversion across your team with automation.
USD
per month
per month
$888 charged today
Choose speed vs accuracy when extracting
| Base AI Faster | 10,000 pages |
| Pro AI Best accuracy | 2,000 pages |
Enterprise-grade bank statement conversion and controls.
USD
per month
per month
$ charged today
Choose speed vs accuracy when extracting
| Base AI Faster | pages |
| Pro AI Best accuracy | pages |