Migrate from QuickBooks
Solid Accounting has three different paths for bringing your QuickBooks data over. Pick the one that matches what you have:
| You have | Recommended path | What it pulls |
|---|---|---|
| QuickBooks Desktop (.QBW / .QBB file) | Dedicated migration tool → .qbextract file | Accounts, contacts, items, transactions — full company history |
| QuickBooks Online (web account) | Direct OAuth connection from inside Solid | Accounts, customers, vendors, items, invoices, bills, payments, deposits, journal entries |
| An IIF file (e.g. a bank-statement export from QB Desktop) | Unified Import Wizard | Just the transactions in that file |
The first two are full migrations. IIF imports are best for ad-hoc transaction lists (a single bank statement, a list someone exported), not full migrations — IIF doesn't carry reconciliation history, attached documents, or report templates.
Path 1 — QuickBooks Desktop
The cleanest QB Desktop migration uses our standalone Solid Accounting Migration Tool to read directly from your .QBW company file and produce a .qbextract package — a SQLite snapshot of your accounts, contacts, items, and transactions. Solid Accounting then imports the whole package in one pass.
Step 1 — Get the migration tool
The migration tool is a separate small download. Get it from solidaccounting.com/migrate (link goes live with the public launch). It runs on the same Windows or Mac machine as your QuickBooks Desktop install — it doesn't modify your QB file, just reads it.
Step 2 — Extract from QuickBooks
- Close QuickBooks Desktop.
- Open the migration tool.
- Point it at your
.QBWfile. - Click Extract. The tool produces a
.qbextractfile (typically 5–50 MB depending on history depth).
Step 3 — Import into Solid Accounting
- Open Solid Accounting and create a new file (or open an existing one if you're merging). The welcome screen has an Import from other software → QuickBooks Desktop option, or use the command palette (⌘K / Ctrl+K) and search for "Import from QuickBooks (Migration)".
- Choose your
.qbextractfile. - Solid shows a preview with counts: accounts, contacts, items, transactions.
- Review the account mapping screen. The migration tool suggests a Solid Accounting account type for every QuickBooks account; you confirm or change as needed before the import runs.
- Click Import. The progress dialog shows phase-by-phase progress: Accounts → Contacts → Items → Auto-create Accounts → Transactions.
- When it's done, Solid shows a summary with counts imported and any items skipped.
The whole import is one transaction — if anything fails partway, the file is left untouched and you can re-run.
Path 2 — QuickBooks Online
QuickBooks Online doesn't expose IIF or .QBW files. Instead, Solid Accounting connects directly via OAuth and pulls your data through the QBO API.
- Open Solid Accounting and create a new file.
- From the welcome screen: Import from other software → QuickBooks Online. (Or Settings → Integrations → Connect QuickBooks Online if you're already in an existing file.)
- The OAuth flow opens your browser. Sign in to QuickBooks Online and authorize Solid Accounting to read your data.
- After authorization, Solid pulls your accounts, customers, vendors, items, invoices, bills, payments, bill payments, deposits, journal entries, and purchases.
- Review the import preview, confirm account mapping, and run the import.
The OAuth token stays in Solid's local secret store — your QuickBooks Online password never touches our servers. You can revoke access at any time from your Intuit account or by disconnecting in Settings → Integrations.
Path 3 — IIF file (ad-hoc transactions)
If you only have an .iif file — for example, a single bank-statement export from QuickBooks Desktop, or a report someone gave you — Solid's general-purpose Import Wizard handles it. This is the same wizard that imports CSV, OFX, QFX, and tab-delimited files; the format is auto-detected from the file's contents.
- From the command palette (⌘K) search for "Import Transactions" — or from the welcome screen, Import from other software → From a file.
- Choose your
.iiffile. - The wizard parses the file and shows you what it found: account hints, entry counts, date range.
- The next step is account mapping — Solid suggests a Solid account for every QuickBooks account name found in the file. Confirm or override.
- Run the import.
Important: IIF files don't carry the things .qbextract does. There are no item lists, no reconciliation history, no attached documents — just the transactions in that specific file. For a full QuickBooks Desktop migration, prefer Path 1.
Verifying the import
For all three paths, the most important step is verifying the trial balance.
- Before you start the migration, run Reports → Accountant & Taxes → Trial Balance in QuickBooks for the date you're migrating up to. Save it as a PDF.
- After the import completes in Solid Accounting, run Reports → Trial Balance for the same date.
- Open both side-by-side. Every account total should match to the penny.
If anything is off:
- Off by a small amount, one or two accounts — usually a reconciliation adjustment. Post a correcting journal entry in Solid Accounting.
- Trial balance off by exactly your retained earnings — QuickBooks closes prior years into Retained Earnings automatically; some IIF and OAuth paths don't carry that closing entry. Post a single journal entry to move the difference into Retained Earnings.
- One side higher than the other — a missing transaction. The import log lists what was skipped.
- Way off — re-run from scratch on a fresh
.solidfile. Imports aren't cumulative; running the same import twice doubles the data.
Repeat the comparison with your Balance Sheet and P&L for the same period. If those match, the migration is done.
What carries over
Coverage differs by path. The .qbextract migration tool carries the most; OAuth-based QBO carries somewhat less (limited by what the QBO API exposes); ad-hoc IIF carries the least.
| Area | .qbextract | QBO OAuth | IIF |
|---|---|---|---|
| Chart of Accounts | ✓ | ✓ | hints from !ACCNT |
| Customers | ✓ | ✓ | from transactions only |
| Vendors | ✓ (with 1099 flags) | ✓ (with 1099 flags) | from transactions only |
| Items | ✓ | ✓ | — |
| Transactions | ✓ | ✓ | ✓ |
| Reconciliation status | ✓ | partial | partial |
| Class tracking | ✓ → dimensions | ✓ → dimensions | ✓ → dimensions |
| Opening balances | ✓ | ✓ | computed from history |
| Multi-currency | base only | base only | base only |
What doesn't carry over (any path)
| Area | Why |
|---|---|
| Memorized transactions | Not in any export. Recreate as recurring entries in Solid. |
| Custom report layouts | QB-specific. Solid's report templates are different. |
| Inventory assemblies (BOMs) | Flattened. Solid's inventory BOM ships in a future release. |
| Attached documents/receipts | QB Document Center attachments don't export. |
| Multi-currency revaluation history | Only base-currency amounts come through. |
| Online payment / merchant settings | Tied to QB Payments, not portable. |
| Custom fields beyond name/description | Imported as memo text where possible; otherwise dropped. |
| Bank Feed connection state | Bank Feeds is a separate Solid feature, set up after import. |
After the import
A few things to do once balances match:
- Set your fiscal year start in Company → Preferences if it's not January.
- Set your reporting basis (cash or accrual). Solid tracks both; this just sets the default for new reports.
- Recreate memorized transactions as recurring journal entries.
- Lock the period before your migration cutover so nobody accidentally edits historical data: Company → Set Closing Date.
You can keep your QuickBooks file around indefinitely as a read-only archive. Nothing about Solid Accounting requires you to uninstall QuickBooks.
Troubleshooting
Migration tool can't open the .QBW file. Make sure QuickBooks Desktop is fully closed before running the tool. The .QBW file gets locked while QuickBooks is open.
QBO OAuth fails with "redirect URI mismatch". Solid Accounting registers a localhost redirect URI for OAuth. If your network blocks localhost callbacks (rare, but some VPNs do), try disconnecting the VPN during the connection step.
.qbextract import says "Account not found". A transaction in the extract references an account that was deleted in QuickBooks before the export. The import log names the affected accounts; create them in Solid first, then re-run.
Trial balance off by exactly your opening retained earnings. See the verification section above — post a single journal entry to move the difference.
Inventory quantities are wrong. For IIF imports specifically, IIF doesn't always preserve running quantity. Run Reports → Inventory Valuation Detail in QuickBooks for your migration cutover date and post adjusting entries to match. The .qbextract path doesn't have this issue.
The import is slow on large files. A .qbextract over ~50 MB can take a few minutes. The progress dialog updates per phase; give it a minute before assuming it's stuck.
Need a hand?
Email support@solidaccounting.com with your .qbextract file (or import log) attached and we'll walk through it with you.