Data Migrations

Working with BC – either integrating to-and-from other data stores or converting old NAV instances (or other ERPs), having a practiced and experienced craftsman is crucial to success.

Online is Different

The proper place for Business Central is online, in the Azure SaaS environment. But up there, the tried-and-true SQL methods of moving data won’t work anymore.

This is especially true when preparing a production instance for the first-time implementation in BC in the cloud. Clients need an experienced and practiced hand to prepare a production data set in a local platform before hoisting it into the cloud.

Traditional solutions to this business process suggest using a horrid tool in BC called Configuration Packages. While configuration packages may be sufficient when moving a single set of data into a single table, they collapse of their own complexity when attempting to migrate an implementation database. They are more trouble than they are worth.

Two Roads; Three If You Count the Bad One

Since we know using configuration packages is a heartbreak and a fool’s errand, what paths do we have?

  • Stage an on-prem BC version with data and import it to the cloud at or just before go-live
  • Leverage some marvelous tools built by geniuses in the community; pay a little money, save a go-live

Frankly, the best solution is an amalgam of the two points above. Why? It’s simple if you’ve done this a few dozen times.

A production instance of a BC database is never perfect: not the second before go-live; not five years after. We cannot make it perfect1. We have to live in an imperfect dataset and plan for remediation in real-time.

Chasing any other outcome or process is too expensive, too difficult, and impossible anyway.

Same Regardless

This is true regardless of the old data set. Whether it’s old NAV, newer BC, or a bespoke or random data set from a random ERP, the tools are the same. Only the details change.

Oh, and the details matter.

  1. There is one subset of data that must be perfect at go-live: every ledger must balance – to the penny – compared to the old ledgers before any data set can be “correct.” Other than that, there are approximately 3,598,864,974 common ways to get things wrong. (More if you’re creative.)
    ↩︎