Switching from FreshBooks or QuickBooks: a migration checklist.
Move your invoicing without losing history or billing a client twice
Changing invoicing tools has two risks, and neither is the data transfer itself. The first is losing history: numbers, payment records, open balances, the recurring schedules you forgot you had. The second is the handover week, when two systems can both think they are the one sending invoices. This checklist is the order that avoids both. It is written around IMW Invoice’s import wizard, but the sequence applies to any switch.
1. Decide the cutover date before you touch anything
Pick the day the new system takes over billing, ideally the day after your last recurring run in the old one. Everything before it is history to import; everything after it is issued from the new system only. Write the date down. Every later decision in this guide refers to it.
2. Connect, do not export
Spreadsheet exports lose what matters: which payment went to which invoice, which lines carried tax, which customer pays automatically. IMW Invoice imports through the source’s own API instead, from Company Settings:
- FreshBooks asks for a one-time setup on their side: you create a free “app” inside your own FreshBooks account, which gives IMW Invoice read access. Nothing about your FreshBooks account changes and you can disconnect at any time.
- QuickBooks Online needs no setup at all: sign in with your Intuit login when the wizard asks and pick the company.
3. Know what comes over
From FreshBooks: clients with all their contacts, items and tax rates, projects and unbilled time, expenses with receipt images, invoices with their original numbers, estimates with their discounts, the full payment history including partial payments and open credits, and your real recurring profiles with their frequencies, next dates, per-line taxes, discounts and auto-bill setting. Customers who already pay automatically are linked to the same cards and bank accounts through Stripe, so nobody re-enters a card.
From QuickBooks Online: customers with billing addresses and contacts, products and services with sales tax rates, invoices with their numbers and taxes, estimates with their status, payments and open customer credit, unbilled time credited to whoever logged it, and every paid expense with its category, vendor and receipt image. Unpaid bills, journal entries and recurring transactions stay in QuickBooks, so if you rely on those, plan for them separately.
Either way the import keeps your invoice numbers and fills in each customer’s payment terms from their history, so the first invoice you send from the new system continues the sequence your clients already know.
4. Import with billing paused
Switch on Stasis mode before the first import. In stasis nothing reaches a customer: no invoice or reminder emails, no automatic charges, and recurring schedules generate nothing while their next dates still advance. That lets you import, look at everything, re-run steps, and fix what you find, with the old system still the only one issuing invoices. Every import step is safe to run again: records already imported are skipped and recurring schedules are re-synced from the source.
5. Check the numbers, not the row counts
A migration is right when the money agrees. Four checks catch nearly everything:
- Accounts receivable. The total open balance in the new system equals the old one on the cutover date. If it does not, find the invoice, not the rounding.
- Cash by year. Payments received per year match the old system’s reports. This is the test that catches lost partial payments and credits.
- Recurring schedules. Open each one and compare the lines, the price, the tax per line and the next date against the old profile. The per-template total is shown so the comparison is a glance.
- Auto-pay customers. Each one shows a saved card or bank account. If a customer replaced a card in the old system recently, re-run the recurring step; it follows the latest successful charge.
6. Switch over, in this order
- Turn off recurring profiles and auto-charging in the old system, after its last run before the cutover date.
- Send any invoice still in flight from the old system, and leave it there to be paid.
- Run the import once more so the last invoices and payments come over.
- Switch Stasis mode off. Billing resumes with future cycles only: skipped cycles are never retried, so you will not get a burst of catch-up invoices or charges.
If an invoice was created on both sides for the same sale during the handover, the next sync matches them by customer, date and total, and the copy here takes the original’s number and lines, so you never end up with two invoices for one sale.
7. Keep the old account readable for a while
Downgrade rather than delete, for at least one tax year. Receipts, old statements and the occasional “what did we charge in 2023” question are easier to answer from the source. Your data in IMW Invoice is exportable as CSV at any time, so the new system never becomes the lock-in the old one was.
Related
- Retainers and recurring billing: how the schedules you just imported keep running.
- Run your invoicing from Claude: once the data is in, ask your assistant about it.
- How to invoice as a freelancer: the habits the tool carries for you.