VouchRow

FreshBooks bank reconciliation import

Upload bank statements to FreshBooks

FreshBooks imports bank transactions from a CSV, not a PDF, and its rules are specific: named headers, one date format, numbers only, and no more than 500 transactions per file. Here is how to turn a PDF statement into a file that passes.

  • Date, Description, Amount in one signed column
  • Split under FreshBooks’ 500-transaction limit
  • One consistent date format
  • Checked against the statement balance first
statement.pdf statement.csv
Date,Description,Debit,Credit,Balance2026-03-02,ACH DEPOSIT STRIPE PAYOUT,,4210.00,16690.552026-03-03,POS AMAZON MKTPLACE,86.43,,16604.122026-03-05,CHECK #1042,1250.00,,15354.122026-03-08,ZELLE FROM J MORALES,,640.00,15994.12
Balanced · every row checked before this CSV file was written

The short answer

Can you upload a PDF bank statement to FreshBooks?

No. FreshBooks brings bank transactions in through its bank connections or through a CSV upload in the Accounting section, and its help says that if your bank only provides PDFs you need to convert the PDF to CSV first.

FreshBooks’ CSV rules are narrow: a Date column and either one Amount column or separate Amount Spent and Amount Earned columns, optionally Description and Category, one date format throughout, numbers only in the amounts, and no more than 500 transactions, 1,000 rows or 5 MB per file. Since July 2025 FreshBooks also lets you create a bank account manually and work entirely from CSV uploads, with no bank connection at all.

VouchRow converts the PDF statement, digital or scanned, into a CSV with Date, Description and Amount (money in positive, money out negative), after checking every row against the statement’s running balance. You upload the CSV yourself in FreshBooks.

Which format to use

The file FreshBooks wants

Start here

CSV for FreshBooks

FreshBooks’ own import format for bank transactions, and the only one it offers for manual upload.
What bites people

Importing a period the connection already covers doubles it

FreshBooks does not reconcile an uploaded CSV against transactions its bank connection already imported. Both sets stay, and there is no merge step. Before uploading, check the earliest date the connection has pulled and end your converted statement the day before it.

Step by step

How to upload a PDF bank statement to FreshBooks

This is FreshBooks’ Bank Reconciliation import, which puts transactions where they can be matched and reconciled.

  1. 1Find the dates FreshBooks is missingIf the account is connected, check the earliest transaction the connection imported. FreshBooks doesn’t merge a CSV with connected transactions, so the converted statement should end the day before.
  2. 2Convert and check the statementSign in and upload the PDF. Every row is checked against the running balance and the statement against its closing balance; flagged rows link to the highlighted line on the PDF.
  3. 3Export the three-column CSVUse the QuickBooks three-column preset: Date, Description, Amount, with money in positive and money out negative, which is FreshBooks’ one-column option. Choose a date order with slashes or dashes that matches the Date Format you will select in FreshBooks. Keep each file under 500 transactions.
  4. 4Open Import from File in FreshBooksGo to Accounting and click the “# left to match”, Add Transactions or Upload CSV link next to the bank account. Under Unreconciled Bank Transactions, click Add Bank Transaction, then Import from File.
  5. 5Map the fieldsChoose the CSV, map Date, Description and Amount, set Amount Format to 1 Column and the Date Format to the one in the file, then click Import Transactions. Large imports can take up to 15 minutes; stay signed in.
  6. 6Match, categorise and reconcileMatch the imported transactions to invoices, payments and expenses already in FreshBooks, categorise the rest, and reconcile the account against the statement’s closing balance.

Why it works

What converting first does for FreshBooks

Headers FreshBooks expects

Date, Description, Amount in the first row, with numbers only in the amount column. No bank logos, balance columns or summary rows to strip out.

One date format, in order

FreshBooks wants one date format and transactions in chronological order. A converted statement has both, decided once for the whole statement.

Balances that tie

Each statement is checked against its running and closing balance, so reconciliation in FreshBooks starts from rows that add up.

Old and scanned statements

Months before you connected, and paper statements, convert the same way.

Checked before export

A misread digit is caught on its own row

Every conversion is tested against the statement: the running balance on every row, page subtotals, opening plus movement against closing, the printed credit and debit totals, and the transaction count. When a number does not add up, VouchRow names the row and highlights the line it came from on the PDF.

Arithmetic only: it verifies amounts, balances and totals, not descriptions or dates, and two errors that cancel out would pass. The source-line link covers the rest.

How the checks work

Running balance check

RowAmountBalance
  • POS AMAZON MKTPLACE−86.4316,604.12
  • CHECK #1042−1,250.0015,354.12
  • ZELLE FROM J MORALES+640.0015,994.12

Every row agrees with the balance printed beside it.

CSV rules

FreshBooks CSV format for bank transactions

FreshBooks support lists these requirements for the Bank Reconciliation import. Breaking any one of them is enough for the file to fail or import partly.

RuleRequirementConverted three-column CSV
HeadersDate + Amount, or Date + Amount Spent + Amount Earned, in the first rowDate, Description, Amount
Optional columnsDescription; Category (Operating Expense parent categories only)Description included
Amount signsOne column: money in positive, money out negativeMatches
DatesOne format, separated by slashes or dashes, chronologicalOne format, statement order
Amount cellsNumbers only, no letters or symbolsNumbers only
SizeUp to 500 transactions, 1,000 rows, 5 MBSplit longer statements
FreshBooks bank transaction CSV requirements

Errors

Why a FreshBooks CSV import fails

FreshBooks’ troubleshooting list is short and specific. Most of it is about files exported from a bank and edited by hand, which a converted statement avoids.

  • Mixed date formats, or dates without slashes or dashes. FreshBooks also needs the Date Format chosen on import to match the file.
  • Letters or special characters in the amount column, including currency symbols.
  • Negative numbers in the Amount Spent or Amount Earned columns. Those two take positive numbers only; use the single Amount column if you want signs.
  • Empty cells and blank rows.
  • Headers missing or not in the first row. If a header is missing, FreshBooks skips the first row.
  • A workbook with several sheets, or a file over the 500-transaction, 1,000-row or 5 MB limit.
  • A corrupt file. FreshBooks suggests copying the data into a new workbook and saving it as CSV again.

Duplicates

Duplicates with a connected bank account

FreshBooks asks that every transaction in the CSV be unique and doesn’t reconcile an uploaded file against transactions its bank connection already imported. Upload a period the connection covers and you have both copies.

If it happens, select the duplicates under Unreconciled Bank Transactions, choose Bulk Actions and Delete. FreshBooks warns this also deletes the linked FreshBooks record, and deleted items can be restored from the deleted list.

Expenses import

Bank transactions import vs Import Expenses from a File

FreshBooks has a second CSV route, under Expenses → More Actions → Import Expenses from a File, which creates expenses rather than bank transactions. It needs different headers (Amount, Category, Date, Description and Merchant), and when amounts are mixed it imports only the negative ones.

For a bank statement, the Bank Reconciliation import is usually the right one: it brings in money in as well as money out, and the transactions can then be matched to invoices and expenses already in FreshBooks.

Manual accounts

Running FreshBooks without a bank connection

Since July 2025, FreshBooks lets you create a bank account manually, set a starting balance, and keep it current with CSV uploads. That suits banks FreshBooks can’t connect to and businesses that would rather not connect at all.

For a manual account, a monthly routine works well: download the month’s PDF statement, convert and check it, upload the CSV, and reconcile to the statement’s closing balance. The starting balance you set should equal the opening balance on the first statement you import.

Side by side

Ways to get transactions into FreshBooks

Bank connectionCSV from your bankCSV converted from PDF
Older historyDepends on the bankDepends on the bankAny statement you have
Closed or unsupported banksNoSometimesYes
Needs editing to fit FreshBooksNoOftenNo, three-column preset
Checked against statement balanceNoNoYes, before export
Duplicate risk with connection–Yes, if periods overlapYes, if periods overlap

Who uses it

Who uploads converted statements to FreshBooks

01

Freelancers catching up for tax time

Months of business activity sitting in PDF statements. Convert, upload and categorise before filing.

02

Manual bank accounts

Accounts set up without a connection, kept current with a monthly statement upload.

03

Accountants cleaning up a client file

Filling the gap before a connection started, then reconciling every account to its statements.

FAQ

FreshBooks imports: questions

Can FreshBooks import a PDF bank statement?

No. FreshBooks imports bank transactions from CSV, and its help says to convert a PDF statement to CSV first.

What columns does FreshBooks need in the CSV?

Date and Amount, or Date, Amount Spent and Amount Earned, in the first row. Description and Category are optional. Our three-column CSV writes Date, Description, Amount.

How many transactions can I import at once?

Up to 500 transactions, 1,000 rows or 5 MB per file. Split a long statement into several files.

Does FreshBooks accept OFX or QBO?

Its manual import is CSV. OFX and QBO aren’t offered for upload.

Can I import income as well as expenses?

Yes, through the bank transactions import. A single signed Amount column carries both: positive for money in, negative for money out.

Why did only some transactions import?

Usually empty cells, a mixed date format, or a file over the limit. In the Expenses import, mixed signs mean only negative amounts are imported.

How do I remove duplicates after an import?

Select them under Unreconciled Bank Transactions, then Bulk Actions → Delete. This also deletes the linked FreshBooks record, so check before confirming.

Every format we write for FreshBooks

Get PDF statements into FreshBooks

Upload a statement, check it against its balances, and export a CSV FreshBooks accepts.