← All articles

For accounting firms

Migrating a client from QuickBooks Desktop to Online without losing history

A Desktop-to-Online migration is not a data transfer problem. It is a sequence of decisions about what history you actually need live, what you archive, and how you prove the numbers match afterwards.

Most failed Desktop-to-Online migrations did not fail during the transfer. They failed because nobody decided, in advance, what "success" looked like, so there was nothing to check the result against. The transfer itself is largely mechanical. The judgment is in the cleanup before it and the reconciliation after it.

This is the sequence we use. It assumes you are the firm doing this for a client, and that the client will still need last year's numbers on Monday morning.

Step 1: Decide what has to come across

Before touching anything, separate the client's data into three buckets.

Must be live in Online. Open AR and AP, the current chart of accounts, active customers and vendors, payroll items still in use, current-year transaction detail, and any inventory that is actually being tracked.

Nice to have live. Prior-year transaction detail. Useful for comparatives and for answering client questions without opening another file. Also the main thing that pushes a file toward size and record limits.

Archive only. Closed years, discontinued items, memorized report packs, custom Desktop forms and templates, and anything that exists because a previous bookkeeper never cleaned up.

That third bucket is where firms lose time. A client asks for "everything" because they have not been asked a better question. Ask instead: in the last twelve months, how often did anyone look at a 2019 transaction? Usually the answer is never, and the answer to a legal or audit request is the archived Desktop file, not a live ledger.

Step 2: Know the general shape of what transfers, then confirm the specifics

Broadly, lists and balances travel well. Detail travels less well. Anything that depends on Desktop-specific features travels worst of all.

  • Usually comes across cleanly: chart of accounts, customers, vendors, items, and account balances as of the transfer.
  • Comes across with caveats: transaction-level history. It may transfer, may transfer partially, or may be capped depending on file size and record volume.
  • Generally does not come across: custom form templates, memorized report configurations, saved Desktop layouts, attachments in some cases, and audit-trail history in its original form.
  • Needs individual attention: payroll and inventory. Both carry sub-ledger detail that behaves differently between products: year-to-date payroll figures, employee setup, tax settings, inventory valuation method.

Payroll and inventory deserve a specific warning. Inventory costing methods are not identical between Desktop and Online, which means quantities can migrate correctly while valuation shifts. Payroll year-to-date figures often need to be entered or verified deliberately rather than assumed. Plan for both to be manual verification items, not automatic ones.

Step 3: Clean the Desktop file first

Migration is faithful. Duplicated vendors arrive as duplicated vendors. A chart of accounts with fourteen variations of "Office Supplies" arrives with all fourteen.

Work through, in the Desktop file:

  1. Reconcile every bank and credit card account through the intended cutover date. An unreconciled account is a migration you cannot verify.
  2. Clear the undeposited funds and clearing accounts. Stale balances here become someone else's mystery in three months.
  3. Merge duplicate names and accounts. Easier in Desktop than untangling afterwards.
  4. Resolve negative inventory and unapplied credits. These are the items most likely to produce a valuation difference you cannot explain.
  5. Close the period and run a final trial balance. Save it as a PDF outside the file. This is your baseline document.

If the file is genuinely a mess, cleanup is its own engagement with its own scope, and it should be priced and scheduled as one rather than absorbed into a migration timeline. That is what The Books Cleanup Crew exists for: fixed scope, fixed price, up to twelve months of backlog. It should finish before the migration starts.

Step 4: Choose the cutover date deliberately

The best cutover date is the first day of a fiscal year, immediately after a fully reconciled and closed prior year. Everything before it is history; everything after is entered once, in one system.

Second best is the first day of a closed, reconciled month. Workable, and often necessary when the client cannot wait.

Worst is mid-month, mid-payroll-period, or during a period with open, partially applied transactions. If you have no choice, write down explicitly which transactions straddle the date and how each will be handled.

Also decide who is allowed to enter transactions during the switch. The most common source of post-migration variance is a client who kept invoicing in Desktop for three days after cutover because nobody told them to stop.

Step 5: Verify with a trial balance comparison

This is the step that turns a migration into a defensible one.

Run a trial balance in Desktop as of the cutover date. Run the same trial balance in Online after migration, same date, same basis, and confirm the basis matches, because a cash-basis report against an accrual-basis one will produce differences that look like errors and are not.

Then compare, in this order:

  1. Total debits and credits. If these do not agree, stop and find out why before looking at anything else.
  2. Bank and credit card balances, account by account, against the reconciled statements.
  3. AR and AP totals, then the aging detail beneath them. Totals can tie while the aging is wrong.
  4. Equity and retained earnings. Often where the difference surfaces if opening balances were handled differently.
  5. Inventory valuation, if the client tracks inventory. Check quantity and value separately.

Document each difference and its explanation. Some differences are legitimate: a rounding item, a different treatment of an opening balance. An unexplained difference is not a rounding item.

Step 6: Rebuild what did not travel

Expect to rebuild rather than recover:

  • Custom invoice, estimate and statement templates.
  • Recurring transactions and memorized entries.
  • The report pack the client actually looks at monthly.
  • User roles and permissions, which do not map one-to-one.
  • Bank feed connections and any rules for categorizing them.

Bank rules are worth building carefully rather than quickly. A well-built set of rules is most of the ongoing efficiency gain the client is expecting from the move, and a badly built set will miscategorize silently for months.

Step 7: Archive the Desktop file properly

Do not delete it, and do not leave it open for editing.

Keep a copy of the final Desktop file, the final Desktop trial balance, the post-migration trial balance, and your written reconciliation of the differences. Store them where the client can reach them without asking you, and confirm who is responsible for retaining them. Then make the working copy read-only, or move it somewhere nobody will absent-mindedly enter a January invoice into it.

For any history that did not migrate, that archive is the answer. Which is fine, as long as someone wrote down that it is the answer.

Who actually does this work

The migration itself is a day or two of concentrated attention. The cleanup before it and the verification after it are where the hours go, and they are the parts that get compressed when a firm is already behind.

That is the usual reason a migration slips: not difficulty, but capacity. Our operators are QuickBooks certified and most also work in Xero, and this kind of work (reconciling to a cutover date, comparing trial balances line by line, rebuilding a report pack) is squarely in scope. Placement is typically 14 to 21 days from the fit call, faster when a deadline forces it, and it is a dedicated person embedded in your process rather than a shared queue.