How to export your data from QuickBooks Desktop: what you can take out
Lists can be exported from QuickBooks Desktop as *IIF* files, and reports can be saved out, but transactions cannot be exported through IIF. If your subscription is ending and the books must move to a self-hosted system, a complete move depends on three things: exported lists and reports, a full company backup kept as an archive, and opening balances rebuilt in the new system. The exact export options depend on your QuickBooks Desktop edition and year, so confirm the current options in Intuit's own help before you plan the work. Do not assume a menu you remember from an older version still exists.
Treat each export as a different job. Lists such as customers, vendors, items and the chart of accounts are the easiest to load into a new system, but they carry no transaction history. Transaction history has to come from reports, so decide which years you need to keep as live data and which can sit in saved reports for reference. The company backup file is designed for restoring into QuickBooks Desktop, not for loading into another product, so keep it as an archive rather than as your migration source. Ask your accountant which reports they need to close the old year and sign off on balances.
Opening balances are the step most migrations get wrong. Choose a cut-off date, then capture the trial balance, open receivables and payables aging, and inventory quantities and values as of that date. Enter them as opening entries in the new system and check that totals match the final QuickBooks Desktop reports before you stop using the old file. Odoo can import data into any business object from Excel or CSV files and recommends External IDs when importing from a third-party application, which helps you update records without duplicating them (Odoo's guide to exporting and importing data). ERPNext's Data Import tool uses downloadable templates and advises importing only a few thousand records at a time, so split large lists into batches.
Which QuickBooks Desktop data you can export, and in what format
This table compares the QuickBooks Desktop data you can take out, the method for each, the file format and the limits to check. Where the sources for this page do not confirm a capability, the cell tells you to check Intuit's documentation for your edition and version. The main takeaway: lists move as IIF files, transactions do not, so plan to rebuild history from reports and a dated opening balance.
| Data type | Export method | Output format | Known limits |
|---|---|---|---|
| Customer and vendor lists | List export to IIF from the lists menu | IIF file, text-based | Confirm which fields carry over for your version in Intuit's documentation |
| Items, accounts and employees | List export to IIF | IIF file, text-based | Confirm employee and payroll fields; verify in Intuit's documentation |
| Transaction history (invoices, bills, checks, journal entries) | Not exported through IIF lists | Not available as IIF | Rebuild from reports or a dated opening balance; verify options for your edition |
| Profit and loss, balance sheet and transaction detail reports | Export or copy from the report window | Excel or CSV-style text, where your edition supports it | Availability depends on edition and version; verify in Intuit's documentation |
| Opening balances at cutover date | Balance sheet or trial balance report as of the cutover date | Excel or CSV-style text | Shows totals, not each transaction; confirm the cutoff with your accountant |
| Attachments and documents | Not confirmed as part of list or report export | Not confirmed | Verify in Intuit's documentation; keep source copies until migration is checked |
| Full company file | Backup to a local, network or external location | QuickBooks backup file | Readable only by QuickBooks; confirm the restore path for your version before cancelling |
What does not export through IIF, and how to work around each gap
IIF files carry lists, not the full working history of your books. The gaps below are where a new system most often starts without the context your accountant and auditors expect, so decide early which ones you will carry over and which you will keep in an archive.
Transaction detail
IIF moves lists such as accounts, customers, vendors and items, but it does not carry the individual invoices, bills, checks and journal entries behind your balances. Run the transaction detail reports from QuickBooks Desktop for the years you need, and export them to Excel or CSV where your edition allows. Check that each report totals to the balances in your opening trial balance. Expect to rebuild open invoices and open bills by hand or through a documented import, because a report shows activity, not a structure a new system can post from directly.
Attachments and scanned documents
Scanned receipts, vendor invoices and signed contracts attached to transactions stay inside the QuickBooks Desktop company file and do not move with IIF. Before your subscription ends, export the files you must keep from the source system or from your document storage, and record which transaction each file belongs to. Keep the folder structure and file names in a register that your accountant can read. Confirm with your accountant which attachments must stay linked to entries for tax or audit purposes, and which can sit in a document archive with a reference.
Audit trail
The record of who entered, changed or deleted a transaction, and when, is part of the company file rather than the lists in an IIF export. If your accountant or auditor will ask for it, run the audit trail report in QuickBooks Desktop while the subscription is still active and save it as a PDF in your archive. Confirm the report name and the date range available in your edition. A new system will start its own audit log from the migration date, so state that boundary in your migration notes.
Payroll history
Employee pay stubs, year-to-date wage totals, tax withholdings and payroll liabilities are handled through QuickBooks payroll services or add-ons, and they are not part of the IIF list export. Download the payroll summary and detail reports for each year you must retain, and save the annual forms you filed. Do not assume a new system will recalculate prior-year payroll or accept it as opening balances without review. Ask your payroll provider and tax adviser which records they require, and who keeps the employee-level detail once the QuickBooks payroll subscription ends.
Reconciliation status
Which bank and credit card items you have cleared, and the reconciliation reports you signed off, do not travel with IIF. Print or save the last completed reconciliation report for each bank and credit card account, along with the statement it matches. Mark the cut-off date on your opening balances so the new system starts from a statement you can prove. Items that were uncleared at the cut-off, such as outstanding checks and deposits in transit, must be recorded as open items in the new system, and your accountant should confirm each one.
The export sequence and the checks to run after each step
This sequence captures the QuickBooks Desktop company file, lists, reports and balances in a form you can compare against your new system, and keeps a read-only record of each step. Each check confirms that what left QuickBooks Desktop is complete before your subscription ends.
Back up the company file first
Before any export, make a full backup of the company file from within QuickBooks Desktop and store it in a location separate from the working copy. Someone with administrator rights should perform the backup, and the file should be opened once afterward to confirm it loads. The output is a backup file with a date in its name, recorded in your migration log. Confirm the backup menu path and file handling steps in Intuit's help for your specific QuickBooks Desktop version, since menus differ between releases.
Export lists as IIF files
Export the core lists, such as the chart of accounts, customers, vendors, items and employees, as IIF files using the export function for lists in QuickBooks Desktop. IIF is a tab-delimited format that covers lists but not transactions, so you will export transactions separately in later steps. Check that the record count in each file matches the count shown in the corresponding list window. Confirm the export menu path in Intuit's help for your version.
Export reports for the open period and prior years
Run and export reports as Excel or CSV files for the open fiscal period and each prior year you need to keep, including the general ledger detail, customer and vendor transaction detail, and open invoices and bills. These reports carry the transaction history that IIF cannot. Compare report totals to the totals shown on screen for the same date range. Confirm the report export options in Intuit's help for your version, and ask your accountant which years must stay in the record.
Record the trial balance and open AR and AP totals
Print or export the trial balance as of the cutover date, along with aged receivables and aged payables totals. Record these figures in a signed control sheet that names the person who produced them and the date. These totals become your opening balance target in the new system, so the new system must reproduce them exactly before go-live. Confirm the report locations for your version in Intuit's help.
Spot check a sample of invoices and bills
Select a sample of invoices, bills and checks from different customers, vendors and months, and pull each one up in QuickBooks Desktop. Compare the number, date, amount, tax, and open or paid status against the exported report rows. Record each sampled item and its result in the control sheet. Any mismatch means the export logic needs to be checked before you continue. The output is a signed sample log.
Store copies in a read-only archive
Place the backup file, IIF files, report exports, the control sheet and the sample log into a single folder structure with a clear index. Set this archive to read-only for ordinary users and restrict write access to a named administrator. Store a second copy in a separate location your organization controls. Confirm that your retention policy and any record-keeping rules that apply to your business allow the archive to be kept in this form.
Verify counts and totals against the source
Before your subscription ends, reopen the archived files and compare record counts and balance totals with the figures in the control sheet and the company file. Recount list items, transactions in each report, and the trial balance totals. Sign off only when every count and total matches, or when each difference has a documented explanation. The closing output is a verification record that your accountant and the project owner both sign.
How to capture opening balances and history for the new system
Most teams move to a new system by choosing a cut-over date, entering opening balances as at that date, and keeping the QuickBooks Desktop company file as the read-only record for earlier periods. Before the cut-over, run the final reports from the desktop file, including the trial balance, accounts receivable and accounts payable aging, and inventory valuation, and save them as PDFs in a controlled folder. The new system then starts from balances, not from a replay of every historical transaction. Confirm with your accountant which opening balance entries they expect, and whether open invoices, bills and unpaid purchase orders need to be re-entered as live documents or summarized.
The cut-over date and the trial balance have to agree before any live transaction is posted in the new system. Once you load opening balances, the total debits and credits must match the trial balance taken on that date, and each customer, vendor and inventory item must tie to its subledger. If they do not, the first month of reporting will carry the error forward into the balance sheet and aging reports. Decide how bank and credit card reconciliations are closed at the cut-over date, and make sure no transactions are entered in QuickBooks Desktop after that date unless they are also recorded in the new system.
Load the data into a non-production copy of the target system first. For Odoo, the import documentation covers Excel and CSV files and recommends External IDs when importing from another application, which helps you re-run an import without creating duplicates. For ERPNext, the Data Import tool works from downloadable templates and the documentation advises importing a few thousand records at a time, so plan batches and check each one. Compare the test results against the saved QuickBooks Desktop reports line by line, then repeat the import until the totals match. Only then run the production load, and keep the test logs with the cut-over evidence.
How each target system takes in the exported files
Odoo can import data into any business object from Excel (.xlsx) or CSV files, so customers, vendors, products and opening accounting entries can all come in through the same import function. Odoo's documentation recommends using External IDs when you import from a third-party application. An External ID is a stable identifier that links each imported record to its source, which lets you re-run or correct an import without creating duplicate records.
- Any business object: Use the import function on each model you need, such as contacts, products or journal entries, and check the column headers against the field names Odoo expects.
- External IDs: Keep a unique reference from QuickBooks Desktop, such as the list name or ID from your IIF export, in a column that maps to an External ID. This makes later corrections safe.
- Import order: Load parent records such as accounts, taxes and partners before the transactions that refer to them, so that references resolve during the load.
- Spreadsheet preparation: Convert IIF output into .xlsx or CSV with consistent date formats, decimal separators and encoding before you start.
- Test database first: Run each import on a duplicate of your database and review the results before loading production data.
Confirm the current import behavior, including how Odoo handles journal entries and opening balances, against the documentation for the version you deploy.
ERPNext includes a Data Import tool that creates and updates records from CSV or Excel files. The tool provides downloadable templates for each document type, so you can align your exported columns to the expected layout before uploading. It also supports child table rows, which matters for documents such as invoices and purchase orders that carry multiple line items. The documentation advises importing a few thousand records at a time rather than one very large file.
- Downloadable templates: Generate the template for each doctype, then map your QuickBooks Desktop columns to its fields rather than editing the export by hand.
- Child table rows: Put each line item on its own row that references the parent document, so invoice lines and bill lines arrive with their header.
- Batch size: Split large lists into chunks of a few thousand records or fewer, and load them in dependency order.
- Update mode: Use the tool's ability to update existing records when you correct a batch, so you do not duplicate customers or items.
- Validation: Check the import log after each batch and fix rejected rows in the source file before rerunning.
Confirm the template fields and batch limits for your ERPNext version, and check the Data Import documentation before you map columns.
Dolibarr is a modular PHP application that stores data in MySQL, MariaDB or PostgreSQL, and it provides import functions for its business objects. The exact import formats, mapping screens and supported objects depend on the version you install and on the modules you enable, so your plan should be based on the documentation for that version. Treat the import step as something to test end to end rather than assume from a feature list.
- Version-specific options: Check which file formats, objects and field mappings the release you deploy supports, and confirm them with the Dolibarr documentation.
- Module dependencies: Enable the modules that own the records you plan to load, such as third parties, products and invoicing, before you import into them.
- Column preparation: Shape your QuickBooks Desktop exports to match the field names in the target module, and keep a mapping sheet that records each translation.
- Test copy: Load the files into a separate test copy of the database first, because a failed partial load can be hard to reverse in a live system.
- Reconciliation: Compare record counts and totals in the test copy against your QuickBooks Desktop reports before you run the live load.
Confirm every import option and its limits against the documentation for the version you choose before you commit to a load plan.
What to plan before the QuickBooks Desktop subscription ends
Exporting data from QuickBooks Desktop is one step in a larger cut-over. The items below connect the contract end date, the final export, the accountant's close-out and the owner of the new system, so that nothing depends on memory or on a file that becomes unreadable.
Confirm the end date and access terms
Find out the exact date your subscription stops, whether the company file remains usable after it ends, and whether you keep any read-only access. Renewal and termination terms vary by plan and by agreement, so confirm them directly with Intuit and do not assume they match what you remember from a previous renewal. Write down the answers with the date you checked them.
Schedule the final export early
Plan the last set of list exports, reports and the company file backup well before the subscription ends, leaving room to repeat any export that fails or looks incomplete. Lists can be exported as IIF files, but transactions cannot be exported through IIF, so transaction history needs its own capture method, such as reports exported to files, agreed with your accountant. Date-stamp every export.
Agree the cut-over date with the accountant
Your accountant should confirm the date on which books move from QuickBooks Desktop to the new system, the closing balances on that date and how open items such as unpaid invoices, bills and bank reconciliations will be carried over. A clean cut-over date makes the opening balance entries in the new system easier to verify.
Archive the company file and exports
Keep a complete, dated copy of the QuickBooks company file, along with every IIF file, report and attachment you exported. Store it in a location you control, with access limited to the people who need it. Test that the backup opens or can be read before you rely on it, because an archive that nobody can open does not satisfy a future audit or tax question.
Assign an owner for the target system
Name one person who owns the new system after cut-over, including data imports, user access, backups and upgrades. For Odoo or ERPNext this role covers version support windows and the upgrade path. If the owner changes, the knowledge of the import mapping and the opening balances should pass to the new owner in writing.
Check payroll and tax obligations
Identify any payroll, sales tax or annual filing that still depends on QuickBooks Desktop data, such as year-to-date payroll totals or prior-period tax figures. Confirm with your payroll provider and tax advisor what they need from the old system and in what format, and keep those records available for the retention period your advisor specifies.
Questions teams ask before exporting QuickBooks Desktop data
How long does exporting QuickBooks Desktop data take?
The export runs quickly for most lists, but the total time depends on what you need and how much checking follows. The main drivers are company size, the number of years of history you want to carry over, and how many lists and reports you need to capture. Every year of transactions you keep adds records to map, reconcile and load. Most of the effort is usually spent on cleanup, duplicate names, mapping accounts and checking totals against the source file, not on pressing export. Ask any migration partner to state the scope and the checkpoints in writing before work starts, so the timeline follows from the agreed scope.
Can our team export QuickBooks Desktop data without outside help?
Yes, for lists. Anyone with the right administrator access can export lists such as customers, vendors, items and accounts as IIF files from inside the product. Opening balances and history are harder, because they must be mapped to the import format of the new system. Odoo can import data into business objects from Excel (.xlsx) or CSV files, and ERPNext's Data Import tool uses downloadable templates for CSV or Excel. Both work best when a person who knows the chart of accounts checks each file before loading. Teams that do this in-house should budget staff time for mapping, test loads and reconciliation, and should decide early who signs off the final numbers.
What cost and effort components should we expect for the export?
The cost has three main parts. The first is internal staff time for exporting, cleaning data and testing loads. The second is accountant review, which validates balances, chart of accounts mapping and opening entries; this is often the step that cannot be skipped. The third is outside migration work, which DeployOpen can deliver as fixed-scope work with deliverables and timelines agreed in writing before it begins. The software licences for the new system are separate. Self-hosted Odoo Community and ERPNext are free to download, but hosting, setup and ongoing maintenance still have costs. Ask any provider for a quote that lists each component, who performs it, and what is one-time versus recurring.
What does the export need from our team to succeed?
The team needs three things. First, access to the company file, with an administrator role able to run the exports and a backup copy kept untouched. Second, an accountant who can confirm opening balances, account mappings and the cutover date, since those figures become the starting point of the new system. Third, a test environment separate from production. For self-hosted Odoo, Odoo documents database duplication with neutralization for test copies. ERPNext's single-file Docker demo is intended only for short evaluation, so plan a production-grade setup such as the frappe_docker repository for real testing. Agree on who approves each test load before anyone runs it.
What happens if the IIF export does not include a record we need?
IIF files carry lists, but transactions cannot be exported through IIF, so transaction history needs a different route. Plan for three options. You can capture needed history through reports exported from the product, which are then mapped and loaded as journal entries or summary transactions. You can enter opening balances as a single journal entry as of the cutover date, leaving older detail in an archived copy of the company file. You can also keep the QuickBooks file open and readable until the retention period you need ends. Confirm with your accountant and auditors which records must remain accessible and in what form, because the answer determines how much history you migrate.
Can we repeat the QuickBooks Desktop export if the first attempt fails?
Yes. Lists can be exported again at any time while you have access to the company file, so a failed or incomplete attempt does not stop the project. What matters is making re-loads safe. Odoo recommends External IDs when importing from a third-party application, so a re-import can match existing records instead of creating duplicates. ERPNext's Data Import tool can update existing records as well as create new ones, and its documentation advises importing a few thousand records at a time, which makes repeated test loads easier to check. Keep each export file with a date and version label, and plan a final export for cutover so the production load starts from a known, approved snapshot.
How DeployOpen scopes and delivers a QuickBooks Desktop export and exit
DeployOpen approaches a QuickBooks Desktop export as a written, fixed-scope piece of work: we first inventory which lists, balances and history your company actually needs, then build the extraction and loading path into the self-hosted system you choose. Each step ends with documented evidence that your books reconcile before your subscription ends.
How we scope
- Inventory the lists, open items, balances and history your accountant needs in the new system
- Confirm which QuickBooks Desktop data can leave as IIF files and which must be rebuilt from reports
- Agree the target platform, hosting location and cutover date in a written scope before work starts
- Set the reconciliation tests and sign-off owners for each balance and report
How we build
- Export lists and reports from QuickBooks Desktop and convert them to the import templates of your target system
- Prepare opening balance entries and capture history as reports or documents where transactions cannot be imported
- Test imports on a copy of the target environment in small batches before any production load
- Document each mapping decision, including accounts, customers, vendors and items that were renamed or merged
How we hand over
- Deliver a reconciliation pack comparing source reports with imported balances and open items
- Provide the archive of exported files, mapping sheets and the history reports kept for audit reference
- Train accounting staff on the imported chart of accounts, items and recurring entries in your environment
- Record where each retained QuickBooks file, report and backup is stored so access remains available after cancellation
How we support
- Support the first closing period in the new system through a retainer if your team wants help
- Adjust import mappings or reports when accountants find differences during the first reconciliation cycle
- Confirm with your accountant and vendor which current QuickBooks Desktop export options remain available to you
- Review the export scope again before any future upgrade of the target platform

