By Elise Carter, accounting-data migration analyst with 9 years of experience moving small-business records between cloud bookkeeping platforms
Last reviewed: July 22, 2026
FreshBooks business users sign in to import clients, expenses, items, vendors, and selected accounting data from CSV files. Larger migrations from platforms such as QuickBooks, Wave, Xero, and HoneyBook may require a supported conversion service rather than one universal upload.
This independent guide is not affiliated with FreshBooks.
Export the old system first. Skip bulk importing until the source files have been checked for duplicates, currencies, date formats, and incomplete records.
What FreshBooks Can Import
FreshBooks is cloud accounting and invoicing software for small businesses and independent professionals. Its built-in CSV tools currently support importing clients, expenses, items, vendors, and transactions used in Bank Reconciliation. Other Income and tax lists can also be prepared in FreshBooks’ prescribed CSV formats and submitted through Support.
That does not mean every part of another accounting system can be loaded through the same screen.
FreshBooks separates simple list imports from broader conversions. Its Easy Switch service, provided through conversion partner MMC Convert, can move information such as clients, expenses, invoices, and additional records from supported platforms.
Choose the method based on the records being moved.
A client list with 200 names may suit a CSV import. Several years of invoices, payments, taxes, and historical expenses require a more structured migration plan.
Choose the Correct FreshBooks Route
| Your task | Correct starting point |
|---|---|
| Enter the existing business | FreshBooks login |
| Import clients | Clients > More Actions > Import Clients |
| Import expenses | Expenses > More Actions > Import Expenses from a File |
| Import items | Items and Services import control |
| Import vendors | Expenses > Vendors > More Actions > Import Vendors |
| Import Bank Reconciliation activity | Bank Reconciliation transaction import |
| Move invoices and wider history | FreshBooks transfer service |
| Export records before migration | FreshBooks data-export controls |
| Remove duplicate clients | Reassign records, then delete the duplicate |
FreshBooks’ client importer accepts CSV files, while broader transfers can be handled through its migration service when the source platform is supported.
Do this first: identify exactly which records must survive the move. Skip importing only client names when the business also needs open invoices, credits, payments, and historical reports.
Log In to the Correct Business
Open FreshBooks through the company’s login route and confirm the active business before importing anything. One user may have access to several FreshBooks businesses, and a successful login does not prove that the correct company is open.
Check:
- business name;
- country;
- base currency;
- subscription plan;
- existing client count;
- active bank connections;
- whether prior test imports already exist.
A bulk import into the wrong business can be difficult to unwind because FreshBooks adds each accepted row as a real record.
Priority one is the destination account. Skip uploading the file until the company name and currency have been confirmed.
Do not create a new FreshBooks business merely to test a production file unless the business has a clear plan for disposing of the test data. A test account can later be confused with the live books.
Prepare a Client CSV
FreshBooks requires client imports to contain one of three basic name structures:
- First Name and Last Name;
- Company Name;
- First Name, Last Name, and Company Name.
Optional columns can include email address, phone number, address lines, city, state, postal code, and country.
The browser route is:
Clients > More Actions > Import Clients > Choose File
After selecting the CSV, the user maps the source columns to FreshBooks fields and reviews optional address fields before selecting Import Clients.
Clean the file before uploading.
Remove blank rows, inconsistent company names, obsolete contacts, and records that differ only by capitalization or punctuation. “North Star LLC,” “Northstar LLC,” and “North Star” may all represent one customer.
FreshBooks imports every client row, even when a matching client already exists. It does not automatically block duplicate client profiles during the import.
That is the central migration risk.
Check uniqueness first. Skip trusting the importer to merge records.
Client Import Limits and Errors
FreshBooks says client CSV files larger than 2 MB should be divided into smaller files. Missing required headers, corrupt CSV structure, and invalid field formats can also cause an upload error.
The first row must contain the required headers. If those headers are absent, FreshBooks may skip the first data row because it interprets that row as column names.
A hands-on check:
Open the CSV in a plain-text editor before importing. Confirm that the first line contains field names and that the following line is the first actual client.
Another limitation concerns secondary contacts. FreshBooks says secondary contacts must be added manually to each client profile after the bulk client import is finished.
This matters when one company has an owner, billing contact, and accounts-payable address. Import the primary client record, then rebuild the secondary contacts before sending invoices.
Plan limits can also interrupt the upload. When the import would exceed the account’s client allowance, FreshBooks may ask the user to reduce the file or move to a plan that supports more clients.
Import Expenses Without Duplicating Bank Activity
FreshBooks accepts expense CSV files through:
Expenses > More Actions > Import Expenses from a File
Required headers include Amount, Category, Date, Description, and Merchant. The import workflow also asks for currency format and date format.
Use one currency per file.
FreshBooks requires consistent amount and date formats within the CSV. When a category does not already exist, the imported expense is placed under Uncategorized Expenses instead.
Review that category result after the upload. A completed import can still produce weak accounting if many expenses land in Uncategorized Expenses.
The larger risk is duplication.
FreshBooks imports all expenses in the file even when identical records already exist. It recommends checking the CSV for unique transactions before importing.
This becomes especially important when a bank connection is active. The bank may already have imported some of the same transactions that appear in the historical CSV.
Priority two is the overlap date. Skip importing January through June when the connected bank has already supplied March through June.
Positive, Negative, and Mixed Amounts
FreshBooks’ expense importer is designed around money leaving the business. Its documentation states that negative amounts represent withdrawals, payments, or debits. When a file contains both positive and negative entries, only the negative entries are imported.
A CSV containing reimbursements, refunds, deposits, and expenses should not be treated as one ordinary expense import without review.
Separate the transaction types.
FreshBooks directs users who need to import broader transaction activity to the Bank Reconciliation workflow rather than the ordinary expense importer.
Do not convert every positive transaction into a negative number just to force it through. That would turn income or reimbursements into expenses and distort the financial reports.
Short stop. Preserve the sign.
Fix Duplicate Client Profiles
FreshBooks does not provide a one-click merge that automatically resolves every duplicate client record. Its current process requires moving the duplicate profile’s records to the original client and then deleting the duplicate.
FreshBooks recommends temporarily adding a suffix such as “DUPE” when duplicate profiles have identical names. This makes them easier to distinguish during cleanup.
Each relevant record must then be edited and reassigned. FreshBooks specifically lists:
- invoices;
- recurring templates;
- retainers;
- credits;
- expenses;
- estimates;
- time entries;
- projects.
Only after those records have been moved should the duplicate client be deleted.
Do not delete first.
Removing the duplicate before reviewing its records can separate or hide documents the business still needs. Use one original client as the destination, reassign each record, verify the combined account history, then remove the empty duplicate.
Choose CSV Import or a Migration Service
CSV imports work best for structured lists and limited historical data. FreshBooks currently lists clients, expenses, items, vendors, Bank Reconciliation transactions, Other Income, and taxes among the supported import routes.
A migration service is more appropriate when the business needs wider history, including invoices and related accounting records from another supported platform.
FreshBooks identifies Easy Switch as its larger-data transfer option through MMC Convert. Supported source platforms listed in its documentation include HoneyBook, QuickBooks, Wave, and Xero.
Before authorizing a conversion, define:
- historical start date;
- open invoices;
- paid invoices;
- payments and credits;
- expenses;
- client contacts;
- currencies;
- taxes;
- products and services;
- required reports.
Not every source field has an identical FreshBooks destination. Ask how unsupported fields, deleted records, attachments, and reconciled transactions will be handled.
Do not cancel the old platform immediately after the first successful login. Keep access until the migrated totals and documents have been checked.
Export Before and After the Move
FreshBooks lets users export different categories of data as CSV or PDF files. Its current export guide includes the Chart of Accounts, clients, expenses, receipt images, payroll information, invoices, estimates, proposals, items, services, reports, and vendors.
There is no single ordinary export button that necessarily creates one complete business archive.
For example:
- client lists export as CSV;
- invoice records can be exported as CSV;
- invoice documents can be downloaded as separate PDFs;
- expenses export as CSV;
- receipt images use a separate export;
- reports can be saved as CSV or PDF;
- estimates and proposals may require individual PDFs or a Support-assisted CSV request.
Export both structured data and source documents.
A CSV can preserve amounts and dates. A PDF preserves the client-facing invoice. A receipt-image export preserves evidence attached to expenses.
After import, run comparison reports in both systems for the same period and accounting basis. Check client counts, open invoice totals, expense totals, tax figures, and bank balances before treating the migration as complete.
FreshBooks FAQ
Can FreshBooks import clients from CSV?
Yes. Use Clients > More Actions > Import Clients.
Does FreshBooks remove duplicate clients during import?
No. Every client row is imported, including duplicates.
Can secondary contacts be imported in bulk?
Not through the standard client CSV process. FreshBooks says they must be added manually after the import.
Why did my client CSV fail?
The file may be corrupt, larger than 2 MB, missing required headers, or contain invalid formats.
Can I import old expenses?
Yes. Use a same-currency CSV, but check for overlap with bank-connected transactions first.
Why were positive transactions skipped?
When an expense file mixes positive and negative amounts, FreshBooks imports the negative expense entries. Use Bank Reconciliation for broader transaction imports.
Can duplicate FreshBooks clients be merged?
Records must be reassigned manually to the original client profile, after which the duplicate can be deleted.
Can FreshBooks migrate invoices from QuickBooks or Xero?
FreshBooks lists its Easy Switch conversion service for broader transfers from supported platforms including QuickBooks and Xero.