Tickvouch free, in your browser · how we compare

Convert a bank statement PDF into a file your accounting software accepts

Tickvouch reads a PDF bank statement in your browser and writes a file shaped for the software you use: QuickBooks Online, Xero, Sage Business Cloud, Wave, FreshBooks, or QIF. Each preset follows the column names, date format and sign convention that the vendor itself publishes, so the import does not fail on a formatting rule you never saw.

Convert once, then choose the destination. The same checked data comes out in whichever shape you need, and the reconciliation result is shown before you download anything.

The point of that check is what you do afterwards, which is nothing. You do not read the rows back against the PDF, and you do not re-add the column in a spreadsheet to see whether the converter dropped something. The sum that would have told you either way has already run, and it printed its working.

Every rule on this page was read on the vendor's own documentation on 14 August 2026. Vendors change these pages. Where we could not read a rule at the vendor's own site, this page leaves it out rather than repeating what other tools say about it.

Convert your statement here

This is the whole tool, running on this page. The PDF is read on your machine; nothing is uploaded. Turn your internet off and convert anyway. That is the test.

Drop a PDF statement here

or click to choose one. One file in, one checked spreadsheet out.

Text-based e-statements from online banking, not scans or phone photos.

The statement does not leave this tab. The PDF is read here by pdf.js, Mozilla's PDF library, and the rows are parsed on your own machine. Nothing is uploaded, because there is nowhere to upload it to.

Everything this page loads, it loads from tickvouch.com: the stylesheet, the converter, pdf.js, and the spreadsheet writer. Once loaded, a conversion makes no network request at all. The page also sets a Content-Security-Policy of default-src 'self', so the browser itself refuses a request to any other host, whatever we might write on this page.

Check it rather than take it: turn your wi-fi off and convert anyway, or open the network panel in your browser and watch while you do. No account, no card, no sign-up.

The error you find after it is already in your books

A wrong number in a spreadsheet is a nuisance. The same number inside your accounting software is a different kind of problem, because you stop looking at it. It shows up weeks later as a reconciliation that will not close, and by then you are hunting one row across a month you have already reviewed.

A reviewer who rated a paid converter three out of five described the sequence plainly:

"I converted mass amounts of data and was happy until I went to import it into QBP and noticed the errors. Didn't really save me much time overall."

Elaine M., review of DocuClipper, Capterra, 29 June 2023 — capterra.com

Read the order of events in that sentence. The file looked right. It went in. The errors were found afterwards, by her, on her time. Nothing in the conversion told her which file to distrust, so the checking became her job again.

This is the one thing the converter is built to answer. Before any of the files below is written, Tickvouch adds up what it pulled out of the PDF: the opening balance plus every transaction has to equal the closing balance the statement itself prints. You see the result and the arithmetic while you are still on this page, which is the cheapest moment to find a problem and the last moment you can act on it for free.

That is a real FAIL, rendered the way the tool renders it. We show it here because a converter that only ever shows you its wins is telling you nothing about the case you actually need protection from. A FAIL never blocks the download either: you get the file and the warning, rather than one held hostage to the other.

A PASS is not a promise that every description and date is perfect, and we will not pretend otherwise. It is a specific, checkable statement: on this file, the money adds up. You can redo that sum by hand in a minute, which is the point.

What each preset writes

DestinationColumnsDateVendor's own limit
QuickBooks Online Date, Description, Amount dd/mm/yyyy 1,000 lines, 350 KB
Xero Date, Amount, Payee, Description yyyy/mm/dd 100,000 rows
Sage Business Cloud Date, Description, Amount, in that order dd/mm/yyyy column order is fixed
Wave Date, Description, Amount yyyy-mm-dd four columns at most
FreshBooks Date, Description, Amount yyyy-mm-dd 500 transactions
QIF !Type:Bank, then D, T, P, M per record mm/dd/yyyy no published specification

In every preset money out is negative and money in is positive, in a single column. That is what QuickBooks, Xero, Sage, Wave and FreshBooks each document, and it removes the one ambiguity a debit and credit column pair introduces.

Amounts are written without a currency symbol and without a thousands separator. A comma inside an amount is the most common reason an import is rejected.

The rules behind each preset

QuickBooks Online

Intuit's file guidelines name QBO, QFX and CSV for a transaction list, and state that a CSV needs either three columns (Date, Description, Amount) or four (Date, Description, Credit, Debit). We write the three-column form. Intuit recommends dd/mm/yyyy, caps an upload at 1,000 lines and 350 KB, and asks for a cell that would contain zero and nothing else to be blank. We do not write .qbo files, and the QuickBooks page explains why that is Intuit's constraint rather than ours.

Xero

Xero needs only Date and Amount to create bank statement lines, and marks Payee as recommended. Income and expense must share one column, with expenses negative. Xero says not to use commas to show decimal places, asks for a unique header row in row 1, requires opening and closing balance columns to be deleted because it calculates the balance itself, and refuses a file over 100,000 rows. We write yyyy/mm/dd, one of the formats Xero lists, because that order cannot be read the wrong way round.

Sage Business Cloud Accounting

Sage is the strictest here. Its documentation states the file must contain columns labelled Date, Description and Amount and be in that order, and that the Amount column must only contain numbers. Sage asks you to confirm the date order as you upload.

Wave

Wave takes three or four columns and fails on more. It documents dates as YYYY/MM/DD or YYYY-MM-DD, and asks for a minus sign or brackets on negative amounts. Wave maps the columns interactively while importing, so the header names are a convenience rather than a requirement.

FreshBooks

FreshBooks needs a Date column plus either one Amount column or the pair Amount Spent and Amount Earned. It caps a file at 500 transactions, publishes no fixed date format beyond using one format throughout, and asks that amount columns contain only numbers.

QIF

QIF has no specification in print anywhere today, and no country marker inside the file, which makes its dates genuinely ambiguous. The QIF page sets out what we write and what to check after importing. Xero, Zoho Books, Sage, GnuCash and Quicken read QIF. QuickBooks does not.

Sources, each read 14 August 2026: QuickBooks Online · Xero · Sage · Wave · FreshBooks · GnuCash QIF notes.

The check that runs first

Before any of these files is written, Tickvouch adds up what it extracted: opening balance plus every transaction must equal the closing balance. You see PASS or FAIL with the arithmetic, and a FAIL tells you the exact difference.

That matters more for an import than for a spreadsheet. A row lost on its way into your books does not announce itself; it turns up later as a reconciliation that will not close. A file that fails the check still downloads, because the warning belongs with the data rather than in place of it.

Rows the parser was unsure about are flagged. The Xero and QIF presets carry those flags into a field you can see after the import. The three-column formats have no room for them, so download the full CSV as well when a row is flagged.

What Tickvouch cannot do

Text-based PDF e-statements only, the kind you download from online banking. Scans and phone photos have no text layer, and Tickvouch refuses them instead of guessing.

Amounts must carry two decimal places, which keeps reference numbers out of the amount column.

We write no .qbo file and no OFX or QFX file. Those are bank-issued formats, and the QuickBooks page sets out the reason.

A PASS means the arithmetic agrees. It is not a promise that every date and description is correct.