How to convert your PDF bank statements to CSV

If your bank doesn’t offer a CSV download option, you can still bring your transactions into stub by converting your PDF bank statements into a CSV file first.

This guide shows you how to do it accurately and with as few errors as possible, using either a PDF-to-CSV converter or a language model (LLM) that can process files.

Why you need a CSV file

stub needs a clean, structured CSV to import your transactions correctly.Your CSV should include at least these columns:

  • Date
  • Reference (the transaction description)
  • Amount

Without these columns, stub won’t be able to process your data.

Optional columns: Fees, Currency, and Notes.

Step 1: Check if your bank already offers CSV exports

Before converting a PDF, log into your online banking and check for an “Export” or “Download” button. Most South African banks let you export transactions directly as CSV or Excel; that’s always the cleanest option. If you can’t find that, move on to the next step.

Step 2: Make sure your PDF is readable

To convert a PDF successfully, it needs to be text-based (not scanned or photographed).You can test this by trying to highlight or copy text from the PDF.If you can’t, it’s image-based, and the data may not convert cleanly.

If your PDF is a scan, you’ll need to use your bank’s export option instead.

Step 3: Step 3: Convert your PDF to CSV

You can use either:

  • A PDF-to-CSV converter tool via a simple Google, or
  • An AI assistant or LLM that can process files and generate CSVs.

When using an AI tool, copy and paste the following prompt:

Prompt:Please convert this PDF bank statement into a clean CSV file I can import into stub.

The CSV should include the following columns:

  • Date (in format YYYY-MM-DD)
  • Reference (transaction description)
  • Amount (positive for income, negative for expenses)

If available, also include:

  • Fees
  • Currency
  • Notes

Make sure the headers appear in the first row and that there are no blank rows or totals at the bottom. Once done, provide the downloadable CSV file.

After converting, download your CSV file.

Step 4: Review your CSV before importing

Open the CSV in Excel or Google Sheets and double-check:

  • Columns are in the correct order.
  • Dates are formatted as YYYY-MM-DD.
  • Amounts show positive numbers for income and negative for expenses.
  • There are no totals, blank rows, or bank logos at the top.

Step 5: Import into stub

Once your CSV looks good:

  1. Go to Transactions → Import CSV.
  2. Click Choose file.
  3. Select your CSV and follow the prompts to review and import.

Tip: If some transactions don’t match your expected totals, check for duplicated rows or missing dates in your CSV.