Convert bank statements into structured, Excel-ready data
Upload a bank statement — from any bank, any format — and get back structured transaction data with dates, descriptions, debits, credits, and running balances, ready to reconcile.
Fields DocumentsAI is built to pull from bank statements
- Account number
- Bank name
- Statement period
- Transaction date
- Description / narration
- Debit amount
- Credit amount
- Running balance
- Reference number
Every bank formats a statement differently
A finance team working with multiple banks — or multiple branches, or multiple client accounts — quickly runs into the same problem: no two statement PDFs look alike. Column order changes, some banks split debit and credit into separate columns while others use a single signed amount column, and narration formatting varies wildly. Copying transactions into Excel by hand doesn't scale past a handful of statements a month.
Bank statement extraction is built around that reality. Instead of a template tied to one bank's layout, the engine reads the table structure of whatever statement you upload and maps it to a consistent set of fields — so a statement from any bank produces the same shape of output.
Works across bank formats
Every bank lays out a statement differently. Extraction reads layout and tables rather than a fixed per-bank template.
Handles multi-page statements
Statements spanning many pages and transactions are read as one continuous, structured transaction list.
Excel and CSV ready
Export straight to a table view, CSV, or JSON — paste into Excel or pipe into your own reconciliation sheet.
Reviewable before use
Structured output is meant to be checked against the source statement before it feeds financial decisions.
For teams reconciling across accounts and clients
Finance teams managing several current accounts, accountants handling statements for multiple clients, and lending or underwriting teams reviewing an applicant's bank history all share the same manual step: opening a statement PDF and retyping transaction rows into a spreadsheet before any analysis can start. At even a modest volume — a few statements a week across a few banks — that adds up to hours of copy-paste work that produces no real insight, just a transcribed table.
Structured extraction turns that first step into an upload. The transaction list — dates, descriptions, debits, credits, and running balance — comes back ready to drop into a reconciliation template, a cash flow view, or an underwriting checklist, so the analysis work starts sooner.
From a scanned statement to a reconciled sheet
Statements aren't always clean digital PDFs — scanned copies, photographed pages, and statements exported as images all show up in practice. Extraction is built to handle both digital and scanned statements, reading the running balance column alongside each transaction so the output can be checked against the statement's own totals before it's trusted.
Once the transaction list is structured, it drops straight into a reconciliation workflow — matched against invoices, ledger entries, or an accounting system — instead of sitting as a PDF someone has to re-key. See the full extraction approach, including field-level and full-document modes, on the DocumentsAI homepage.
Output is available as a reviewable table, JSON, CSV, or Markdown — export straight to Excel-ready CSV for a reconciliation sheet, or JSON if the transaction list needs to flow into an accounting system instead. Whichever format you export to, the running balance stays attached to each transaction so the extracted data can be checked against the statement's own totals before it feeds anything downstream.