Dataswitcher moves two years of Xero data free, but only into an empty QuickBooks file. Convert Xero CSV exports to QBO for everything it leaves behind.
No account needed for your first conversions. We never store your bank login.
Short answer: Intuit will pay to move your Xero file, but only under three conditions most people find out about too late. Dataswitcher, Intuit's conversion partner, transfers the last two fiscal years at no charge, it charges a per-year fee for anything older, and it will only run into a QuickBooks Online company that is still completely empty. If you already started entering data in QuickBooks, the funded route is closed and you are importing history yourself.
That is where a CSV to QBO converter earns its place. Xero exports your ledger, bank activity and card activity as flat files, and the converter above turns one of those files into a balanced .qbo that QuickBooks Online and QuickBooks Desktop both accept through Bank Feeds. It is the practical route for the years Dataswitcher will not fund, for the data types it does not carry, and for every file that has already been touched. The table below maps each piece of a Xero migration to the route that actually moves it.
Last updated August 2026.
Swipe to see the full table
| What you are moving | Xero export | Covered by the free Dataswitcher transfer? | Practical route |
|---|---|---|---|
| Chart of accounts | Export accounting data | Yes, within the two funded years | Dataswitcher, or import the list directly |
| Customers and suppliers | Contacts export, CSV | Yes | Dataswitcher, or QuickBooks list import |
| Unpaid invoices and bills | Report export, CSV | Yes | Dataswitcher |
| Bank and credit card history, last 2 years | Report export, CSV | Yes | Dataswitcher, or CSV to QBO if the file is not empty |
| Bank and card history older than 2 years | Report export, CSV | No, priced per additional fiscal year | CSV to QBO |
| Any history into a QuickBooks file already in use | Report export, CSV | No, Dataswitcher needs an empty company | CSV to QBO |
| Foreign currency gains and losses | Report export | No, Xero is converted in home currency | Manual journal entry |
| Budgets, templates, projects, attachments | Various | No | Rebuild in QuickBooks |
| Payroll records | Payroll reports | No | Rebuild, or summary journal entries |
| Any history into QuickBooks Desktop | Report export, CSV | No, Dataswitcher targets QuickBooks Online | CSV to QBO through Web Connect |
Built for the CSV and Excel exports US banks and cards actually send, checked before it exports.
The converter adds up the transactions it parsed and matches that to your file total before you export, so nothing is silently dropped.
Valid OFX 1.02 with QuickBooks Web Connect headers. Online and Desktop import it as a standard bank feed.
Date, description, and amount are detected for you, so you skip QuickBooks' strict 3-column and 4-column CSV layout.
Bulk upload for catch-up and cleanup work. Each file gets its own reconciliation check and its own exports.
Mixed date formats, currency symbols, and stray commas that break a raw CSV import are cleaned up before the .qbo is built.
One conversion, three files: the .qbo for QuickBooks, an XLSX to review, and a CSV for everything else.
Three steps. No column-mapping wizard.
Drag in a CSV, XLS, or XLSX export from your bank, credit card, or accounting tool. Any column order is fine.
Every transaction is parsed and checked against your file total. You see the rows before exporting.
Download the .qbo and import it as a Web Connect bank feed. Excel and CSV are in the same download.
The specifics that decide whether the import is clean. If your case is not here, message us in chat.
Decide first whether the free Dataswitcher transfer is available to you, because that single answer changes the whole plan. It is available if your QuickBooks Online company is brand new and empty and you only need the last two fiscal years. If either condition fails, you move the lists yourself, then bring transaction history in as converted .qbo files, then reconcile. The routing table above shows which pieces fall on which side of that line.
The order matters. Import or convert the chart of accounts before anything else, because every transaction you bring over has to land in an account that already exists. Then customers and vendors, then open invoices and bills, then bank and card history. Reconcile each account as it lands rather than saving reconciliation for the end. A migration that is reconciled account by account is recoverable when one file goes wrong. A migration reconciled at the end is a single large discrepancy with no obvious cause.
Yes, and Xero is one of only four systems Intuit funds. Dataswitcher, Intuit's supported conversion partner for QuickBooks Online, handles Sage 50, Xero, Acomba and QuickBooks Desktop. Intuit covers the cost of the last two fiscal years for those systems. Sage Intacct, NetSuite and most other platforms are on no supported list at all, so Xero leavers start from a genuinely better position than most.
The catch is scope rather than availability. The funded transfer is a fixed package, and anything outside it is either priced separately or not offered. Knowing exactly where its edges sit before you start is the difference between a two day migration and a three week one.
The first two fiscal years cost nothing. Additional years carry a per fiscal year fee, and migrating company information, classes and locations costs extra as well. Dataswitcher does not publish those figures on a price list. It quotes them inside the conversion wizard once it has read your file, which means you cannot budget the job accurately until you are already partway into it.
That is a real planning problem for a firm converting several clients. An unpublished per year fee multiplied across a book of business is a number you cannot put in a proposal. Converting the older years yourself from CSV exports is a fixed, known cost instead, which is usually why firms end up splitting the job: Dataswitcher for the funded window, file conversion for the tail.
If you would rather hand the whole thing to a specialist, independent conversion shops price it openly. Numerawise publishes from $500 for a small single entity file and $2,000 to $5,000 for mid market files carrying inventory or payroll history, with a fixed quote inside 24 hours and 30 days of post conversion support. Dancing Numbers and MMC Convert both sell Xero conversions and publish no prices at all, so those come as quotes only. The full cost breakdown of every Xero to QuickBooks route compares them line by line.
Intuit publishes the exclusion list, and it is longer than most people expect. Dataswitcher cannot convert budgets, memorized transactions, invoice and other templates, sales orders, payroll records, projects, attachments, or non posting entries such as estimates. What it does carry is the accounting core: opening balances, chart of accounts, customers and suppliers, unpaid invoices and bills, transactional history and journal entries.
Read that list as a work plan rather than a disappointment. Templates and budgets get rebuilt once and are then done forever. Attachments are the one that quietly hurts, because receipts and signed documents attached to Xero transactions do not follow the transaction across, and an audit two years from now will not care that the file moved. Export attachments separately and store them somewhere you can search before you close the Xero subscription.
Because it writes historical balances directly rather than merging them with what is already there. Intuit's guidance is explicit that you can only migrate into an empty QuickBooks Online account, and that if you have already entered data you should consider deleting it to take advantage of the free conversion. There is no merge mode and no partial import.
This is the single most common way the funded route gets lost. A business signs up for QuickBooks Online, spends two weeks issuing invoices and connecting a bank feed to see whether they like it, then decides to move properly and discovers the conversion needs a file they no longer have. At that point the choice is to purge the company and start again, or to import the history as files. For anyone who has already invoiced customers from the new file, purging is not really a choice.
The general ledger export sits under the Accounting menu, in the advanced settings area, as Export accounting data. You need the administrator user role to reach it. Xero will prompt you to add a code to every account in your chart of accounts first, and this is not optional housekeeping: without account codes the exported file will not import into another accounting product. Depending on the target you pick, the export bundles the chart of accounts, trial balance, profit and loss and balance sheet alongside the ledger.
For transaction level detail you run the relevant report, set the date range, and export it as a comma separated values file. Xero surfaces bank statement lines through reports rather than a dedicated export button on the bank account itself, which is why asking how to export bank transactions from a Xero account is one of the more frequently repeated questions in Xero's own community forum. Run the report, set the range, export to CSV, and that file is what the converter at the top of this page reads.
Export each older year as a CSV report from Xero and convert it to a .qbo file, one account and one date range at a time. QuickBooks accepts .qbo files through Bank Feeds regardless of how old the transactions are, so there is no age limit working against you. The limit that does apply is size, and it is the reason to split by period rather than uploading one enormous file.
QuickBooks Online accepts 1,000 transactions and 350 KB per upload, and that 350 KB ceiling applies to .qbo, .qfx and .ofx files just as it does to CSV. A busy operating account will exceed it inside a single year. Splitting by calendar quarter keeps every file comfortably under both limits and has a useful side effect: if one quarter imports wrong, you re import that quarter rather than unpicking a year.
Not through Dataswitcher, which targets QuickBooks Online only. For Desktop the route is file based, and here the converter is not merely convenient but required, because QuickBooks Desktop cannot import a bank CSV in any version or edition. Its Import Excel and CSV Toolkit handles four list types only: customers, vendors, items and the chart of accounts. Transactions are not on that list.
So a Xero to Desktop move splits cleanly. Lists go in through the toolkit. Transactions have to arrive as .qbo files through Web Connect, or as IIF, and IIF posts straight to the ledger with no review queue and no undo. Converting the Xero CSV exports to .qbo puts every transaction into the Bank Feeds review screen where you can check it before it posts. The CSV to QuickBooks Desktop guide walks through the Web Connect side of that.
Dataswitcher converts Xero in home currency. Every amount arrives translated into your base currency, and the foreign exchange gain or loss does not come across at all. If you invoice in more than one currency this is the detail that will break your comparative reporting, and it is worth catching before the conversion rather than during the first month end after it.
Plan for a manual journal entry to restate the currency position, and expect the source documents to stay in Xero. Run and save the multi currency reports you will need for the prior periods before you cancel the subscription, because once the subscription lapses those reports are gone and the QuickBooks file cannot reproduce them.
The size and shape of your Xero file decides it, and Intuit publishes the thresholds. A chart of accounts with more than 250 accounts requires QuickBooks Online Advanced. Classes require Plus or Advanced, and more than 40 classes requires Advanced. Inventory requires Plus or Advanced. Check your Xero file against those numbers before you choose a subscription.
Xero users are the group most likely to be caught by the account count, because Xero encourages a detailed chart of accounts and does not push back as it grows. A file that has been running for six years with a code for every revenue stream can cross 250 accounts without anyone noticing. Discovering that on migration day means either paying for Advanced or spending an afternoon merging accounts under time pressure.
The automated conversion itself is fast. Intuit states most migrations complete within a few hours and some take up to 72 hours, with two to four working days quoted as the outside range. The conversion is rarely what sets your timeline. Preparing the Xero file, adding account codes, deciding the class and location mapping, and reconciling afterwards take longer than the transfer.
Budget a working week for a single entity with clean books and two years of history. Add time for every additional year you are converting from files, for multi currency restatement, and for any period where the Xero reconciliation was not actually finished. Migrating an unreconciled year does not fix it. It relocates it.
Reconcile each account against its bank statement for the first full period after the cutover before you trust any report. Start from the closing balance the account had in Xero on the cutover date and confirm QuickBooks shows the same figure. If it does not, the difference itself tells you what went wrong.
Three patterns cover most of it. A difference that divides evenly by nine is transposed digits somewhere in the import. A difference exactly equal to twice a transaction is a sign flip, which happens most often on credit card accounts where the meaning of a positive amount is reversed. A difference matching one transaction exactly is a row that either failed to convert or was accepted twice. Working the difference backwards is faster than rechecking every line.
Not with .qbo files. Every transaction inside an OFX or .qbo file carries a FITID, a transaction identifier that is unique within the account and never reused. QuickBooks records the FITIDs it has already accepted and skips them on later imports, and it remembers them even after you delete the transaction. That is what makes a file based migration safe to redo when a batch goes wrong.
A CSV has no equivalent. Nothing in a plain CSV identifies a transaction, so QuickBooks has no way to recognize a row it has seen before, and importing the same CSV twice posts everything twice. On a migration where you are likely to re run at least one batch, that difference is the whole argument for converting to .qbo rather than uploading the CSV directly.
Use MM/DD/YYYY for a United States QuickBooks company file. This trips people up because the Intuit help article that ranks highest for CSV formatting is the global edition, which recommends DD/MM/YYYY. Follow it with a US company file and every transaction dated the first through the twelfth of a month posts to the wrong month, silently, with no error message.
Watch the spreadsheet too. Two digit years from 00 to 29 resolve to 2000 through 2029 and 30 to 99 resolve to 1930 through 1999, so an old file can land ninety years out. Windows Excel defaults to the 1900 date system and Mac to 1904, so a workbook passed between the two shifts every date by four years and a day. The converter normalizes dates on the way into the .qbo file, which removes the whole category of problem, but it is worth knowing what you are looking at if the dates in a report look wrong.
Yes, and for longer than feels necessary. Keep it active until you have reconciled at least one full period in QuickBooks and have filed whatever return covers the migration date. A cancelled Xero subscription takes the reports with it, and the questions that send you back to the old system almost always arrive after you thought you were finished.
Before you do cancel, export everything you might want later: the general ledger, trial balances and profit and loss for every year you are not converting, aged receivables and payables at the cutover date, and the attachments. Those exports cost nothing to keep and are the only version of your history that will exist once the subscription lapses.
Upload a Xero CSV export at the top of this page. The converter reads the column headers a Xero report export writes, normalizes dates to the format a US QuickBooks file expects, turns separate debit and credit columns into signed amounts, and writes a balanced .qbo file with opening and closing balances and a unique transaction ID on every row. There is no column template to build first, no 1,000 row ceiling, and the output imports through Bank Feeds in both QuickBooks Online and QuickBooks Desktop.
Upload a CSV or Excel export, get a QuickBooks-ready .qbo back in seconds. No card to try it.
If you are leaving a different system, the Sage 50 to QuickBooks converter covers the other platform Intuit funds, while the NetSuite to QuickBooks migration guide and the Sage Intacct to QuickBooks migration guide handle the two ERPs Intuit does not. The Wave to QuickBooks converter and the FreshBooks to QuickBooks converter each cover a smaller source system. For the destination side, see CSV to QuickBooks Online, and for firms converting several client files at once, the CSV to QBO workflow for accountants.
For the solo bookkeeper running a monthly close in QuickBooks.
USD / month
$288 charged today
For a firm or finance team converting across many clients and currencies.
USD / month
$888 charged today
For a high-volume bookkeeper or firm converting client books at scale.
USD / month
$2,988 charged today