How to Import a PDF Bank Statement into FreshBooks

FreshBooks accepts CSV files only, never a PDF, and has two separate CSV imports that easily get confused: Expenses import keeps only negative amounts (spending), while Bank Reconciliation's import brings in a full statement. This guide covers which one to use, the plan-tier requirement, the exact column formats, and the opening-balance gotcha that makes older transactions seem to vanish after import.

Last updated 2026-08-23

TL;DR

FreshBooks has two separate CSV imports that do different things, and picking the wrong one is the most common mistake. Import expenses from a file only brings in negative amounts (spending) — income gets silently dropped. If you want a full bank statement (deposits and withdrawals both), use Bank Reconciliation's CSV import instead, which requires a Plus, Premium, or Select plan (not available on Lite). Either way, FreshBooks needs a CSV, never a PDF, so convert first.

FreshBooks connects to banks automatically via Plaid or Yodlee for most users, but that connection only reaches back 30 to 365 days and doesn't cover every bank. When you need older history, a bank without a live connection, or you'd rather not link account credentials to a third-party service, the fallback is a manual CSV import. FreshBooks doesn't read a PDF for that, and the platform actually has two different CSV imports that easily get confused with each other.

Two Different CSV Imports — Pick the Wrong One and Income Disappears

FreshBooks' Expenses > Import Expenses from a File path only imports spending. Per FreshBooks' own documentation, if your CSV has both positive and negative amounts, only the negative ones (withdrawals, payments, debits) get imported — any income rows in the same file are silently skipped, not flagged as an error.

If you want a genuine bank statement, deposits and withdrawals both, use Bank Reconciliation's transaction import instead. It's a separate feature under Accounting, and it's the one that actually reflects a full statement rather than just your spending.

The Plan-Tier Requirement Nobody Mentions Upfront

Bank Reconciliation isn't available on every FreshBooks plan. Per FreshBooks' own support documentation, it requires a trial, Plus, Premium, or Select plan — if you're on Lite, the feature isn't there at all. Worth checking before you build a CSV expecting to use it.

Step-by-Step: PDF to FreshBooks Bank Reconciliation

  1. Set up Bank Reconciliation for the account first. If you haven't already, add the bank account under Bank Reconciliation before uploading any CSV — the import path expects an existing reconciliation account to import into.
  2. Grab the PDF from your bank's site. Pick the statement period you need before downloading rather than exporting the full history.
  3. Convert to CSV with ClearlyLedger. The bank's layout is detected automatically, every transaction is extracted, and the balance is verified before you get a file.
  4. Match FreshBooks' required headers. Bank Reconciliation accepts either a single Date + Amount column (positive for money in, negative for money out) or a two-column Date + Amount Spent + Amount Earned format (both columns positive). Description and Category are optional extras.
  5. Check the size limits before uploading. FreshBooks caps CSV imports at 500 transactions, 1,000 rows, and 5MB per file — split a large statement into more than one file if it exceeds any of those.
  6. Import and wait it out. Under Accounting, open the bank account's reconciliation view, select Add Bank Transaction > Import from File, match the columns, and confirm. FreshBooks' own documentation says this can take up to 15 minutes, and you have to stay logged in or the import gets interrupted partway through.

CSV Format at a Glance

Column layout Sign convention Best for
Date + Amount (1 column) Positive = money in, negative = money out Statements that already show a single signed amount column
Date + Amount Spent + Amount Earned (2 columns) Both columns positive only Statements with separate debit and credit columns

Dates need to use a consistent format throughout the file and dashes or slashes between the numbers (01/17/2026 and 01-17-2026 both work; other separators don't). Rows must be in chronological order, and the file needs to be a clean single-sheet CSV — multiple tabs in one file will fail the import.

The Opening Balance Start Date Gotcha

If any imported transactions are dated before your account's Opening Balance Start Date in FreshBooks, they won't show up for matching until you go back and reset that start date to cover the earlier transactions. This trips people up specifically when importing historical statements that predate when they first set up reconciliation — the import succeeds, but the older rows seem to vanish until the start date is adjusted.

Why a Chatbot Won't Pick Between FreshBooks' Two Column Layouts

Asking a general AI chatbot to turn the PDF into a CSV seems simpler than dealing with FreshBooks' two import paths and two column layouts. In practice it just moves the same problem somewhere less visible:

  • It has no reason to pick the right column layout. A chatbot doesn't know whether you need the single signed Date + Amount format or the two-column Date + Amount Spent + Amount Earned format for Bank Reconciliation — it outputs whichever shape looks reasonable, and mismatched columns are what get rejected at the mapping step.
  • Parsing isn't consistent run to run. Multi-page statements and wrapped transaction text get handled differently by a model that wasn't purpose-built for tabular bank data, so a file that imported cleanly last cycle can come back malformed this time with no error surfaced.
  • The statement itself becomes chat input. Account number, balance, and every line item get pasted into a third-party conversation — a real exposure for financial data that a purpose-built converter avoids by discarding the file after processing.

What ClearlyLedger Does With the PDF After Upload

The file is processed in memory and the source PDF is deleted within seconds of the output being ready — it's never stored, shared, or fed into training a model. That's a meaningfully different arrangement from typing a statement into a general chat interface, where the input can be retained as part of the product itself.

Frequently Asked Questions

Can FreshBooks read a PDF bank statement directly?

No. FreshBooks' import tools accept CSV files only. A PDF statement needs to be converted to CSV first.

Why did my income disappear after importing into FreshBooks?

You likely used the Expenses import instead of Bank Reconciliation's import. The Expenses path only keeps negative amounts (spending); if your CSV had both income and spending, only the spending rows were imported. Use Bank Reconciliation's CSV import instead for a full statement.

Do I need a specific FreshBooks plan to import bank transactions?

Bank Reconciliation, and its transaction import, requires a trial, Plus, Premium, or Select plan. It isn't available on the Lite plan.

How many transactions can I import at once?

Up to 500 transactions or 1,000 rows per CSV file, whichever limit is hit first, and the file must be under 5MB. Split a larger statement into multiple files if needed.

Is it safe to use an online tool to convert a bank statement?

Focus on the retention policy rather than whether AI is mentioned in the pitch. In-memory processing, immediate deletion of the source file after conversion, and a plain statement that data isn't used for training are what to look for — ClearlyLedger offers all three.

Key Takeaways

  • FreshBooks has two different CSV imports: Expenses (spending only) and Bank Reconciliation (full statement) — use Bank Reconciliation for a real bank statement.
  • Bank Reconciliation requires a Plus, Premium, Select, or trial plan — not available on Lite.
  • CSV limits: 500 transactions, 1,000 rows, 5MB per file.
  • Imports can take up to 15 minutes and are interrupted if you log out mid-import.
  • Transactions dated before your Opening Balance Start Date won't appear until that date is reset.

Ready to get your first statement into FreshBooks? Use ClearlyLedger's bank statement converter to get a clean, balance-checked CSV. Using QuickBooks, Wave, or Quicken instead? See the same conversion for QuickBooks, Wave, or Quicken.

Written by John Snow, Financial Data Specialist.

Loading interactive converter… Try ClearlyLedger free