Migration
The import has to prove itself.
Every bookkeeping tool claims it can import from QuickBooks. Almost none of them will tell you whether the result is actually right. Due North refuses to call a migration finished until your numbers agree with your old numbers exactly.
01Export from your current software
From QuickBooks: the account list, general ledger, customers, vendors and class list, plus the balance sheet and P&L by class you want to check against. From Quicken: a single QIF export of every account. The wizard tells you exactly which reports to run and which columns to add.
02Import, into a staging batch
Files are parsed and staged as one labelled batch. Accounts get their types, transactions keep their dates, memos, names and classes, and splits stay split. Importing the same file twice never double-counts it, because every row is fingerprinted.
03Verify against your own reports
This is the step that matters, and it isn't optional. Due North rebuilds your balance sheet and P&L by class from the imported ledger and compares them to the exports you just took — every account, every class cell, not just the totals. Match to the cent and the batch is marked verified. One cent out and it tells you which line and by how much.
04Keep it, or throw the whole batch away
A batch that doesn't reconcile is a batch you delete, cleanly, and try again with a better export. Nothing partial is left behind for you to discover in March.
What we learned the hard way
Real files are strange. That's the whole problem.
These aren't hypotheticals — each one silently corrupted a real migration until it was found and fixed, and each is now covered by a test that runs on every build.
QuickBooks
- The export format changes. QuickBooks altered every report layout between two exports of the same company six months apart. Both generations import.
- Signs aren’t consistent. Newer ledgers use one signed amount column in each account’s natural sign, so liability, equity and revenue rows have to be flipped by account type.
- Class columns are omitted by default. Export the general ledger without adding the Class column and your per-property tags are simply gone. The wizard checks for this before you waste an afternoon.
- “All dates” includes the future. Pre-entered rent is dated ahead, so verification uses all-dates windows to match how QuickBooks actually totals.
Quicken
- Category types must be read, not guessed. Inferring income versus expense from the direction of the first transaction mistyped 32 categories on a real file — a refund first is enough to invert one. The declarations at the top of the file are authoritative.
- Loan registers hide. Quicken marks them with a control byte and a blank header; skipping them lost a $200k mortgage and typed the loans as bank accounts.
- Transfers appear twice. Paycheck deductions and loan payments show up as split parts in one register and a single combined line in the other. Matching them by summed amount, in both directions, is what stops five figures of phantom cash.
- Every account is self-checked. Each imported balance is compared against the sum of its own register. On the file this was built against, all 21 checkable accounts matched exactly.
Honest limits
What doesn't come across
Better to read this now than discover it later.
- Investment transaction detail. Quicken securities registers are skipped; investment accounts arrive as asset accounts holding the cash transferred into them, which is what cash-basis books need.
- Attachments and receipt images stored inside your old file.
- Payroll subledgers. Paycheck splits import as transactions; tax tables and filings do not.
- Budgets, memorised transactions, saved report layouts and scheduled reminders.
- Transfers pointing at accounts you deleted from your old file. Quicken exports these to a placeholder account — they are imported, flagged, and left for you to recategorise.
Bring the messiest file you have.
Run the import, read the verification report, and judge it on whether your own totals come back exactly. If they don't, throw the batch away — it costs you an afternoon and nothing else.