Q QikAlt

Published July 6, 2026

How to Migrate from FreshBooks to Xero: A Step-by-Step Guide

So you're leaving FreshBooks. Maybe you've outgrown its client-based pricing (Lite at $23/mo feels tight when you add that 10th client). Or you need Xero's unlimited users and real double-entry accounting without the per-team-member fee FreshBooks slaps on. Xero starts at $25/mo — a buck more than FreshBooks' intro price, but with no cap on clients or users. That's why it's the most popular destination for growing service businesses.

This guide walks you through the actual migration. No fluff. I've done this move twice for clients, and I'll tell you where things get sticky.

Before You Touch Anything: Export & Backup

FreshBooks doesn't make leaving easy. You can't just hit "export all." Follow this order:

  1. Download your Chart of Accounts (Settings > Import/Export > Export Chart of Accounts). Xero needs this to map your categories.
  2. Export all invoices as CSV (Invoices > Export). Include paid, unpaid, and draft. FreshBooks limits exports to 500 invoices at a time — if you have more, run it in batches.
  3. Export expense reports (Expenses > Export). Same 500-row limit.
  4. Export your client list (Contacts > Export). This gets you names, emails, and addresses.
  5. Download a full backup (Account > Settings > Account > Export Your Data). FreshBooks will email you a zip file with PDFs of all invoices, estimates, and payments. Keep this forever.
  6. Take screenshots of your open invoices, bank account balances, and any recurring templates. Silly? Yes. But when something goes missing, you'll be glad.

Gotcha #1: FreshBooks does not export your bank reconciliation history. You'll lose the connection between bank transactions and invoices unless you manually note them.

The Actual Migration Steps

Step 1: Set Up Xero

Sign up for Xero ($25/mo for the Growing plan — that's the one you want). During onboarding, skip the sample company and create a real organization. Enter your business name, currency, and tax settings.

Step 2: Import Your Chart of Accounts

In Xero, go to Accounting > Chart of Accounts > Import. Upload the CSV you exported from FreshBooks. Xero will try to match accounts automatically — check every mapping. FreshBooks uses simple categories (e.g., "Office Supplies"), while Xero expects a proper account type (e.g., Expense > Office Supplies). Fix mismatches before you proceed.

Gotcha #2: FreshBooks lumps "Sales" into one account. Xero wants separate accounts for Product Sales and Service Revenue. Create them now or you'll have to reclassify later.

Step 3: Import Clients & Contacts

Export from FreshBooks (we did this above), then import into Xero via Contacts > Import. Xero accepts CSV. Map the columns: First Name, Last Name, Email, etc. This is usually clean, but check for duplicates if you had merged contacts in FreshBooks.

Step 4: Import Open Invoices

This is the tricky part. FreshBooks exports invoices as a CSV, but Xero's invoice import is picky. You need to format it exactly to Xero's template.

  • Download Xero's import template (Invoices > Import > Download Template).
  • Copy your FreshBooks invoice data into that template. Map: Invoice Number, Date, Due Date, Contact Name, Line Item Description, Quantity, Unit Price, Tax Amount.
  • Crucial: FreshBooks uses invoice numbers like "INV-001". Xero might reject that format if your numbering prefix isn't set. Go to Xero's Invoice Settings and set the prefix to "INV-" before importing.
  • Import. Xero will validate — fix any errors (usually date formats or missing tax rates).

Gotcha #3: FreshBooks allows partial payments on invoices. Xero's import expects full amounts. You'll need to enter the full invoice amount, then manually add a credit note for the partial payment. It's a pain, but necessary.

Step 5: Import Expenses

Similar process. Export from FreshBooks, download Xero's expense import template, map fields, and import. Xero matches expenses to contacts if the contact name is identical. Double-check.

Step 6: Set Up Bank Feeds & Reconcile

Link your bank accounts in Xero (Account > Bank Accounts > Add Bank Account > search your bank). Xero supports 99% of US banks. Once linked, start reconciling from your cutoff date (the day you stopped using FreshBooks).

You'll have a mismatch: FreshBooks showed your bank balance as of the last reconciliation, but Xero starts fresh. Enter an opening balance in Xero equal to your actual bank balance on the migration date. Then reconcile uncleared transactions manually.

Gotcha #4: Xero's bank feed might pull in transactions that already reconciled in FreshBooks. You'll see duplicates. Either delete them or reconcile them as "already reconciled" — but you'll lose the audit trail. I recommend starting fresh from the migration date and leaving historical transactions in FreshBooks for reference.

Step 7: Verify Balances

Run a Trial Balance in Xero (Reports > Trial Balance). Compare it to FreshBooks' Profit & Loss and Balance Sheet as of the migration date. They should match — if not, dig into the differences. Common culprits: accounts not mapped, opening balance wrong, or invoices skipped.

Post-Migration Checklist

  • Cancel your FreshBooks subscription (but keep the account active for a month in case you missed something).
  • Send a test invoice from Xero to yourself. Check formatting, email delivery, and payment links.
  • Set up recurring invoices and expense templates in Xero.
  • Add your team members (Xero doesn't charge per user — unlimited users included).
  • Configure tax rates (Sales Tax, VAT, etc.) if you didn't already.
  • Check your reports: Profit & Loss, Balance Sheet, Accounts Receivable Aging.
  • Notify your accountant about the switch and give them read-only access.
  • Update your invoice email template with your new payment link.

Why Xero (and What Else to Consider)

Xero wins on unlimited users and clients at $25/mo, period. FreshBooks charges per client and per team member, which is why most people leave. If you're a solo freelancer who just needs invoicing, Wave (free) might be enough. If you need native US payroll, QuickBooks Online ($38/mo) is the standard. But for a growing service business with multiple staff, Xero is the sweet spot.

See how FreshBooks compares to Xero head-to-head. And check out the full list of FreshBooks alternatives if you're still shopping.

FAQ

Q: Will my invoice numbers stay the same? A: Yes, if you set Xero's invoice prefix to match FreshBooks and import the numbers. But Xero might add a suffix if it detects a conflict. Test with a small batch first.

Q: Can I migrate time tracking data? A: FreshBooks tracks time per project, but Xero's time tracking is basic. You can export time entries as CSV and import them as billable hours, but it's manual. Most people just start fresh.

Q: How long does the migration take? A: For a small business (under 500 invoices), plan a weekend. For larger data sets, budget a week. The bank reconciliation step is the bottleneck.

Q: What if something goes wrong? A: Keep your FreshBooks account active for at least one billing cycle. You can always refer back to the PDF backup. Xero support is helpful, but they won't do the migration for you.

Compare all options side by side → FreshBooks alternatives

Related guides

Some links in this guide are affiliate links; QikAlt may earn a commission at no cost to you. Prices are list prices in USD and may change — always confirm on the vendor's official site.