← All resources
How-ToAugust 10, 202615 min read

How to Move to a New Accounting System: Balances, Open Invoices, and What to Leave Behind

Switching systems moves four things: master data, opening balances, open invoices and bills, and your bank position. Everything else gets archived. Here is the ten step cutover.

By Robbie Thomas

Every owner dreads switching systems because they picture fifteen years of records crawling from one database to another. That is not what happens. You move what is still open, and that list is far shorter than you think.

The fear is doing real damage. Businesses stay on software that is actively slowing them down for years, not because they like it, but because nobody has told them what switching actually involves, so they assume it involves everything.

Here is exactly how to switch accounting systems: what moves, what stays behind, and the order it has to happen in.

The short answer: what actually moves#

A system migration moves four things and archives everything else.

  1. Your master data. The lists you transact against: chart of accounts, customers, suppliers, products, tax codes, users.
  2. Your opening balances. One trial balance, posted as of the day before you go live.
  3. Your open items. Unpaid customer invoices, unpaid supplier bills, stock on hand, open purchase orders, open sales orders.
  4. Your bank position. The last reconciled statement plus anything that has not cleared.

That is it. Paid invoices, closed orders, and old journal entries do not move. They stay archived in the system that created them.

What actually moves

Four things move. The rest is archived.

Moves into the new system
  1. 1Master data
  2. 2Opening balances
  3. 3Open items
  4. 4Bank position
Stays in the old system
  • Paid invoices
  • Closed orders
  • Old journal entries
  • Historical stock movements
The rule

Bring what you will transact against. Archive what you will only look at.

Everything on the left is something you will still transact against. Everything on the right is a record you will only ever look at, which is why read only access to the old system is enough.

The rule that keeps a migration on schedule is simple: bring what you will transact against, archive what you will only look at. An unpaid invoice moves because someone still has to apply a payment to it. An invoice paid in 2023 does not move, because nothing will ever happen to it again. Trying to import a full transaction history is the single most common reason a small business migration runs months late and lands over budget.

The decision that sets every other date: your cutover date#

Pick this first. Every step below is scheduled relative to it.

Your cutover date is the first day you transact in the new system. The day before it is your balance date, the point where the old system stops and the new one picks up.

  • Best: the first day of a new financial year. Your prior year is closed, reported, and reconciled. Nothing about the current year has to be reconstructed.
  • Good: the first day of a quarter or a month. Clean period boundaries mean your first close in the new system covers a whole period, so your reports are comparable.
  • Avoid: mid month. A mid month cutover splits one accounting period across two systems. Every report for that month has to be manually stitched together, your bank reconciliation straddles both, and your accountant will charge you for the privilege.

If your year ends 31 December, going live 1 January is worth waiting for. A quarter start is a close second.

The cutover

Ten steps, three phases.

  1. Prepare2 to 4 weeks before
    1. 1Clean master data
  2. CutoverBalance date to day 1
    1. 2Post opening balances
    2. 3Import open invoices
    3. 4Import open bills
    4. 5Count and value stock
    5. 6Bring open orders across
    6. 7Capture bank position
  3. Go liveWeeks 1 to 4 after
    1. 8Archive history
    2. 9Parallel period
    3. 10Hard stop old system
The ten steps grouped by when they happen. Preparation is one step and the longest stretch on the calendar. The cutover is six steps compressed into a couple of days.

Step 1: Clean your master data, then move it#

Master data is every list you transact against: your chart of accounts, customers, suppliers, products, tax codes, price lists, and users. It carries no balances. It is the skeleton everything else attaches to, which is why it goes first.

This is the one moment in the life of your business when cleaning up costs you nothing extra, because you are touching every record anyway.

  • Deduplicate customers. Most systems that have run for a decade hold the same customer three times under three spellings.
  • Retire dead products. If you have 4,000 items and 1,200 have sold in the last two years, import the 1,200. The rest go in the archive with the history.
  • Restructure your chart of accounts. If you have 40 expense accounts and use 12, this is the moment to collapse them. Once you have posted a year of transactions against a bad account structure, you are stuck with it.
  • Fix your product costs. Costs drive your margin reporting from day one. If your standard costs are three years stale, they will quietly misprice everything you sell. If freight and duty are not in those costs, read what landed cost is before you import them.

Importing a mess into a new system gives you the same mess in nicer software. The preparation is what determines how the migration goes, not the import tool.

Step 2: Post your opening balances from the trial balance#

Ask your bookkeeper or accountant for a trial balance as of the day before your cutover date. It is a single report listing every account with its debit or credit balance, and its totals are equal by definition.

You post that trial balance into the new system as one opening journal entry, dated the day before go-live. The offsetting account is usually called Opening Balance Equity or a suspense account. Once every step below is finished, that account must sit at zero. If it does not, something is missing or double counted.

The trap that catches almost everyone. Do not post your accounts receivable, accounts payable, and inventory balances as summary lines on that journal entry, because the detailed imports in the next three steps will create those balances themselves.

Post a summary receivable balance of $84,000 and then import 40 open invoices totalling $84,000, and your new system now shows $168,000 owed to you. The same trap applies to payables and to stock.

The standard approach is to post the trial balance with the receivable, payable, and inventory control accounts left out, then let the sub ledger imports build those balances from the detail. At the end you check that the balances the detail produced match the ones on the original trial balance. That check is the whole point, and it is the first of the five numbers at the bottom of this article.

Step 3: Import open customer invoices, one at a time#

Open receivables are every invoice a customer has not fully paid as of your balance date. These import individually, never as one lump sum, because you need to apply payments to a specific invoice number and chase specific customers by age.

Each open invoice needs six fields:

  • Customer
  • Original invoice number, because that is the number the customer will quote when they pay
  • Original invoice date, not the cutover date
  • Due date or payment terms
  • Outstanding balance, not the original amount, if the invoice is partly paid
  • The offset account, which is your opening balance equity or suspense account

Two details decide whether this works.

Post to opening balance equity, not to revenue. You already recognised that income in the old system and already reported it. Importing open invoices as new sales books the same revenue twice and inflates your year. For the same reason, import them with no tax, because that tax has already been filed.

Carry the original dates. If you date all 40 invoices at your cutover date, every one of them looks current on day one. Your aged receivables report shows nothing overdue, your collections list is empty, and the customer who has been sitting on an invoice for 94 days disappears. You lose the single report that tells you who to call.

Step 4: Import open supplier bills the same way#

Open payables work identically in the other direction: every supplier bill you have received and not fully paid. Same fields, same rules. Original bill number so it matches the supplier statement, original date so your aged payables and your cash forecast are honest, outstanding balance if partly paid, no tax, offset to opening balance equity.

Get this right and your first payment run in the new system is trustworthy. Get it wrong and you will either pay a supplier twice or miss a discount date. If you want the receiving and approval side tightened at the same time, three way matching is the control worth setting up while you are already rebuilding the process.

Step 5: Count your inventory and value it#

Stock is where migrations most often go wrong, because it is the one balance that exists in the physical world and not just in a database.

Count it, do not export it. Exporting quantities from the old system imports the old system's errors along with them. If your counts have been drifting for two years, you are about to carry that drift into a system you were hoping would fix it. Do a full physical count as close to the cutover date as you can manage.

Set your costing method before you import. FIFO and weighted average produce different numbers, and changing your mind after you have transacted is painful.

Then check the valuation against the trial balance. Quantity times unit cost, summed across every item, must equal the inventory control balance on the trial balance you pulled in step 2. When it does not, you have found real shrinkage, and this matters: book that adjustment in the old system before cutover, so the trial balance you carry across is already true. If the old system says $212,000 and your count values at $198,000, that $14,000 write down belongs to the old year, not to your first week on the new system.

While you are rebuilding your stock records, be clear about which stock number you are importing. On hand, available, and committed are three different numbers, and you import on hand.

Step 6: Bring across open purchase orders and sales orders#

Open purchase orders and open sales orders have no effect on your ledger. Nothing has been invoiced, so nothing has been posted, which is exactly why they get forgotten.

Skip them and your first morning in the new system goes like this: a delivery arrives from a supplier and the receiving team has no purchase order to receive it against, so the stock either gets booked in with no cost or sits on the dock. Meanwhile your warehouse has no picking list, because the orders customers placed last week live only in the system you just switched off.

Import the ones still in flight. Anything already delivered and invoiced is history and stays behind.

Step 7: Capture your bank position#

You need three things as of your balance date: the closing balance from your last reconciled bank statement, a list of payments that have not cleared, and a list of deposits in transit.

Your general ledger bank balance at cutover is the statement balance, less uncleared payments, plus deposits in transit. Load the uncleared items so they can be ticked off as they clear.

Miss this and your first bank reconciliation in the new system cannot be completed, because transactions will land on the statement that have no matching entry anywhere in your books. That is a bad way to spend your first month end.

Step 8: Archive your history, do not import it#

This is the step that decides whether your migration takes weeks or months, and it is the one most people get backwards.

Historical transactions do not need to be in your new system. They need to be retrievable. Those are different requirements with wildly different price tags.

What history is actually for:

  • Tax and audit. You need to be able to produce records if asked. Most jurisdictions require somewhere between five and seven years of retention. Confirm your own with your accountant.
  • Answering a customer question. Somebody occasionally asks what they paid in 2022.
  • Demand planning. You need past sales to forecast future buying.

None of those require live data in the new system.

For the first two, keep the old system in read only mode for the retention period, or export the records to PDF and CSV and store them somewhere organised and backed up. Read only access to old software is nearly always cheaper than the consulting hours it takes to import and reconcile a decade of transactions, and a migrated history is rarely as clean as the original anyway.

For demand planning, import 12 to 24 months of summarised sales history by product, not the underlying invoices. Units sold per item per month is enough to set reorder points. You do not need the line level detail to do that.

The honest version of this decision is a trade. Importing full history means every historical report runs inside one system, and it costs weeks of work, real consulting money, and a reconciliation exercise for every year you bring across. Archiving means you keep one old login for lookups, and you go live a month sooner. For most small businesses the second is obviously right, and the owners who chose the first rarely open the imported data again after the first month.

Step 9: Run one accounting period in parallel#

Before you switch the old system off, run one full accounting period where the new system is your system of record and you reconcile against the old one at period end.

At the end of that period, compare the five numbers listed below. If they tie, the migration is sound.

One period. Not three. Full parallel running, where every transaction is entered twice, is genuinely expensive and it does not get more informative the longer you do it. It also creates a quiet failure mode: when people have two systems available for months, some of them keep using the old one, and your data forks without anyone deciding that it should.

If entering everything twice is too much, the minimum viable version is to run the new system live from day one and reconcile the five numbers at your first month end close. That single reconciliation catches almost everything a full parallel run would.

Step 10: Set a hard stop date, owned by a named person#

Put a date on the calendar when the old system goes read only. Write down who owns that decision by name.

This sounds like project management filler. It is the step that most often gets skipped, and skipping it is how a migration ends up half finished a year later. Without a hard stop, a handful of people keep entering transactions in the old system because it is familiar, and now neither system is complete. Your inventory is wrong in both. Your receivables are split. Nobody can tell you what you sold last month without exporting from two places and reconciling by hand.

Announce the date, train everyone before it, and then enforce it. Read only, not deleted, and kept for the retention period from step 8.

The five numbers that must tie before you go live#

This is the whole migration reduced to a checklist. Run it the day before go-live and again at your first month end.

  1. Your trial balance balances, and it matches the trial balance from the old system.
  2. Your aged receivables total equals your receivables control account.
  3. Your aged payables total equals your payables control account.
  4. Your inventory valuation equals your inventory control account.
  5. Your bank balance plus uncleared items equals your last statement.

If all five tie, you are clear to go live. If one does not, you are not, and the gap is telling you exactly which step above was missed. A receivables mismatch means the invoice import or the summary line double count. An inventory mismatch means the count or the costing method. Every failure points at its own cause, which is why this list is worth running before you need it.

How long this actually takes#

The software work is fast. The preparation is the long pole, and it is the part you control.

PhaseTypical timeWhat is happening
Preparation2 to 4 weeksCleaning lists, restructuring the chart of accounts, counting stock, choosing the cutover date
Cutover1 to 3 daysImporting master data, posting opening balances, loading open items
Stabilise4 weeksRunning live, first month end close, reconciling the five numbers

With clean lists and a sensible cutover date, the switch itself is a matter of days, not months. With a decade of duplicated customers and untrusted stock counts, the preparation is where your time goes, and no import tool shortens it.

That is the real answer to why migrations get a bad reputation. The projects that run long are almost never long because of the software. They run long because nobody cleaned the data first, or because somebody insisted on importing ten years of paid invoices.

Where this leaves you#

Switching systems is a scoped job with a defined checklist and a known end state. What makes it feel impossible is the assumption that everything you have ever recorded has to come along. It does not. Four categories of data move, five numbers have to tie, and the rest goes into an archive you will barely open.

If the reason you are reading this is that your current setup has stopped keeping up, the five signs you have outgrown spreadsheets is a good gut check on whether it is time. If you already know it is time and you are weighing options, we have written up how BizPro-Vision compares with QuickBooks and with NetSuite, including what a move from each actually involves.

BizPro-Vision brings sales, purchasing, inventory, and accounting into one platform, and onboarding includes a Business Setup Manager who walks through the steps above with you rather than handing you an import template and wishing you luck. We're launching soon, so join the waitlist and lock in 50% off your first year when we open.

Frequently asked questions

How do I move opening balances to a new accounting system?+

Opening balances move as a single journal entry built from a trial balance dated the day before your cutover date. Your accountant or bookkeeper can produce that trial balance from the old system in a few minutes. You post every account balance from it into the new system, offset to an account usually called Opening Balance Equity.

The important exclusion is your control accounts. Leave accounts receivable, accounts payable, and inventory off that journal entry, because you will build those balances from detailed imports of your open invoices, open bills, and counted stock. Posting both a summary balance and the detail is the most common migration error, and it doubles those balances.

Once every import is finished, your Opening Balance Equity account should sit at zero. If it holds a residual amount, something was missed or counted twice, and the amount itself usually tells you which step to check.

Should I import my transaction history into a new ERP?+

Usually not. Historical transactions need to be retrievable for tax, audit, and the occasional customer question, but they do not need to be live in the new system, and those two requirements cost very different amounts.

The practical approach is to keep the old system in read only mode for your retention period, which is commonly five to seven years, or export the records to PDF and CSV and store them somewhere backed up. That costs one login. Importing and reconciling a decade of transactions costs weeks of work and real consulting fees, and the imported version is rarely as clean as the original.

The one exception is demand planning. Import 12 to 24 months of summarised sales history by product, units per item per month, which is enough to set reorder points without moving any underlying invoices.

When is the best time to switch accounting systems?+

The first day of a new financial year is the best cutover date, because your prior year is already closed, reported, and reconciled, so nothing about the current year needs reconstructing. The first day of a quarter or a month is a solid second choice, since clean period boundaries mean your first close in the new system covers a full period and your reports stay comparable.

Avoid going live mid month. A mid month cutover splits a single accounting period across two systems, so every report for that month has to be stitched together by hand, and your bank reconciliation straddles both sets of books.

If your year ends in December, waiting until 1 January is usually worth it. Just make sure the preparation work, which is cleaning your lists and counting your stock, happens in the weeks before that date rather than after it.

How long does an ERP migration take for a small business?+

For a small business with reasonably clean data, expect two to four weeks of preparation, one to three days for the cutover itself, and about four weeks of running live before your first month end close confirms everything reconciles.

The software work is the fast part. Preparation is what actually sets the timeline: deduplicating customers, retiring dead products, restructuring the chart of accounts, and doing a full physical stock count. None of that is shortened by a better import tool, which is why the businesses that move fastest are the ones that arrive with clean lists rather than the ones that bought the best software.

Migrations that run to six months usually do so for one of two reasons. Either nobody cleaned the data first, so the reconciliation never ties, or somebody insisted on importing years of paid invoices nobody will open again.

What data do I need to move to a new accounting system?+

Four categories move and everything else is archived. First, master data: your chart of accounts, customers, suppliers, products, tax codes, and users. Second, opening balances, posted from a trial balance dated the day before cutover. Third, open items: unpaid customer invoices, unpaid supplier bills, stock on hand with its valuation, and open purchase and sales orders. Fourth, your bank position, meaning the last reconciled statement balance plus any uncleared payments and deposits in transit.

The test for anything you are unsure about is whether you will transact against it again. An unpaid invoice moves because a payment still has to be applied to it. A paid invoice does not, because nothing further will ever happen to it. The same test settles purchase orders: the ones still awaiting delivery move, and the ones already received and invoiced stay behind.

Get early access

BizPro-Vision is launching soon. Join the waitlist and be first in line when we open.

Lock in 50% off for a year