Skip to content

Bookkeeping · Cleanups & Fixes · Guide · Working level

Switching bookkeeping software without importing the mess

What to bring to a new ledger (balances and open items), what to leave behind (transaction history stays archived), how to post opening balances, and a cutover checklist with one month of parallel running.

By The Carryforward Desk7 min read · June 8, 2026

The worst way to change bookkeeping software is to press the vendor's "import everything" button, because a ledger's problems travel better than its virtues. The right way is a clean cutover: reconcile and close the old file through a chosen date, carry only balances and genuinely open items into the new one, run the two in parallel for a month, and archive the old file read-only. You lose nothing — history lives in the archive — and you gain a ledger that starts life provably correct.

This guide covers the what-to-bring decision, the opening-balance mechanics, the parallel month, and a cutover checklist you can run as written.

Why history stays behind

Three reasons, in descending order of importance:

  1. Imported history imports the mess. Every duplicate, every miscategorized expense, every forced reconciliation travels intact. If the old file were clean enough to import wholesale, you probably wouldn't be leaving it.
  2. Conversions are lossy. Reconciliation status, payment applications, and links between documents rarely survive a cross-platform import. What arrives looks like history but no longer reconciles, which is worse than absence — it invites false confidence.
  3. The archive satisfies retention. Keeping the old file (plus exported PDF/CSV copies of the general ledger, trial balances, and reports) meets record-keeping needs; IRS Publication 583 frames retention in terms of supporting filed returns, which the archive does regardless of what software currently runs the business.

The exception: staying on the same platform and merely starting a new file — as in a rebuild after severe damage (/bookkeeping/cleanups-fixes/books-cleanup-playbook covers when that's warranted) — follows this same balances-only method. Cleanup by migration and migration after cleanup are the same procedure.

Choosing the cutover date

Fiscal year-end is the gold standard: the new file then contains only complete years, the tax return for each year maps to exactly one system, and comparative statements never straddle platforms. If you cannot wait for year-end, any month-end works, provided that month is fully reconciled first. Mid-month cutovers are never acceptable — one bank statement would span two systems and neither could reconcile it.

Cutover date options compared.

OptionTax-year mappingEffortWhen to choose
Fiscal year-endOne return, one systemMust close the full year firstWhenever the switch can wait
Quarter-endReturn spans systems; quarterly filings map cleanlyModeratePayroll/sales-tax-heavy businesses mid-year
Any month-endReturn and some filings span systemsLowest waitThe old system is failing now
Mid-monthStatements unreconcilableNever

What crosses, what stays

The packing list.

ItemBring?How
Chart of accountsYes, prunedRebuild deliberately; a migration is your one chance to fix a bloated chart
Balance sheet balances at cutoverYesOpening balance entries (below)
Open customer invoicesYes, individuallyRe-enter each with original date, number, and amount
Open vendor billsYes, individuallySame
Uncleared checks and depositsYes, individuallyEnter so the first reconciliation can clear them
Customer and vendor master recordsYesImport or re-enter; verify W-9 data survives (Form W-9)
Fixed asset and loan schedulesYes, as recordsBalances via opening entries; keep the preparer's schedules as the subledger
Inventory quantities and costsYes, from a physical countNever from the old system's (possibly negative) quantities — see /bookkeeping/cleanups-fixes/inventory-negative-quantities
Transaction historyNoArchive the old file read-only; export GL and reports to PDF/CSV
Recurring transactions, memorized reportsRebuildRe-create in the new system's idiom

Year-to-date payroll totals deserve special care on a mid-year cutover: the new system (or payroll service) needs per-employee YTD wages and withholding so that Form W-2 and the remaining Form 941 filings come out whole. Tie those totals to the last filed quarter before entering them — the method in /bookkeeping/cleanups-fixes/payroll-liabilities-wrong.

Posting the opening balances

Work from the old file's final trial balance — reconciled, reviewed, and blessed by the preparer if the cutover is a year-end that has been filed. The core entry stamps in every balance sheet account except AR, AP, and bank items that need item-level detail:

Journal entry — Opening balance entry at cutover (condensed illustration)
AccountDebitCredit
Checking account18,450
Inventory22,300
Machinery & equipment84,000
Accumulated depreciation36,000
Note payable — vehicle28,750
Credit card payable3,120
Owner's equity56,880

Equity is the balancing figure and must equal the old file's total equity at cutover. AR and AP are excluded here — they enter as individual open invoices and bills.

Then the item-level pieces, each of which replaces a line the entry above deliberately omitted:

  1. Enter each open invoice with its original date and number, offsetting to opening equity (most platforms do this automatically for invoices dated before the start date). The AR total must equal the old file's AR at cutover.
  2. Enter each open bill the same way; AP total ties likewise.
  3. Enter each uncleared check and deposit dated pre-cutover, so the first bank reconciliation in the new file can clear them against the statement. If the old file carried ancient uncleared items, resolve them before migrating rather than carrying them across — /bookkeeping/cleanups-fixes/uncleared-transactions-cleanup.
  4. Zero out Opening Balance Equity. Platforms that auto-post setup balances to an "Opening Balance Equity" account expect you to reclassify it to real equity once setup is done. A new file that launches with a lingering OBE balance has already started collecting mess — the fix is /bookkeeping/cleanups-fixes/opening-balance-equity-cleanup.

The parallel month

Run one full month in both systems. It is tedious by design — the tedium is the test.

  1. Post the month's activity in both files. New system as the system of record; old system as the shadow.
  2. Reconcile the same bank statement in both. Both must reconcile without plugs.
  3. Compare the month-end trial balances. Every difference is either a known, documented improvement (a pruned account, a corrected categorization) or a defect to fix in the new file.
  4. Compare one operational report each — AR aging, AP aging, and P&L — for the same story.
  5. Retire the old file to read-only once the trial balances agree. Revoke edit access; keep read access indefinitely.

One month suffices. Two parallel months doubles the bookkeeping workload for marginal assurance; if the first month ties out, the migration mechanics are proven.

Where migration effort actually goes%

Illustrative distribution for a small business migrating at year-end; open-item re-entry dominates when AR/AP volume is high.

The cutover checklist

Run it top to bottom; each row has an artifact.

StepWhat you doWhat proves it's done
1Reconcile every account in the old file through the cutover dateReconciliation reports, no plugs
2Resolve stale AR, AP, and uncleared items in the old fileClean agings at cutover
3Export and archive: GL, trial balance, agings, statements (PDF/CSV)Archive folder, backed up
4Freeze the old file (closing date or read-only)Lock confirmed
5Build the new chart of accountsApproved account list
6Post opening balance entriesNew TB equals old TB
7Enter open invoices, bills, uncleared items individuallyAR/AP/uncleared totals tie
8Zero Opening Balance EquityOBE = 0
9Connect bank feeds from cutover date forward onlyFeed start date verified
10Parallel-run one month; compare trial balancesSigned-off comparison
11Retire the old file to read-only permanentlyAccess list updated

When a clean cutover is the wrong call

Two honest exceptions. Businesses with long-running jobs or projects (contractors, agencies) sometimes need transaction-level project history in the new system for job costing; there, import the open projects' transactions only — not the whole file — and reconcile the imported subset to the archive. And a business under audit or in a lender workout may be told to keep continuous transaction history in one system; follow the examining party's requirement and delay the migration instead. For everyone else, the balances-only cutover is the rare bookkeeping procedure with almost no downside: the history is not lost, only left where it can no longer do harm.

Frequently asked questions

Should I import all my transaction history into new bookkeeping software?
Usually no. Bring opening balances as of the cutover date and the open items behind them — unpaid invoices, unpaid bills, uncleared checks — and leave the transaction history in the old file, kept read-only as an archive. Importing years of history imports every duplicate and miscategorization along with it, and record-retention needs are met by the archive.
What is the best cutover date for a bookkeeping software migration?
The first day of a fiscal year is best, because the new file then contains complete years and the tax return maps to one system. Second best is the first day of any month, immediately after that month's reconciliations are done. Never cut over mid-month — you would split a bank statement across two systems and neither could reconcile it.
What is an opening balance entry in new bookkeeping software?
It is the entry (or set of entries) that stamps each balance sheet account's cutover-date balance into the new file: debit assets, credit liabilities and equity, with AR and AP entered as individual open invoices and bills rather than lump sums so payments can be applied to them later. Totals must tie to the old file's final, reconciled balance sheet.
How long should I run old and new bookkeeping systems in parallel?
One full month is usually enough. Keep the old file alive through one complete cycle in the new system, reconcile the same bank statement in both, and compare the resulting trial balances. If they match, retire the old file to read-only. Longer parallel runs double the workload for little added assurance.

Keep reading