Back to Blog
Migration Guide

How to Import QuickBooks Data into Xero the Right Way

Published: May 14, 2026 | Last updated: May 14, 2026 | Reviewed by Vincenzo Schembri, CPA

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.

What Xero Actually Needs Before You Import Anything

A Properly Configured Xero Organisation

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.

A Chart of Accounts That Matches the Source Data

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.

Contacts Before Transactions, Always

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.

The Import Sequence That Actually Works

If you are doing a manual QuickBooks Desktop to Xero import, exporting from QBD, formatting for Xero, importing manually, this is the sequence:

  1. Step 1: Chart of accounts

    Import or build the chart of accounts first. Every subsequent step depends on it.

  2. Step 2: Customers and vendors

    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.

  3. Step 3: Opening balances

    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.

  4. Step 4: Transaction history (invoices, bills, payments, journals)

    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.

  5. Step 5: Bank transactions

    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.

  6. Step 6: Bank feeds

    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.

What Xero Won't Accept and Why

Cash Basis vs Accrual Basis

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.

Items That Simply Don't Transfer

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.

Why Professional Conversion Is Faster Than Manual Import

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.

What to Check After Import Before the Client Goes Live

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.

  • Trial balance comparison. Print the Xero trial balance and the QuickBooks Desktop trial balance as at the same date. Every account total should agree. An unexplained variance, even a small one, needs to be found and corrected before go-live. Small variances compound once the client starts entering transactions.
  • Accounts receivable aging. The outstanding invoices in Xero's accounts receivable aging should match what the client knows they are owed. Ask the client to confirm the top five outstanding balances. If they do not match, there is either a missing invoice or a payment that did not import correctly.
  • Bank account opening balances. The bank account opening balance in Xero should match the reconciled closing balance in QuickBooks Desktop. For clients with foreign currency bank accounts, check both the foreign currency amount and the home currency equivalent.
  • Contact completeness. Spot-check five to ten contacts across customers and vendors. Confirm that the contact records in Xero have the full details from QuickBooks Desktop, addresses, payment terms, tax numbers, not just names.
  • User permissions. Set up user access before the client's team logs in. The bookkeeper, the client's internal staff, and the external CPA should each have the role that matches what they need to do, not administrator access across the board because it was faster to set up.

A Scenario: Edmonton Firm, 12 Clients, One Common Mistake

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.

Frequently Asked Questions

1. What is the correct order to import QuickBooks data into Xero?

Chart of accounts first, then contacts (customers and vendors), then opening balances, then transaction history (invoices, bills, payments, journal entries), then historical bank data, then bank feeds last. Doing this in the wrong order causes either import errors or incomplete contact records attached to transaction history.

2. Does Xero accept QuickBooks Desktop export files directly?

No. QuickBooks Desktop exports files in QBD's own format. Those files need to be transformed into Xero's import template format before they can be imported. Xero's import templates have specific column header requirements and date format requirements that differ from QBD's export format.

3. What happens if I import transactions before contacts?

Xero auto-creates contacts from the name strings in the transaction file. These contacts have names only, no addresses, payment terms, or tax registration numbers. The result is incomplete contact records attached to transaction history that have to be manually merged with properly configured contacts.

4. Can I import a QuickBooks Desktop file that used cash basis accounting?

Yes, but the conversion needs to account for the difference between cash basis bookkeeping in QBD and Xero's accrual basis structure. The opening accounts receivable and accounts payable positions may need to be adjusted depending on how the client's books were maintained. Confirm the accounting basis before conversion.

5. What data cannot be imported from QuickBooks Desktop to Xero?

Bank feeds (connected after go-live, not imported), reconciliation history, memorized transactions, budgets, attachments, and integrations do not transfer. GIFI codes are coming soon on WOW BookSwitch's roadmap. These need to be set up manually in Xero after the import is complete.

6. Why does Xero reject some import files?

The most common reasons are: date format does not match Xero's expected format, column headers do not exactly match the template, the account code referenced in a transaction does not exist in the chart of accounts, or a contact referenced in a transaction does not exist. Any of these causes the entire file to be rejected.

7. Does WOW BookSwitch handle the import sequence automatically?

WOW BookSwitch converts the QuickBooks Desktop data and delivers a validated Xero organisation, not a set of import files. The conversion engine handles the data transformation, the account mapping, and the sequencing. The firm receives a Xero organisation that is ready for the post-delivery review, not individual CSV files that need to be imported in order.

8. How long does a manual QuickBooks to Xero import take?

A manual import for a typical client file takes 12 to 40 hours depending on complexity. Most of that time is spent on file formatting, resolving import errors, and re-importing rejected files. WOW BookSwitch's automated conversion with AI validation completes in one to three business days with no manual import work on the firm's side.

9. What is the base currency setting in Xero and why does it matter?

The base currency is the default currency for the Xero organisation. It cannot be changed after the first transaction is entered. For Canadian clients, the base currency should be CAD. Setting it incorrectly means deleting the organisation and starting over. Set it before importing anything.

10. After importing, what is the most important thing to check before the client goes live?

Compare the Xero trial balance against the QuickBooks Desktop trial balance at the same date. Every account total should agree. An unexplained variance, even a small one, compounds once the client starts entering new transactions. Find it and correct it before go-live.

Conclusion: The Sequence Is the Work

Getting data from QuickBooks Desktop into Xero is not the hard part. Getting it in the right order, in the right format, with the right account mapping, and then verifying that the output actually matches what went in, that is the work.

Manual import gives you control over every step and exposes you to errors at every step. Automated conversion handles the transformation and sequencing internally, and AI validation confirms the output before you accept delivery. The tradeoff is not subtle.

If you are managing a handful of client migrations and you have the time, manual import works. If you are managing 50 clients under a deadline, it does not. Know which situation you are in before you choose the approach.

Start your QuickBooks to Xero conversion at wowbookswitch.com. $399 USD per conversion. Validated, sequenced, correcting entries applied, and six months of free backup included. 95% accuracy guaranteed or your money back.

Ready to Migrate to Xero?

Get expert help with your QuickBooks Desktop to Xero migration. Includes six months of free WOW Backup and Restore.

More Articles

Looking for Automated Xero Backups?

WOW BookSwitch is a proud subsidiary of WOWBackupAndRestore.com, providing automated backup and restore services for Xero customers. Protect your financial data with automated daily backups.

Visit WOWBackupAndRestore.com
WOW BookSwitch Logo WOW BookSwitch