← All articles

6 Oct 2026 · 2 min read · PDF, Xero, QuickBooks, Bank statements

How to turn a PDF bank statement into a CSV for Xero or QuickBooks (without retyping)

Three ways to get transactions out of a PDF bank statement and into Xero or QuickBooks Online, from free manual methods to a two-minute automated one.

Some banks only give you statements as PDFs. Others give you a CSV for the last 90 days but a PDF for anything older. Either way, Xero and QuickBooks Online want a CSV. Here is how to bridge the gap without typing every line.

First: is your PDF "real" or scanned?

Open the PDF and try to select a word with your mouse.

  • You can select text: the PDF has a text layer. Every method below works.
  • You can't select anything: it's a scanned image. You need OCR (optical character recognition) first, and you need to check the result carefully, because OCR misreads characters like 5/S and 8/B.

Method 1: Excel's "Get Data from PDF" (free, Windows)

In Excel for Windows: Data → Get Data → From File → From PDF. Excel finds the tables on each page and lets you load them.

It works well for simple statements. It struggles when:

  • the statement has a different table on every page,
  • descriptions wrap onto a second line,
  • money in and money out are separate columns, or amounts use brackets or CR/DR.

After loading, you still need to delete headers and totals, combine pages, and fix the dates and amounts before the import works.

Method 2: Copy, paste and clean (free, slow)

Copy the transaction table from the PDF and paste it into a spreadsheet. Then:

  1. Split columns with Text to Columns where the paste merged them.
  2. Delete repeated page headers and the opening/closing balance lines.
  3. Make one Amount column: money out negative, money in positive.
  4. Make every date the same format.
  5. Save as CSV UTF-8.

Fine for one short statement. Painful for a year of statements or for several clients.

Method 3: A tool that understands statements

Rowvio reads the PDF in your browser, finds the transaction table on every page, removes repeated headers, balance and total rows, merges debit and credit into one signed amount, and fixes the date format for your region. You choose Xero or QuickBooks Online and download a file in that app's import format, after a free preview showing every change.

For scanned statements it runs OCR in the browser too, and marks the values it was unsure about so you can check them.

Importing the CSV

Xero: Accounting → Bank accounts → the account → Import a statement. Xero expects one amount column where money out is negative, and dates in the order of your organisation's region.

QuickBooks Online: Transactions → Bank transactions → Upload from file. Use the 3-column (Date, Description, Amount) or 4-column (Date, Description, Credit, Debit) layout, keep the file under 350 KB, and match the date format on the mapping screen.

Before you import

Check three things: the first and last transaction dates match the statement, the number of transactions matches, and the total of money out and money in matches the statement summary. If those three agree, the import will reconcile.

Stop fixing import files by hand

Rowvio turns bank exports, spreadsheets and PDFs into files QuickBooks, Xero, HubSpot and Excel accept, with a preview of every change. Free for beta testers.

Join the free beta

More articles