How to Import Bank Statements into FreshBooks from PDF
Published on February 26, 2026 by CapyParse Team

FreshBooks is a favorite among freelancers and small business owners for invoicing and expense tracking. But when it comes to importing bank statements, there's a catch: FreshBooks cannot import PDF bank statements directly. If you've downloaded a statement from your bank as a PDF and tried to upload it to FreshBooks, you've already discovered this the hard way.
Quick Summary
FreshBooks requires CSV format for manual bank statement imports and won't accept PDFs. CapyParse converts your bank statement PDF into a clean, FreshBooks-ready CSV in seconds. Upload your PDF, download the CSV, and import it into FreshBooks via Expense Import or Bank Reconciliation.
Why FreshBooks Can't Import PDF Bank Statements
Bank statement PDFs are designed for humans to read, not for accounting software to parse. They contain logos, headers, footers, page numbers, and varying layouts across different banks. FreshBooks, like most accounting tools, needs structured data in rows and columns, which means CSV.
FreshBooks does offer automatic bank connections through Plaid, Salt Edge, and Yodlee. If your bank is supported, you can link your account and transactions flow in automatically. However, these connections have significant limitations:
- 90-day history cap: Bank connections typically only pull the last 90 days of transactions. Anything older requires manual import.
- Not all banks supported: Smaller banks, credit unions, and international institutions are often missing from FreshBooks' connection list.
- Connection breaks: Bank feeds disconnect frequently and require re-authentication, leaving gaps in your transaction history.
For historical statements, unsupported banks, or any situation where automatic connections fall short, converting your PDF to CSV and importing manually is the reliable path.
FreshBooks' Two Import Paths
FreshBooks offers two distinct ways to import bank transaction data, and they serve different purposes. Choosing the right one matters because they expect different CSV formats.
| Feature | Expense Import | Bank Reconciliation |
|---|---|---|
| Purpose | Create expense entries from transactions | Match transactions against existing records |
| Required columns | Date, Amount, Category, Description, Merchant | Date, Amount, Description |
| Best for | First-time imports, catching up on bookkeeping | Verifying existing records, month-end close |
| Transaction limit | 500 per file | 500 per file |
| Creates new expenses? | Yes, automatically | No, matches to existing entries |
Which should you choose? If you're importing bank statements to record expenses you haven't entered yet, use Expense Import. If you've already logged your expenses and want to verify them against your bank statement, use Bank Reconciliation. Most users importing PDF bank statements for the first time will want Expense Import.
CSV Format Requirements for FreshBooks
Getting the CSV format right is the most common stumbling block. Here's exactly what FreshBooks expects for each import path:
Expense Import Format
| Column | Required? | Format / Notes |
|---|---|---|
| Date | Yes | MM/DD/YYYY or YYYY-MM-DD. Must be consistent throughout. |
| Amount | Yes | Numeric, no currency symbols. Use negative for credits/refunds. |
| Category | Recommended | Must match an existing FreshBooks expense category exactly |
| Description | Recommended | Transaction description or memo |
| Merchant | Optional | Vendor or payee name |
Bank Reconciliation Format
| Column | Required? | Format / Notes |
|---|---|---|
| Date | Yes | MM/DD/YYYY or YYYY-MM-DD. Must match your FreshBooks date setting. |
| Amount | Yes | Numeric, no currency symbols. Debits negative, credits positive. |
| Description | Yes | Transaction description used for matching |
Important formatting rules: FreshBooks requires UTF-8 encoding (not Windows-1252 or Latin-1). Date formats must be consistent. Mixing MM/DD/YYYY and DD/MM/YYYY in the same file will cause silent mismatches. And there's a hard limit of 500 transactions per file.
Convert Your Bank Statement and Import into FreshBooks (Step-by-Step)
Here's the complete process from PDF to FreshBooks, start to finish:
Step 1: Download Your Bank Statement PDF
Log into your bank's online portal and download the statement you need as a PDF. Most banks keep 1-7 years of statements available. Download each month you want to import as a separate PDF file.
Step 2: Convert PDF to CSV with CapyParse
Go to CapyParse and upload your bank statement PDF. CapyParse uses AI to extract every transaction (dates, descriptions, amounts, and balances) and outputs a clean CSV. The entire process takes seconds, and you can upload multiple statements at once.
Step 3: Format the CSV for FreshBooks (If Needed)
CapyParse outputs a standard CSV with Date, Description, and Amount columns, which works directly for Bank Reconciliation. For Expense Import, you may want to add a Category column in Excel or Google Sheets to map transactions to your FreshBooks expense categories. Also check that your date format matches your FreshBooks settings.
Step 4: Import into FreshBooks
For Expense Import: Go to Expenses in FreshBooks, click Import Expenses, and upload your CSV. Map the columns when prompted and review the preview before confirming.
For Bank Reconciliation: Go to Accounting > Bank Reconciliation, select your account, and upload the CSV. FreshBooks will match transactions against your existing records and flag any discrepancies.
Convert Your Bank Statement for FreshBooks
Upload any bank statement PDF and get a FreshBooks-ready CSV in seconds. 10 free pages, no credit card required.
Try CapyParse FreeTips for a Smooth FreshBooks Import
Keep Dates Consistent
FreshBooks is strict about date formats. If your CSV uses MM/DD/YYYY, every row must use that format. A single DD/MM/YYYY entry will throw off the entire import. Check your FreshBooks date format under Settings > Organization and match it exactly.
Save as UTF-8
If you edit the CSV in Excel, save it as CSV UTF-8 (not just "CSV"). Excel's default encoding can introduce characters that FreshBooks can't read, causing the import to fail silently or corrupt transaction descriptions with special characters.
Split Large Files
FreshBooks has a 500-transaction limit per file and a 15-minute import timeout. If your statement has more than 500 transactions (common with business accounts), split the CSV into multiple files. Import them one at a time to avoid timeouts.
Match Categories Exactly
When using Expense Import with a Category column, the category names must exactly match your existing FreshBooks expense categories. Check your categories under Expenses > Categories first. Mismatched names will create new categories or cause import errors.
Common FreshBooks Import Errors and Fixes
If your FreshBooks import fails or produces unexpected results, here are the most common issues and how to resolve them:
| Error / Symptom | Likely Cause | Fix |
|---|---|---|
| "Unable to read file" | Wrong encoding (not UTF-8) or file saved as .xlsx instead of .csv | Re-save as CSV UTF-8 from Excel or Google Sheets |
| Dates are wrong or swapped | Date format mismatch (e.g., DD/MM vs MM/DD) | Match the date format to your FreshBooks org settings |
| Import times out | Too many transactions (over 500) or very large file | Split into files of 500 transactions or fewer |
| Amounts missing or zero | Currency symbols ($, EUR) in the Amount column | Remove all currency symbols; use plain numbers only |
| "Category not found" | Category name in CSV doesn't match FreshBooks exactly | Copy category names from FreshBooks, or leave blank to assign later |
| Garbled text in descriptions | Non-UTF-8 characters from Excel or bank PDF encoding | Open in Google Sheets (auto-converts to UTF-8) and re-download as CSV |
Frequently Asked Questions
Can I import a PDF bank statement directly into FreshBooks?
No. FreshBooks does not accept PDF files for bank statement imports. You need to convert the PDF to CSV first using a tool like CapyParse, then import the CSV into FreshBooks via Expense Import or Bank Reconciliation.
What CSV format does FreshBooks require?
FreshBooks supports two import paths with different CSV requirements. Expense Import requires Date, Amount, Category, Description, and Merchant columns. Bank Reconciliation requires Date, Amount, and Description columns. Both require UTF-8 encoding and consistent date formatting.
Is there a transaction limit for FreshBooks CSV imports?
Yes. FreshBooks limits CSV imports to 500 transactions per file. If your bank statement has more than 500 transactions, split the CSV into multiple files before importing. CapyParse exports are typically well under this limit since most monthly statements contain fewer than 500 transactions.
Does FreshBooks support QBO file imports?
No. FreshBooks does not natively import QBO (QuickBooks Web Connect) files. You need to use CSV format for manual imports. If you have a QBO file, you can convert it to CSV using CapyParse's free QBO to CSV converter before importing into FreshBooks.
Can I import bank statements into FreshBooks for free?
FreshBooks itself requires a paid subscription. For the PDF-to-CSV conversion step, CapyParse offers 10 free pages with no credit card required. Once you have the CSV, you can import it into FreshBooks on any plan that supports expense tracking or bank reconciliation.
How do I import credit card statements into FreshBooks?
Credit card statements follow the same process: convert the PDF to CSV with CapyParse, then import via FreshBooks Expense Import. Make sure purchases appear as positive amounts and payments as negative. FreshBooks will categorize them as expenses automatically.
Have a QBO file instead?
If your bank offers QBO or OFX downloads, you can convert them to CSV for FreshBooks using our free QBO to CSV converter. No signup required.
Ready to Import Your Bank Statements into FreshBooks?
Convert any bank statement PDF to a FreshBooks-compatible CSV in seconds. No manual data entry, no formatting headaches.
Try CapyParse Free10 free pages. No credit card required. View pricing for higher volumes.
Related Articles
How to Convert Scanned Bank Statements to CSV
Guide to converting scanned and photographed statements using OCR.
How to Convert Chase Bank Statement to CSV, Excel, and QBO
Complete guide for Chase checking, Sapphire, Freedom, and Ink Business statements.
Best Bank Statement to CSV Converters in 2026
Side-by-side comparison of the top 10 conversion tools.
How to Import Bank Statements into Wave Accounting from PDF
Step-by-step guide to importing bank statement CSVs into Wave's free accounting tool.