This tutorial shows how to turn a bank statement PDF into relational data with PdfParse. You will generate an extraction schema, create account and transaction records, review the extracted rows, query them with SQLite, and prepare the results for CSV export.
Generate the schema with Smart Extractor
Building a schema manually takes time and leaves room for mistakes. Smart Extractor uses a sample document and an optional prompt to propose the tables, fields, types, and relationships needed for extraction. It can model connections between accounts, statements, and their transaction records in one pass.
Review the generated schema before extraction
Important: A schema generated by AI is a starting point, not a guarantee. Smart Extractor can choose the wrong field, data type, prompt, nullability rule, or relationship. Review every generated table and column before processing a document batch.
Check that the schema includes the fields your workflow needs, uses the correct numeric and date types, and connects each statement to its account and transaction rows. You can add or correct fields manually in the table editor when the generated result needs adjustment.

Choose JSON or relational SQL tables
PdfParse can represent repeating data with JSON arrays or related tables. JSON can be easier to inspect as a single value, but it limits direct filtering and joins. Foreign keys preserve relationships in SQLite, which lets you select individual fields, filter transactions by amount, and join records across tables. This tutorial uses child tables so each transaction becomes a row that can be queried directly.
Extract and review the data
After creating the tables, upload the files and select them for processing. The Manage files button opens the processing workspace, where you can start extraction and follow its progress. Live status updates help you identify failed documents and review unexpected results before using the extracted data.
Each dataset remains connected to the document that produced it. The document preview provides a lightweight review tool inside the workspace, so you can compare extracted rows with the source PDF without switching applications. This makes it easier to investigate a questionable value or confirm that the extraction used the correct part of the statement.
You can also export the schemas that define the dataset. A schema export records the table and field structure separately from the extracted values, which is useful when you need to inspect the model, reproduce it elsewhere, or share the expected data shape with another workflow.
Query subsets in the SQL workspace
Because PdfParse stores extracted records in SQLite, the product includes a query workspace for working with that data. The live SQL editor can filter rows, select specific fields, join related tables, and return only the records needed for the next step in a workflow.
The recording shows a query running against the generated database. Queries can isolate credits or debits, find transactions within an amount range, inspect records for reconciliation, and prepare a smaller result set for export.
Export the extracted data
Use the Export button above the main table to download the current dataset as CSV or JSON. CSV works well for Excel, Google Sheets, accounting imports, and reconciliation workflows. JSON preserves a structured payload for APIs and other software integrations. The underlying SQLite database remains available when you need related tables and direct SQL access.
Get started with bank statement extraction
Ready to automate your bank statement processing? Try the bank statement parser, or review pricing before creating a project.
Need help with edge cases? Contact us at support@pdfparse.net if you're handling:
- Statements that contain multiple currencies
- Complex fee structures
- International transaction formats
- Custom reconciliation rules
We'll help you refine your schema and prompts to handle even the trickiest statement formats.