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 extracts bank statement data into validated JSON for income verification, cash flow analysis, and lending workflows.

Why bank statements are harder than they look

Thousands of bank formats and multi-page tables with running balances make extraction hard.

Institution Format Diversity

Chase, Wells Fargo, and thousands of regional banks each produce unique layouts. Sensible adapts to any format with a consistent schema.

Bundled Applications

Transaction tables span multiple pages with deposits, withdrawals, and fees. Sensible extracts each line with full detail.

Dense Checkbox Grids

Statements covering checking, savings, and money market accounts appear in one document. Sensible extracts each account independently.

Fields we extract

Extract any data you need from bank statements into your desired output schema

Account information

Account holder name, account number (last 4), account type, bank name, statement period, opening balance, closing balance

Transactions

Transaction date, posted date, description, amount, debit/credit indicator, running balance, check number (if applicable)

Summary

Total deposits, total withdrawals, total fees, interest earned, average daily balance, number of transactions

Capital One Statement

Capital One 360 checking and savings account statements.

US Bank Statement

U.S. Bank personal and business banking statements.

Wells Fargo Statement

Wells Fargo banking statements across checking, savings, and money market accounts.

Bank of America Statement

Bank of America consumer and business account statements.

Citi Bank Statement

Citibank consumer and commercial account statements.

Chase Bank Statement

JPMorgan Chase checking and savings account statements.

Supported bank statements

Sensible processes bank statements from any institution worldwide, many of which can be found in Sensible's template library. Any bank format can be custom configured within hours.

Major banks

Chase, Bank of America, Wells Fargo, Citi, US Bank, Capital One, PNC, TD Bank, and all national banks

Other institutions

Regional banks, credit unions, online banks (Ally, Marcus, SoFi), international banks, brokerage account statements

Trusted by operations and engineering teams at

Common Questions

How Sensible extracts data from bank statements.

Does Sensible extract opening and closing balances?

Yes. Sensible captures opening balance, closing balance, total deposits, total withdrawals, and statement period for each account on the statement.

Can Sensible handle multi-account bank statements?

Yes. Statements covering checking, savings, and money market accounts are parsed into separate account sections with their own transaction lists and balances.

How does Sensible extract transactions from bank statements?

Sensible extracts each transaction with date, description, amount, and running balance. Multi-page transaction tables are combined into a single array.

Which banks' statements does Sensible support?

Sensible processes statements from any bank or credit union. Pre-built templates cover Chase, Bank of America, Wells Fargo, Citi, and Capital One. Any bank format can be configured.

Do you support webhooks?

Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.

Does Sensible support human review?

Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.

What security certifications does Sensible have?

Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.

How long is document data retained?

Documents are deleted after 30 days by default. You can configure shorter retention periods or request immediate deletion via API.

Is there a free trial?

Yes. Sensible offers a free tier with 50 documents per month. No credit card required to start.

How is pricing structured?

Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.

How do I integrate with Sensible?

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.

What file formats does Sensible support?

Sensible processes PDF, PNG, JPG, and TIFF files. PDFs can be native or scanned.

How accurate is the extraction?

Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence scoring.

How fast is document processing?

Most documents process in 2 to 10 seconds depending on complexity and page count.