Solutions / Bank statement parsing

Bank statement parser for clean transaction data

Convert digital, scanned, and authorized password-protected statements into normalized accounts, balances, and transaction tables.

  • ✓ Reusable relational schema
  • ✓ Dashboard or API workflow
  • ✓ SQLite, JSON, CSV, or XML export

Product video coming soon

Turn a bank statement into transaction tables

This video will show a statement being parsed into account and transaction tables, then queried inside PDFParse.

Transformation

statement.pdf → PDFParse → accounts + statements + transactions

Relational output

Select a relationship to explore →

statements

idperiod_startperiod_endopening_balanceclosing_balance
sta_1048acc_48122026-06-012026-06-3018,402.1521,873.44
sta_1049acc_61902026-05-012026-05-3116,991.0218,402.15
sta_1050acc_77342026-04-012026-04-3015,804.8716,991.02
sta_1051acc_48122026-06-012026-06-3018,402.1521,873.44
sta_1052acc_61902026-05-012026-05-3116,991.0218,402.15
sta_1053acc_77342026-04-012026-04-3015,804.8716,991.02
sta_1054acc_48122026-06-012026-06-3018,402.1521,873.44
sta_1055acc_61902026-05-012026-05-3116,991.0218,402.15

Relationship: statements.id → transactions.statement_id

Try the API

Extract from your code.

Submit an uploaded document using an existing schema. PDFParse queues processing asynchronously; retrieve completed records through the same API. Applications and AI agents use this endpoint too.

# Documents must already be uploaded to your active project.
curl -X POST https://api.pdfparse.net/v1/jobs \
  -H "Authorization: Bearer $PDFPARSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tableSlug": "invoices",
    "documentKeys": ["uploaded-document-id"]
  }'

# { "id": 123, "status": "queued" }

Why PDFParse

01

Normalize inconsistent transaction layouts.

02

Separate account, statement, and transaction records.

03

Use authorized credentials for recurring protected files.

04

Query transaction history before export.

Edge cases

Multi-page tables

Wrapped descriptions

Debit and credit columns

Signed amount columns

Missing balances

Date formats

Scanned statements

Protected monthly statements

Common questions.

Can PDFParse extract every transaction?

It extracts transactions into a repeating child table defined by your schema.

Does it support scanned bank statements?

Yes, scanned PDF statements are supported.

Can it distinguish debits from credits?

Yes, model debit and credit as separate normalized columns.

Can it process protected statements?

PDFParse supports authorized password-protected processing with user-supplied credentials.

Can results be exported to SQLite or CSV?

Yes, results can be exported as SQLite, CSV, JSON, or XML.

Is there a PDFParse API?

Yes. Use project-scoped API keys to create extraction jobs and retrieve structured records from your active project.

Can AI agents use this workflow?

Yes. Applications and AI agents can use the same project-scoped API endpoints after documents are uploaded and a schema is available.

Turn your next bank statement into queryable transaction data