Skip to content

How-to guide

How to extract transactions from a PDF

Updated July 12, 2026 · 6 min read

You have a PDF bank statement and you need the transactions as rows: date, description, amount, and a running balance you can check. Copy-paste rarely works, and retyping is slow and error-prone.

This guide walks through the practical ways to extract transaction data from a PDF, how to tell whether your file will cooperate, and how to clean the result so it reconciles and imports cleanly.

First, figure out what kind of PDF you have

There are two broad types. A text-based PDF has selectable text: you can click and drag to highlight a transaction line. A scanned or image-based PDF is a picture of a page, so highlighting selects nothing.

Test it quickly. Open the file and try to select a single amount with your cursor. If the text highlights, extraction will be more reliable because the characters already exist in the file. If nothing highlights, you have an image and you will need optical character recognition (OCR) to read the numbers.

This matters because it sets your expectations. Text-based files extract cleanly. Scanned files can still work, but OCR can misread a 5 as an S or drop a decimal, so you will need to check totals afterward.

Ways to get the data out

Manual copy-paste is fine for a handful of lines. Select the transaction block, paste into a spreadsheet, then split it into columns. The problem is that PDFs often paste everything into one cell or scramble column order, so it breaks down over many pages.

Spreadsheet import can help. Some versions of Excel and Google Sheets let you import from a PDF or use text-to-columns to split a pasted block on spaces or tabs. This works best on simple, single-column layouts with consistent spacing.

Conversion tools are built for this job. You upload the statement, the tool detects the transaction table, and it returns structured rows as CSV or Excel. Statement to Sheets does this and can also export formats accounting software understands, such as OFX, QFX, QBO, and QIF. Whichever route you pick, the goal is the same: one row per transaction with separate columns for date, description, and amount.

Clean and verify the extracted data

Extraction is only half the work. Start with dates. Statements mix formats, and a value like 03/04 can be March 4 or April 3. Convert everything to one consistent format and confirm the year, since statements often print only the month and day.

Next, handle amounts. Decide whether debits and credits sit in one signed column or two separate columns, and remove currency symbols, commas, and stray spaces so the numbers calculate. Watch for negative values shown in parentheses, which spreadsheets may not read as negative.

Finally, verify with the balance. Take the opening balance, apply each transaction in order, and confirm you land on the closing balance printed on the statement. If it matches, your extraction is complete and correctly signed. If it is off, the difference often points to a missing row, a duplicated line, or a debit recorded as a credit.

Import into your accounting software

Once the data is clean, most tools accept a CSV upload where you map columns to date, description, and amount. QuickBooks Online, Xero, and Wave all support this general flow: upload the file, match your columns to their fields, then review before posting.

If a CSV mapping gives you trouble, a bank-native format is often smoother. OFX, QFX, and QBO files carry transaction structure the software already expects, which reduces mapping errors. QIF is an older format still accepted by some programs. Banks and larger systems may also use MT940, BAI2, or CAMT.

Before you import a large batch, run one statement end to end as a test. Confirm the dates, amounts, and signs land correctly, check for duplicates against transactions already in your books, and only then process the rest.

Ready to convert a statement?

Upload a PDF, review every row, and export in seconds.

Convert a statement
Why does copy-paste from a PDF scramble my columns?

PDFs store text by position on the page, not in a table structure. When you paste, that layout is lost, so columns can merge or reorder. A conversion tool or text-to-columns split usually restores the structure more reliably.

Can I extract transactions from a scanned statement?

Yes, but it requires OCR to read the image into text. OCR can misread digits, so after extraction check the totals against the printed closing balance and spot-check any amounts that look unusual.

How do I know the extraction is accurate?

Reconcile against the statement itself. Start from the opening balance, apply each extracted transaction, and confirm you reach the printed closing balance. A match confirms both the rows and their debit or credit signs.

Which format should I use to import into QuickBooks or Xero?

CSV works everywhere if you map columns to date, description, and amount. If mapping is fiddly, a bank-native format like OFX, QFX, or QBO often imports more cleanly because it carries the transaction structure the software expects.

Related

PDF → Excel converterHow To Convert Pdf Bank Statement To ExcelOCR a PDF