Skip to main content

Migration guide: leaving QuickBooks Desktop

This guide shows how to use OpenQBW to extract your books from a .qbw file in a format you can take to another accounting product or hand to your accountant.

Step 1: Make a backup

Copy the .qbw file to a working directory. OpenQBW is read-only, but it's good practice:

$ cp mybooks.qbw mybooks.qbw.bak

Step 2: Inventory what is in the file

$ openqbw catalog mybooks.qbw

This prints every user table. Look for the ones you care about:

  • abmc_*_header -- transaction headers (invoices, bills, payments)
  • abmc_*_*line* -- line items
  • Customer, vendor, item, and account lists also live in abmc_* tables.

Step 3: Pick an output format

OpenQBW today ships these export targets via the openqbw migrate subcommand (when available -- see openqbw --help for the version you have installed):

FormatUse when
SQLiteYou want to query the data, or import to BI tools
CSVYou want a lowest-common-denominator handoff
IIFYou want to import to another QB-compatible product

Step 4: Export

# SQLite (one file, all tables)
$ openqbw export mybooks.qbw --out books.sqlite

# CSV (one file per table; see migrate subcommand)
$ openqbw migrate mybooks.qbw --format csv --out csv-out/

# IIF (Intuit Interchange Format, importable by many tools)
$ openqbw migrate mybooks.qbw --format iif --out books.iif

Step 5: Verify

Open the export in your target tool and reconcile a few totals against what QuickBooks itself reported (a saved P&L PDF, a sales-by-customer report, or a trial balance) before relying on the export.

OpenQBW preserves cents (it does not introduce floating-point rounding), so reconciliation to the penny is expected.

Mapping notes

  • Dates are stored as SA-days (days since 1900-01-01 minus an offset) in the on-disk format. OpenQBW emits them as ISO-8601 date strings.
  • Amounts are i64 cents on the QB side. Exports preserve this; CSV/IIF outputs include a separate decimal column for readability.
  • Foreign keys are surfaced from the SA17 SYSINDEX catalog where present, and via a name-heuristic fallback otherwise.
  • Deleted records are not recoverable in general. OpenQBW parses pages that the page-store currently considers live.

Limitations

  • Password-protected files: structural metadata only; row content remains obfuscated until QuickBooks decrypts it on open.
  • Multi-user (.QBX, .QBA) files: not yet supported.
  • Custom user-defined fields are exported as-is (raw bytes) when the encoding cannot be determined from the catalog.

If you hit a limitation, please open an issue with the file size, QB version, and the failing command. Do not attach the file -- attach the redacted output only.