If you’re operating an offline business and start to build an ecommerce site…
If you have operated multi-channels: offline stores and online site to sell products but start to embark on Omnichannel strategy…
If you are considering updating your current Magento version to the latest version of Magento…
After doing the most important task: choosing the suitable solution, architecture to move forwards, many clients forget to ask the not less important question or are not aware of the importance/the cost of the task that is even much more expensive than building a new site and installing an Omnichannel system: How could he migrate the data from the old system to the new system and which data should he migrate?
Before we go into detail, let’s look at the following example which I would like to call ADDRESS syndrome which is an excerpt from one of my favorite TED talk .
So, imagine you’re standing on a street anywhere in America and a Japanese man comes up to you and says,
– Excuse me, what is the name of this block?”
And you say:
– I’m sorry, well, this is Oak Street, that’s Elm Street. This is 26th, that’s 27th.
– OK, but what is the name of that block?
– Well, blocks don’t have names. Streets have names; blocks are just the unnamed spaces in between streets
He leaves, a little confused and disappointed.
So, now imagine you’re standing on a street, anywhere in Japan, you turn to a person next to you and say,
– Excuse me, what is the name of this street?”
– Oh, well that’s Block 17 and this is Block 16.”
-OK, but what is the name of this street?
– Well, streets don’t have names. Blocks have names. Just look at Google Maps here. There’s Block 14, 15, 16, 17, 18, 19. All of these blocks have names, and the streets are just the unnamed spaces in between the blocks.
– OK, then how do you know your home address?”
– Well, easy, this is District Eight. There’s Block 17, house number one.
– OK, but walking around the neighborhood, I noticed that the house numbers don’t go in order.
– Of course they do. They go in the order in which they were built. The first house ever built on a block is house number one. The second house ever built is house number two. Third is house number three. It’s easy. It’s obvious.
Ok, you see, for the house/address you want to go, each country has different ways to recognize them. It’s similar to POS/ERP system you are using.
System 1: Product – T-shirt, you can have different attributes categorized by color and size as following
System 2: In Magento, Product T-shirt, with 3 types of colors and 3 types of sizes, you have to create 9 kinds of product T-shirt in system even when stock is not available for Red-L, Red-S, etc and the database structure might look like this
For the same product, each system has its own database structure to set up them, not mention about other things that are supported by this system but not another one. E.g: Configurable products are supported by Magento but not many other systems or platforms.
Therefore, the hardest part is to match data from this system to another one: it’s not merely the task that you match field SKU of system 1 to field SKU of system, you have to truly understand the meaning of each field from the old system and the ways Magento system operate to do proper setting and migration.
And please take note that you have 2 main kinds of data you need to migrate:
1. Magento default data: this is the available field in Magento default tables such as products, sales orders, invoices, customers, etc
2. Magento customized/extension/extended data: these fields are not available in Magento. E.g: In regards to sales order, you create them from POS in 3 offline stores you have then you might have another field/another data table such as Location in POS_sales table.
We can go through Magento default data firstly
Although Magento supports function to import product and many important things in Magento default data (You can go System> Import> and choose the data you want to migrate by filling data in the template file), filling these data is not easy, especially when you have to upload thousands and fields and rows of data.
Now, there’re many tools in the market that support Magento default data, typically I prefer using Firebear studio here: https://firebearstudio.com/ which can help you match data and fill the template quickly but of course, it’s the case you know how to use the tool. And you still need technical knowledge to figure out issues, fix bugs if the upload process has any problems.
Besides, if you migrate from another system to Magento, if you merely name Sales Order, Products, etc, which you think they’re Magento default data, it’s still very hard to match data because of ADDRESS syndrome above.
In regards to Magento customized/extension/extended data, it’s unavoidable that you need to know the current workflow of the old system to migrate them to the new one and keep the same benefit for the end customers.
One typical example I want to illustrate:
You operate 3 offline stores and has an ecommerce site but you operate business as multi-channel. You currently apply Loyalty program, specifically Reward Point (earn points while buy product and can spend points as money for the next purchases) for offline channels and online channels separately. Offline POS system supports reward point and extension on ecommerce site support another kind of reward point which are not related to each other. Now, you plan to apply Omnichannel Strategy so you have to determine how you want to combine reward points of each customer earned through both channels: who has account in both channels, who has an account in only one channel, how much they earned through each channel, is it necessary to record point for each transaction in the past or should we migrate only the total current balance of reward points from 2 channels for each customers,etc. Basically, there are a lot of questions you should pose to save the fee while migrating data and still guarantee the benefit of the end customer.
Generally, in this case, because both systems are not related to Magento, this Reward Point data is not Magento default too, we have to learn how you operate everything now, get files exported from database of two systems and figure out the best way to match data with new table which we create for you in our system native on Magento.
Now, hope that you get the better idea of how hard it is to migrate data and which kind of data you need to migrate. In the next article, I would like to walk you through a few typical projects we did migration for clients then you might find a similar case to your business if you’re planning for changing system too.