PDF to CSV guide

How to convert a bank statement PDF to CSV

A complete bank-provided CSV is preferable when it covers the needed statement period and fields. If only a PDF is available, ExtractMint can produce a CSV for review; compare every extracted row with the source before using it.

When to use a bank CSV or a PDF conversion

Check the bank’s download options first. A bank CSV can avoid PDF layout extraction, but still check its period, required fields, dates, currency, and transaction signs against the statement. Use a PDF conversion when the bank export is unavailable or lacks information your workflow needs.

How to convert a PDF statement to CSV in ExtractMint

  1. Open the converter and upload the statement PDF. Text-based PDFs are the strongest input; scans rely on OCR and may need more correction.
  2. Review extracted rows beside the source PDF. Correct missing or split descriptions, amounts, debit and credit direction, and rows around page breaks.
  3. Confirm the statement’s date convention. If dates are ambiguous, choose DD/MM/YYYY or MM/DD/YYYY using evidence from the statement rather than guessing.
  4. Compare opening, running, and closing balances, investigate warnings, and check each amount against its source row.
  5. Choose the CSV download after review. Open the downloaded file with explicit date and text settings, then recheck it before spreadsheet use or accounting handoff.

ExtractMint is in beta. No bank-specific format has been independently validated against real statements. Results depend on document layout and scan quality; extraction and OCR can miss or misread transactions.

What each exported CSV column contains

Current CSV columns in exporter order
GroupColumnContents and review notes
Transaction valuesDateTransaction date formatted using the selected statement date convention.
DescriptionExtracted transaction description; check wrapped text against the PDF.
ReferenceTransaction reference when available; otherwise blank.
WithdrawalMoney leaving the account when identified; otherwise blank.
DepositMoney entering the account when identified; otherwise blank.
TaxTax value when available; otherwise blank.
AmountSigned transaction amount derived from the row.
BalanceRunning balance when available; otherwise blank.
Review statusReview StatusRow review status from validation checks.
Review NotesValidation notes associated with the row.
CategoryAssigned transaction category; review before relying on it.
ConfidenceExtraction confidence shown as a percentage; not proof of correctness.
Source and audit contextSourceSource information recorded for the row.
Source LinesSource line numbers when available, separated by commas.
Statement WarningsStatement-level export warnings repeated on each row.
Date FormatSelected statement date format, or Needs selection when ambiguous or conflicting; may be blank if unavailable.

Use transaction values for spreadsheet calculations, review status fields to investigate extraction issues, and source and audit context to trace rows and interpret warnings. Keep the review and audit fields available when checking or handing off the file. Fields that are unavailable can be blank. The CSV contains review metadata as well as transaction data; inspect warnings and choose the fields your next workflow requires.

A synthetic example

These invented figures illustrate the existing synthetic sample, not a real bank statement. With a $1,000.00 opening balance, a $300.00 deposit and withdrawals of $125.50 and $62.00 give a $1,112.50 closing balance.

Invented transaction subset, with DD/MM/YYYY chosen
DateDescriptionWithdrawal ($)Deposit ($)Balance ($)
03/04/2026Studio supplies125.50—874.50
05/04/2026Project credit—300.001,174.50
07/04/2026Service charge62.00—1,112.50

$1,000.00 + $300.00 − $125.50 − $62.00 = $1,112.50. Net change is +$112.50, with zero discrepancy against the invented closing balance.

A matching balance does not prove completeness or correct dates: missing and extra rows can offset one another. In this invented example, 03/04/2026 means 3 April under DD/MM/YYYY; confirm the source convention before export. The example does not establish accuracy on real-bank formats.

What to check in the CSV before spreadsheet use or accounting handoff

  • Compare the transaction row count in the downloaded CSV with the source statement. Exclude headers and opening or closing balance summaries; investigate missing or duplicate transactions even when the counts match.
  • Confirm the account, currency, statement period, first date, and last date against the source.
  • Compare every transaction with the PDF, including wrapped descriptions, references, and page-break rows. Investigate missing or duplicate rows.
  • Check withdrawals, deposits, signed amounts, decimal separators, and negative signs. Do not count both a signed amount and debit/credit columns as separate transactions.
  • Reconcile opening, running, and closing balances; investigate every discrepancy and warning even when the final balance matches.
  • Import CSV through your spreadsheet’s import controls to preserve reference numbers and confirm date parsing. Recheck the file after opening it.
  • Before accounting handoff, agree the required fields and column mapping with the recipient or target system. This review CSV is not guaranteed to match an accounting import template.

Related guides and privacy details

Core conversion and OCR run in your browser. Read the privacy and data-flow details before processing sensitive material or sharing exports.