Bank Statement Convertor

Bank statement PDF to JSON

If the statement is an input to software rather than to a human, you want structured records, not a spreadsheet. Lending models, expense tools and internal finance scripts all need the same thing: an array of transactions with consistent field names and typed values.

Drop a PDF statement to extract transactions

Drop your PDF statement here

or click to browse · 10MB max · nothing is stored

The shape of the data

Each transaction is a record with a normalised ISO date, a description string, a signed numeric amount and an optional balance. Converting the CSV output to JSON is a two-line job in any language, and the field order is stable across banks so the mapping never has to change.

Why typed amounts matter

A string amount of "-1,234.56" is a bug waiting to happen. Amounts come through as plain signed decimals with no currency symbol or thousands separator, so they parse to a float or a decimal type without cleanup.

Common downstream uses

Structured statement data usually feeds one of these:

  • Affordability and cash-flow models in lending
  • Categorisation engines that classify spend by description
  • Duplicate and anomaly detection across multiple accounts
  • Internal dashboards that track burn rate month over month

Validate before you ingest

Whatever consumes the data should assert that the sum of amounts plus the opening balance equals the closing balance. It is a one-line check that catches a truncated or partially read statement before bad numbers reach a model.

Frequently asked questions

+Is there an API?

The current product is the browser converter. The CSV output is trivially convertible to JSON in any language if you need records rather than a sheet.

+Are dates ISO formatted?

Dates are normalised to an unambiguous format so day-first and month-first statements are not confused.

+What about multi-currency statements?

Each currency block is read separately so amounts are never blended across currencies.

Related

Popular banks