In my last article here, I explained roughly about the complexity of data migration. Although we have migrated data from a lot of different systems to Magento and Magestore POS Omnichannel system, this is one of the most memorable projects we did because the project seemed to be easy at the beginning turned out more complex at the last minute.
To start, this client is a retailer who does business in wine industry. He has 2 physical offline stores in US and 2 websites on Magento 1.9 CE. He has operated his business for about 15 years and have used Microsoft POS system since the beginning. He has built the first website 13 years ago and the 2nd website 4 years ago. However, 2 Magento sites have been built on 2 separate Magento server so database is not centralized in one system. It seems that his devs who built 2nd site has not understood fully about his long-term plan, he just thought that the performance of the 1st site seems not to be good enough, these 2 websites are used for 2 different customer targets and only a few products are shared between 2 websites so it would be better to build a separate Magento server for the 2nd site. And he seems to be true at that moment, this is not a big problem from the end customer’s side (the visitor’s side) but he had more and more shared products and had difficulties in uploading the duplicate data. Plus, afterwards, he planned to fulfill online orders from both locations but 2 Magento server cannot help him realize this, customer cannot get stock availability updated properly in real-time. But at least, these websites are connected to Microsoft system in regards to a few important fields then store owner can centrally manage data in one place.
Specifically, the fields which are synced between 2 systems are: customers, products and sales orders. However, reward points customer earned through offline channels cannot be synced to Magento site so customers cannot enjoy any loyalty program when buy online.
At the end of Magento 1 life cycle in 2019, taking advantage of upgrading site from M1 to M2, John – store owner has thought about changing the old system to the new one comprehensively. Therefore, he has started do research and plan to apply Omnichannel Strategy for his business.
In about Oct 2019, he came to us and checked our Magento native POS Omnichannel Solution. Our system is native on Magento so if he wants to change system, he has to migrate all data from different systems to Magento 2 central system, including data migration from 2 websites on 2 Magento servers and Microsoft system. At this stage, if we had migrated data, we could have migrated main data from Magento 1 directly to Magento 2 such as Products, customers, sales order and removed the duplicated data of 2 Magento sites. Please take note that migrating from Magento 1 to Magento 2 is always easier then migrating from another system (such as Microsoft system) to Magento 2 because Magento has similar database structure between versions. Then if so, we could have only needed to migrate data which are not synced between Microsoft and Magento 1.9 sites such as: Suppliers, pricelist of suppliers, etc to our Magento POS Omnichannel system.
But then sales season came very quickly, he was busy with Black Friday then Christmas, etc then only could get back at the end of January, early February. However, Magento system has issues and been stopped to sync to Magento system since Nov 2020. And he only got back to us in Jan 2020 after the peak sales. In this case, we only can approach data migration by migrating data directly from Microsoft system and 2 Magento servers. Then we have to answer the following questions
1. Which data does he need to migrate? Based on his sharing, we supported him to confirm the data fields he needs to migrate by the following checklist:
· Product image
· Purchase Order
· Supplier list
· Pricelist and product list of suppliers
· Stock in each warehouse
· Reward Points
2. Which system are data recorded In and how is the data recorded in each system as well as synced between Microsoft and 2 Magento servers?
To answer these questions, we also need him to export data from Microsoft and check Magento backend carefully. John is not a technical guy so he’s not familiar in exporting data from the old system. We supported him by Teamviewer to export data from Microsoft and as a store owner, he understood his business so well in terms of business operation. This helps us a lot in understand the meaning of each field in each system clearly.
Specifically, for this process, we inspected his old system carefully and posed a lot of small questions internally and externally. E.g:
· Product ID of 2 websites can be different from Magento and we still need to migrate from Microsoft => Which website does this product belong to?
· Which fields in Microsoft filed are linked to the corresponding fields in Magento site?
· Which fields in each kind of data (Product, Customer, etc) can we remove when migrating data?
· When we set up 2 Magento sites in the same Magento server, should we enable or distable customer account sharing for 2 websites?
· After we migrate products and customers, we can start migrate the orders => Where can we find orders/payments/shipping methods in Microsoft? Which field can we remove or replace during migration to save the fee? (E.g: shipping method with detailed info: by DHL/FedEx, tracking number, etc of the old orders are unnecessary for migration or we can simply label all of them as 3PL shipping)
3. Workload of the data:
· How many rows of data in each type do we need to migrate?
· Can we do migration for that kind of data manually or should we build tool to import them?
It takes us a few weeks to work on client’s old system to clarify everything clearly and confirm the data he wants to migrate or accept to remove. Finally, all of data is properly migrated to the old system, although longer than expected, is guaranteed with accuracy. Now, John can easily set up everything quite quickly, control system in one place and develop his business with Omnichannel Strategy more powerfully than ever