Why Don't Accountants Like QuickBooks? And What They're Switching To Instead
Discover why accounting professionals are frustrated with QuickBooks and making the switch to Xero. Learn what a QuickBo...
Importing QuickBooks data into Xero the wrong way means starting over. Here is the correct sequence, what to prepare, and where firms consistently go wrong.
Importing QuickBooks data into Xero is not a single step. It is a sequence, and the sequence matters more than most firms realize before they are halfway through it and things are going sideways.
Contacts have to exist before transactions that reference them. The chart of accounts has to be set up before anything that maps to it. Opening balances come after the transaction history, not before. Bank feeds connect after everything else is in place. Do any of these in the wrong order and Xero either rejects the import with an error, or worse, accepts it with silent problems that surface three weeks later when the accounts receivable aging does not match what the client expects.
This article covers the right way to import QuickBooks Desktop data into Xero, what to prepare before the first file touches the Xero interface, what the correct import sequence is and why, where firms consistently break the process, and how a validated conversion service removes the manual complexity from most of these steps.
Before any QuickBooks data is imported, the Xero organisation needs to be set up correctly. This means: the correct base currency for the organisation (this cannot be changed after the first transaction is entered), the correct country for tax settings, and for clients with foreign currency transactions, multi-currency enabled before the import starts.
The base currency setting is permanent. A Canadian client whose Xero organisation is accidentally set up in USD has to be deleted and rebuilt from scratch. That is not a recoverable error within the same organisation.
If the client is on a lower-tier Xero plan and needs multi-currency, the subscription upgrade has to happen before the converted file is delivered. Importing multi-currency data into a single-currency organisation strips the foreign currency detail. It does not produce an error, it just silently converts everything to the default currency and loses the original denominations.
The chart of accounts in Xero does not have to be identical to QuickBooks Desktop. It usually should not be, Xero's account type structure is different from QBD's, and the migration is an opportunity to clean up accounts that accumulated over years of bookkeeping without a clear structure.
But the chart of accounts does have to exist before transactions can be imported. Every transaction that references an account code needs that code to exist in Xero's chart before the import runs. Transactions that reference non-existent account codes are rejected. Transactions that are forced to a catch-all account because the mapping was not done carefully create a cleanup problem that is harder to fix than getting the mapping right before import.
For a manual import, this means building or importing the chart of accounts as the first step, before any transaction data. For a WOW BookSwitch conversion, the chart of accounts is part of the conversion scope. The conversion engine maps the QuickBooks Desktop accounts to Xero's account types, and the chart is part of the validated output the firm receives.
This is the most common import ordering mistake in manual QuickBooks to Xero Conversion.
Every invoice references a customer. Every bill references a vendor. If those contacts do not exist in Xero when the invoice or bill is imported, Xero creates a new contact automatically, but it creates it with whatever name string was in the import file, without any of the contact details (address, payment terms, tax registration numbers) that were in the original QuickBooks Desktop record.
The result is a Xero organisation full of orphan contacts, contacts with names but no details, potentially duplicates of properly configured contacts, connected to transaction history but disconnected from the contact records the bookkeeper will actually use for day-to-day work.
Import contacts first. Then import transactions. That order is not optional.
If you are doing a manual QuickBooks Desktop to Xero import, exporting from QBD, formatting for Xero, importing manually, this is the sequence:
Import or build the chart of accounts first. Every subsequent step depends on it.
Import contacts with their full details before any transactions. This includes email addresses, physical addresses, payment terms, and tax numbers. The contact import is the step that determines whether the transaction history connects to useful contact records or to bare name strings.
Enter the trial balance opening balances for the accounts you are not migrating full transaction history for. For many clients, this means entering the opening balance sheet positions, assets, liabilities, and equity, as at the migration date.
Import transactions in chronological order. Invoices before their payments, Xero needs to know an invoice exists before it can accept a payment against it. Journals covering the migration period.
Bank transactions can be imported via Xero's bank import feature after the account structure and contacts are in place. This is separate from connecting live bank feeds, this step covers historical bank data up to the migration date.
After everything else is in place, connect the live bank feeds. Bank feeds are not imported, they are connected through Xero's direct bank feed or via a third-party connector. This is always the last step, not an early setup task.
Each step has its own formatting requirements. Xero's import templates use specific column headers and date formats. A date entered as MM/DD/YYYY instead of YYYY-MM-DD will cause the entire import to fail. A column header that is one character different from Xero's template will reject the file. These are not obscure edge cases, they are the reason manual imports take significantly longer than the underlying data volume suggests.
Many QuickBooks Desktop files operated on a cash basis or a modified cash basis, particularly for small businesses where the owner wanted to see cash-in, cash-out rather than accrued revenue and expenses.
Xero's standard accounting operates on an accrual basis. This matters at import because cash basis bookkeeping in QuickBooks Desktop often does not have the accounts receivable and accounts payable entries that Xero's transaction structure expects. An invoice entered and immediately marked as paid in a cash-basis QBD file looks different from an invoice entered, aged, then received against in an accrual-basis system.
If the QuickBooks Desktop file was maintained on a cash basis, the conversion needs to account for this. The converted Xero output should reflect the same underlying economics, but the bookkeeper needs to know what basis they are working with before they set up the opening chart of accounts and before they interpret the accounts receivable aging in the delivered file.
No import, manual or automated, moves everything from QuickBooks Desktop to Xero.
Bank feeds do not transfer and need to be connected after go-live. Reconciliations do not transfer, the reconciliation history in QBD stays in QBD. Memorized transactions (recurring invoices, standing bills) do not transfer and need to be recreated in Xero. Budgets, attachments, and integrations do not transfer. GIFI codes are coming soon on WOW BookSwitch's roadmap but are not part of the current conversion output.
These are not conversion failures. They are scope boundaries. Knowing them before go-live means building them into the post-delivery setup checklist rather than discovering them when the client asks why their recurring monthly invoice did not send.
The manual import sequence described above, chart of accounts, contacts, opening balances, transactions, bank data, bank feeds, with correctly formatted files at each step, is accurate. It also takes 12 to 40 hours per client file depending on complexity, and the most common errors in manual import are format errors and sequence errors that require the whole step to be redone from scratch.
WOW BookSwitch's QBD Migration to Xero conversion handles the transformation internally. The firm uploads the QuickBooks Desktop source file. The platform converts the data, chart of accounts, customers, vendors, invoices, bills, payments, journal entries, class tracking, multi-currency transactions, and historical data, into a Xero-ready format. The sequence, the formatting, and the account mapping are handled by the conversion engine.
After conversion, AI post-conversion validation compares the Xero output against the QuickBooks Desktop source across the trial balance, balance sheet, and profit and loss. Where discrepancies are found, correcting entries are applied before delivery. The firm receives a validated Xero organisation rather than a set of files they need to import manually in the right order with the right formatting.
The 95% accuracy guarantee is the commercial expression of that validation process. If the conversion does not meet that threshold, it is refunded. For accounting firms managing 20, 50, or 100 client conversions under a hard deadline, the difference between managing import sequences manually and receiving validated Xero organisations is not a convenience, it is how the workload fits inside the available time.
Whether the data was imported manually or delivered through a conversion service, the post-import review is the last quality gate before the client starts working.
An accounting firm in Edmonton is migrating 12 QuickBooks Desktop clients to Xero manually. The first three go smoothly, small, clean, single-currency files. The fourth is a professional services client with 400 active customer contacts and three years of invoice history.
The firm imports the invoice history before importing the contacts. Xero accepts the import. Three hundred and forty-two contacts are auto-created from the name strings in the invoice file, bare names with no email addresses, no mailing addresses, no payment terms. The client's accounts receivable aging is there, but every contact linked to it is incomplete. Fixing it requires either manually editing 342 contacts in Xero or deleting the organisation and starting the import in the right sequence.
That is an avoidable problem. Import contacts first, every time.