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
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
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
CSV for FreshBooks
Importing a period the connection already covers doubles 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 workRunning balance check
- 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.
| Rule | Requirement | Converted three-column CSV |
|---|---|---|
| Headers | Date + Amount, or Date + Amount Spent + Amount Earned, in the first row | Date, Description, Amount |
| Optional columns | Description; Category (Operating Expense parent categories only) | Description included |
| Amount signs | One column: money in positive, money out negative | Matches |
| Dates | One format, separated by slashes or dashes, chronological | One format, statement order |
| Amount cells | Numbers only, no letters or symbols | Numbers only |
| Size | Up to 500 transactions, 1,000 rows, 5 MB | Split longer statements |
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 connection | CSV from your bank | CSV converted from PDF | |
|---|---|---|---|
| Older history | Depends on the bank | Depends on the bank | Any statement you have |
| Closed or unsupported banks | No | Sometimes | Yes |
| Needs editing to fit FreshBooks | No | Often | No, three-column preset |
| Checked against statement balance | No | No | Yes, before export |
| Duplicate risk with connection | – | Yes, if periods overlap | Yes, if periods overlap |
Who uses it
Who uploads converted statements to FreshBooks
Freelancers catching up for tax time
Months of business activity sitting in PDF statements. Convert, upload and categorise before filing.
Manual bank accounts
Accounts set up without a connection, kept current with a monthly statement upload.
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.
Keep going
Related guides and converters
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.