Extract bank statements to structured JSON
Bank statements list every transaction in an account over a statement period. Formats differ by institution, account type, and delivery channel. Sensible converts bank statement data into structured JSON for income verification, cash flow analysis, and lending workflows.
Why bank statements are harder than they look
Thousands of institutions, each with unique layouts. Multi-page transaction tables with running balances. Multi-account statements that mix checking, savings, and money market. Hybrid extraction handles all of it.
How do you handle thousands of bank formats? Every institution uses its own column headers, date formats, and transaction layouts. Regional credit unions differ from national banks. Each institution gets its own SenseML configuration that maps to your target schema.
Ten pages. Fifty pages. Deposits, withdrawals, fees, running balances, all stitched across page breaks without duplicated or missing rows. The table continuation logic preserves the running balance sequence from first page to last.
One PDF, three accounts: checking, savings, money market. Account boundaries are identified automatically, and each account's transactions return as a distinct section in the JSON output.
Fields we extract
Standard fields cover income verification and cash flow analysis. Customize for your lending workflow.
Account holder name, account number (last 4), account type, bank name, statement period, opening balance, closing balance
Transaction date, posted date, description, amount, debit/credit indicator, running balance, check number (if applicable)
Total deposits, total withdrawals, total fees, interest earned, average daily balance, number of transactions
Capital One 360 checking and savings account statements.
U.S. Bank personal and business banking statements.
Wells Fargo banking statements across checking, savings, and money market accounts.
Bank of America consumer and business account statements.
Citibank consumer and commercial account statements.
JPMorgan Chase checking and savings account statements.
Supported bank statements
Pre-built templates cover major banks (Chase, BofA, Wells Fargo, Citi, Capital One) and many regional institutions. New bank formats can be configured in hours using SenseML's deterministic extraction rules.
Chase, Bank of America, Wells Fargo, Citi, US Bank, Capital One, PNC, TD Bank, and all national banks
Regional banks, credit unions, online banks (Ally, Marcus, SoFi), international banks, brokerage account statements



Common Questions
Answers about bank format support, transaction parsing, and multi-account handling.
Yes. Sensible captures opening balance, closing balance, total deposits, total withdrawals, and statement period for each account on the statement.
Yes. Statements covering checking, savings, and money market accounts are parsed into separate account sections with their own transaction lists and balances.
Sensible extracts each transaction with date, description, amount, and running balance. Multi-page transaction tables are combined into a single array.
Sensible processes statements from any bank or credit union. Pre-built bank statement templates are available in the configuration library. Any bank format can be configured.
Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.
Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.
Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.
Document data is stored indefinitely by default. Custom retention policies are available and can be configured for same-day deletion if needed.
Yes. Sensible offers a 14-day free trial on the Growth plan. No credit card required to start.
Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.
Sensible provides REST APIs and SDKs for Python and Node.js. Most integrations take a few hours. Webhooks, Zapier, and direct API calls are all supported.
Sensible processes PDFs (native or scanned), Microsoft Word (DOC, DOCX), spreadsheets (XLSX, XLS, CSV), single-page images (JPEG, PNG), multi-page images (TIFF), and email bodies with attachments.
Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence signals.
Processing speed depends on document size, page count, OCR requirements, and which extraction methods are used. Simple single-page documents process in seconds. Larger or more complex documents that use LLM-based extraction take longer.
