Import Bank Statements into FreshBooks (CSV Guide)
By SheetStatement Team · · Updated · 11 min read
TL;DR: FreshBooks gives you two file-based routes. On plans with Bank Reconciliation, create a manual bank account (or use a connected one), set a reconciliation start date and opening balance, then upload a CSV of transactions to reconcile. Without Bank Reconciliation, you can import expenses from a CSV. Either way, convert PDF statements to CSV first, keep files chronological and within FreshBooks' size limits, and check the opening balance.
FreshBooks is built around invoicing and getting paid, and many users never think about bank statements until something goes wrong: the bank connection only pulled part of the history, the bank isn't supported in their region, or the accountant wants last year's transactions reconciled. That's when file imports matter.
This guide reflects FreshBooks' own help documentation at the time of writing. FreshBooks updates its product regularly, so if a step looks different in your account, check the FreshBooks support site for the current version.
Two different imports
FreshBooks distinguishes between:
- Bank Reconciliation transactions. Bank lines imported into a bank account in FreshBooks' Accounting section, where you match them to invoices, expenses and other entries, mark transfers and owner's equity, and reconcile to your statements. According to FreshBooks, Bank Reconciliation is available on trials and on its Plus, Premium and Select plans.
- Expenses from a file. A CSV import into the Expenses section, which creates expense records. FreshBooks' documentation describes this route for bringing in missing or older expenses, and it focuses on money out.
If you're on a plan with Bank Reconciliation, the first route is usually the right one, because it keeps all bank activity (in and out) in one place and lets you reconcile. FreshBooks' help also points Bank Reconciliation users to that route rather than the expense import.
Why file imports are needed
FreshBooks' bank connections use third-party aggregators and, per FreshBooks, can pull a limited window of activity, between 30 and 365 days depending on the bank. Anything older has to come in from a file. Files also cover banks that aren't supported by connections in your region, and gaps when a connection breaks. FreshBooks' own help notes that missed transactions from a connection can be added by importing CSV files at any time.
Getting a CSV from your statements
FreshBooks needs a CSV. If your bank offers a CSV download for the period, use the statement period dates. If you only have PDF statements, which is common for older months, convert them: SheetStatement's bank statement to CSV converter extracts every transaction and checks the statement balances.
Verify before importing: opening balance + sum of transactions = closing balance. Our balance checker does this automatically.
Route 1: Bank Reconciliation with a CSV
Set up the account
If the account isn't connected, add a manual bank account in the Accounting section's bank reconciliation area. FreshBooks asks for a reconciliation start date and the opening balance on that date. FreshBooks recommends using the first day of a recent bank statement (or the start of a credit card statement period) as the start date.
Two things worth knowing from FreshBooks' documentation:
- A manual bank account can't be deleted once created, so name it carefully.
- The opening balance is the anchor for every reconciliation after it. Take it from the statement, not from memory.
Prepare the CSV
FreshBooks' help lists the headers it expects. In outline, each transaction needs a Date, a Description, a Category, and either a single Amount column or separate columns for amount spent and amount earned. Check the help article for the exact header names, since the import matches on them.
FreshBooks also states:
- No more than 500 transactions per file.
- Under 5 MB.
- Chronological order.
So for a busy account, split the year into monthly or quarterly files. Splitting by statement period is the most natural choice: each file then matches one PDF, which makes checking simple. A layout along these lines:
Date,Description,Category,Amount
2026-03-03,OFFICE SUPPLY CO,Office Supplies,-84.12
2026-03-05,CLIENT PAYMENT ABC,Sales,2400.00
Signed amounts: money in positive, money out negative, if you use the one-column option.
Import
In outline, from FreshBooks' steps: in Accounting, open the bank account's reconciliation, use Add Bank Transaction and choose Import from File, select the CSV, match each field to your file's columns, choose one-column or two-column amounts, confirm the date format, and import. FreshBooks notes the import can take up to 15 minutes and that you need to stay logged in while it runs.
Reconcile
Once imported, the transactions appear as unreconciled bank transactions. Match them to existing invoices, payments and expenses, create expenses where needed, mark transfers between accounts and owner's equity movements, and work towards the statement's closing balance.
Route 2: importing expenses from a file
If you don't have Bank Reconciliation, or you only want expense records, FreshBooks lets you import expenses from a CSV in the Expenses section (under a "More Actions" style menu, per its help). You match columns, choose the currency and currency format, and pick the date format.
Per FreshBooks' documentation, this import is about money out: if a file contains both positive and negative amounts, the negative amounts are the ones imported. If you accidentally import credits or reimbursements, delete them afterwards. Files should be in a single currency.
This route is handy for bringing in older card expenses, for example, but it won't help you reconcile deposits.
Categories: decide before you import
Because FreshBooks' bank transaction CSV includes a Category field, you can pre-assign categories in your spreadsheet. That's a real time saver for large imports: categorize a year in Excel with a rules table (see Excel formulas for categorizing transactions), then import with categories already set.
Two cautions. First, the category names in your file should match the categories in your FreshBooks account, or you'll end up reviewing and correcting them afterward. Export or list your FreshBooks categories first, and build your rules table around them. Second, deposits that are invoice payments shouldn't be categorized as new revenue if you're going to match them to existing payments. Leave those uncategorized, or use a placeholder you'll replace when matching, so you don't double count.
Credit cards in FreshBooks
Credit card accounts work the same way for reconciliation: add the card as an account (connected or manual), set the reconciliation start date to the beginning of a statement period with the card's balance at that point, and import a CSV of the card's transactions. Be deliberate about signs. FreshBooks' import asks you to choose a one-column or two-column amount format; with one column, make sure charges and payments have opposite signs and check a known purchase and a known payment after importing. Our credit card statement converter produces consistent card files.
The payment from your bank account to the card appears on both. Mark it as a transfer between the two accounts rather than an expense.
Owner's equity and transfers
FreshBooks' bank reconciliation lets you mark transactions as transfers and as owner's equity movements. For sole proprietors who move money between business and personal accounts, this is important: money you put in or take out isn't income or an expense. Mark those transactions accordingly during reconciliation. If you're unsure how your accountant wants owner money recorded, ask before you work through a year of it.
Multi-currency accounts
If you have bank accounts in more than one currency, set up each FreshBooks bank account in its own currency, and import each account's transactions in that currency. Don't convert amounts before importing. The expense import also expects a single currency per file, according to FreshBooks' documentation, so split mixed-currency card statements by currency first.
Avoiding duplicates
- If the account also has a bank connection, find the earliest transaction it brought in and only import CSV transactions dated before it.
- Import one statement period per file and keep a short log of what you've imported.
- Before importing, check FreshBooks for any "likely matches" prompt and handle it; FreshBooks may suggest matches with existing entries.
If duplicates slip through, FreshBooks' bank reconciliation lets you delete (and undelete) transactions. Compare with the statement before deleting: identical transactions on the same day can be genuine.
Invoices and deposits
Because FreshBooks is invoice-centric, many deposits correspond to invoice payments already recorded in FreshBooks. When you import bank transactions, match those deposits to the recorded payments rather than recording them again as income. Otherwise, revenue is doubled.
If customers pay through a payment processor, the bank deposit may be net of fees, and may cover several invoices. Matching a single deposit to several payments, and recording the fees, keeps the books right. FreshBooks' own payment processing records fees on its side; for third-party processors, use the processor's reports.
A pre-import checklist for FreshBooks
- You know which route you're using: Bank Reconciliation or expense import.
- The account exists in FreshBooks with the right currency, and for reconciliation, the correct start date and opening balance.
- The CSV has the headers FreshBooks expects for that route.
- Transactions are in chronological order.
- The file has no more than 500 transactions and is under 5 MB.
- Amounts are plain numbers, with a consistent sign convention.
- Categories match your FreshBooks categories, or are left for review.
- The dates don't overlap with a bank connection or a previous import.
- Opening balance plus the sum of the file equals the statement's closing balance.
If all nine are true, the import is very likely to work first time, and the reconciliation that follows should balance.
When to involve your accountant
Bring your accountant in before setting the reconciliation start date on an account that already has history in FreshBooks, before importing a full year into a live account, and whenever you're unsure how to treat owner money, loans or processor fees. A short conversation up front is much cheaper than unpicking a year of imports. FreshBooks also lets you invite an accountant to your account, which makes it easy for them to review what you've done.
A worked example
A consultant on a FreshBooks plan with Bank Reconciliation wants the previous year reconciled for her accountant. Her small regional bank isn't supported by bank connections in her area, so everything has to come from files.
- She creates a manual bank account named after the real account and its last four digits, since manual accounts can't be deleted later.
- She sets the reconciliation start date to January 1 and the opening balance to the closing balance on her December statement.
- She converts twelve monthly PDF statements to CSV. Each one balances against its opening and closing figures.
- Her account has around 120 transactions a month, so she imports one month per file, comfortably under the 500-row limit.
- For each month, she matches client deposits to invoice payments already recorded in FreshBooks, creates expenses for the rest, and marks transfers to her savings account.
- Each month reconciles to the statement's closing balance before she imports the next.
Her accountant gets a full, reconciled year. From then on, she imports each month's statement as it arrives, which takes about fifteen minutes.
Troubleshooting
The import fails. Check headers against FreshBooks' list, file size, row count (500 maximum), chronological order, and that amounts are plain numbers.
Dates wrong. Choose the correct date format during import; check a date after the 12th of a month.
Credits missing in an expense import. Expected: the expense import is for money out. Use Bank Reconciliation for deposits.
Revenue doubled. Deposits were recorded as new income rather than matched to invoice payments.
Reconciliation doesn't balance. Check the opening balance and start date, look for duplicates with the bank connection, and verify the CSV against the statement. Our reconciliation discrepancies guide helps.
Our take
FreshBooks handles bank files well once you know which route you're on. With Bank Reconciliation, use a manual or connected account, a clean chronological CSV under the limits, and a correct opening balance. Without it, the expense import fills gaps on the spending side. Either way, start from verified statement data and match before you add.
Troubleshooting FreshBooks imports
The import says the file format isn't valid. Check the headers against the template FreshBooks offers on its import screen, remove blank rows, and save the file as plain CSV (not "CSV UTF-8 with BOM" if the import complains about the first column). Opening it in a text editor shows hidden problems that a spreadsheet hides.
Transactions appear but the reconciliation won't balance. Compare the reconciliation start date and opening balance with the statement. If the start date is March 1, the opening balance must be the balance at the end of February. A mismatch here throws off every month after it.
Invoice payments are counted twice. If clients pay through FreshBooks Payments, the payment is already recorded against the invoice. When the matching deposit arrives in the bank import, match it to the existing payment instead of creating new income.
Processor payouts don't match invoices. A single payout often covers several invoices, minus fees. Match the payout to the group of payments it covers, and record the fee as an expense.
Too many rows. Split the file by statement period and import each separately, which also makes each reconciliation easier to check.
A second worked example: switching from spreadsheets
A small consultancy kept its books in a spreadsheet for two years and moves to FreshBooks in July. The accountant wants the current year in FreshBooks.
- They set up the bank account with a reconciliation start date of January 1 and the December 31 balance from the statement.
- They convert the January to June statements and check each.
- They import one month at a time, matching deposits to the invoices they've re-created in FreshBooks for the year.
- They categorize the rest with the same categories their accountant used in the spreadsheet, so year-on-year comparisons still work.
- They reconcile each month before importing the next, and connect the bank feed from July 1.
Mini checklist
- Reconciliation start date and opening balance match the statement.
- One statement period per file.
- Invoice payments matched, not duplicated.
- Fees recorded separately from payouts.
- No overlap with the bank connection's dates.
FAQ
Can I import bank statements into FreshBooks?
Yes. On plans with Bank Reconciliation, you can upload a CSV of transactions to a bank account and reconcile them. FreshBooks also lets you import expenses from a CSV file.
What format does FreshBooks need for bank transaction imports?
A CSV with the headers FreshBooks specifies, including a date, description, category and amount (one column or separate spent and earned columns), in chronological order. Check FreshBooks' help centre for the exact headers.
Is there a limit on how many transactions I can import?
FreshBooks' documentation states a maximum of 500 transactions per CSV file and a file size under 5 MB. Split larger periods into several files.
Can FreshBooks import a PDF bank statement?
FreshBooks expects CSV files. Convert PDF statements to CSV first, then import.
Why weren't my deposits imported as expenses?
The expense import is designed for money out. Use Bank Reconciliation to bring in deposits and match them to invoices.
How far back can a FreshBooks bank connection import?
FreshBooks says connections can pull between 30 and 365 days of activity, depending on the bank. Import older transactions from CSV files.
Skip the retyping
Upload a PDF or scanned statement and download a balance-checked Excel, CSV, QuickBooks or Xero file. Try the converter free.
Related articles
Convert your first statement free
3 pages a month on the free plan. No credit card.