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. Download the PDF from your bank. Most banking portals let you pick a statement period and download it as a PDF.
  3. Convert it to CSV. Upload the PDF to ClearlyLedger, which auto-detects the bank format, extracts every transaction, and verifies the balance math before you download.
  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.

The "Ask an AI Chatbot to Parse It" Workaround — and Why It Falls Short

A common next step is pasting the PDF text into a general-purpose AI chatbot and asking for a CSV back. It can work. It also comes with three problems that show up quickly once you're doing this every statement cycle:

  • It's inconsistent. Multi-page statements, wrapped transaction descriptions, and running-balance columns confuse a general-purpose model that wasn't built for tabular bank data specifically. Results vary statement to statement, and nothing checks whether the output is actually complete — a silently dropped row just looks like a shorter file.
  • It costs per use. API-based access is metered. A workflow you repeat every statement period adds up, for a tool that was never purpose-built for the job.
  • It's a privacy trade-off. Your statement — account number, balance, every transaction — goes to a third-party service as chat input. For financial data, that's a real exposure most people don't weigh carefully until after the fact.

Is It Safe to Convert a Bank Statement Online?

This is the right question to ask, and it's the exact concern that makes pasting a statement into a general chat tool uncomfortable. The answer depends entirely on the converter's data-handling policy, not on whether "AI" is involved anywhere in the pipeline.

ClearlyLedger processes PDFs in memory and deletes the source file within seconds of conversion. Your statement is never stored, never shared, and never used to train AI models.

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?

It depends on the tool's retention policy, not on whether it uses AI. Look for in-memory processing, immediate deletion of the source file, and an explicit statement that data isn't used to train models. ClearlyLedger does 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-verified CSV. Using QuickBooks, Wave, or Quicken instead? See the same conversion for QuickBooks, Wave, or Quicken.

Loading interactive converter… Try ClearlyLedger free