Transporter , 6 reviews
Not the best one, but it's free - gets the job done. Sometimes throws internal error and you have to try again and again. If it's fault of the serialization then it's gonna outline it.
This app is garbage. Doesn't even work when exporting/importing from other instances of Shopify. Unacceptable as a tool they offer to enterprise level users.
My God, I hate this app. We are splitting our existing Shopify store and needed to migrate some orders over to the new Shopify store. Despite Shopify recommending this app, the export from Shopify does not match the import csv. The app rejects orders for several reasons, even though these are historic orders and it does not matter that the information might be incorrect. 1. Rejects invalid emails
2. Rejects phone numbers that are not in E.164 format (i.e. around 90% of orders)
3. Date must be in ISO 8061 format (have to convert every single date)
4. Despite the Shopify export using 'unfulfilled' as a status, this is not a recognised status for Transporter and it must be blank in the import csv It takes so long to rectify these above issues, when all we want to do is use the order data and just reimport it back into Shopify.
Poor support for shopify to shopify order import-export. Its odd that shopify support recommends it as a solution for migrations of this kind.
While the shopify order export structure is accepted and imported by transporter, the import prices and totals are wildly different.
I've had a real difficult time with this app and it's corresponding cli tool.
The app itself is easy to install and simple, +1 for the fact it also has a 'Delete' option to undo everything you've done file by file if it all goes wrong.
The only issue with it is the poor import rate on customers and in particular the dreaded 'Phone is invalid' error. Literally 70%+ of our customer imports failing on their phone number not being in E.164 format. The developers of the cli tool didn't think to use the country code in Magento to convert phone numbers from Magento into an E.164 format, so the import rejects all these otherwise perfectly valid phone numbers.
If you are a Magento dev who needs to do this then this answer -> https://stackoverflow.com/questions/41774883/formating-phone-number-according-to-the-e164-format in combination with this library -> https://github.com/giggsey/libphonenumber-for-php is what you'll have to go through to get these phone numbers in the correct format to allow customers to import. Also note that it's a bit of a nightmare dealing with linebreaks in the address when you are trying to fix this, I also used this library (https://github.com/parsecsv/parsecsv-for-php), my working code to fix this is in the gist -> https://gist.github.com/mcnabsystems/83728516bf6e7c3bebc107acdd9e54df
For large Magento installs with hundreds of thousands of customers and orders the cli tool to export data to csv is dog slow as they have used Magento's SOAP API, and there's no way to speed it up;
https://github.com/Shopify/shopify_transporter/issues/33
You are looking at weeks here for data exports on stores with 100K+ orders and customers, not hours. Maybe they should have taken a leaf out of the Excelify App author's technique and used the database tables directly rather than Magento models.
Additional problems I've encountered;
1. I struggled to get the ruby gem for the Transporter cli tool installed and working on our original Magento dev server running PHP 5.6. Eventually got it working by creating a new Ubuntu 18.04 instance on a Digital Ocean droplet and upgrading the dev Magento site to 1.9.4.
2. Docs on cli tool very light, few example of how to use commands and no examples of using any options. For example even though the cli tool exported data for customers with the website_id in the data, I was not able to run the conversion command to include website id via the config. According to the docs there should be a way of doing this but I couldn't get it to work. It is an important omission because you'll need to do it if you are migrating a Magento multistore to a number of separate Shopify Plus instances each with a different currency.
3. As mentioned above, it fails to validate or modify crucial data so that Shopify will be able to import it.
Sorry Shopify - I love your platform but I can't rate this tool at all. Magento to Shopify Plus migrations are going to be big business for you and this app is a selling point for those migrating. It needs to be improved.
Overall score here, 2 out of 5 for the CLI tool and 3 out of five for the App, overall a bit generous on 3 out of 5.
Worked well enough for most orders and customers we had to import.
Found that sometimes an error would come back for a row, and all we had to do was re-run the import for that row and it would work. There was nothing actually wrong with the data.
Also, may be more of an issue with Shopify in general and not specifically with Transporter, but receiving errors about 'invalid email address domain' for orders we are trying to import (ie. historical data from our old store) is not helpful. Some addresses were indeed malformed, some likely existed at the time the order was placed but the email server for that domain has since gone down. This kind of check is useful during checkout, but not when we're trying to import old data.
Had some troubles with a couple batches of orders we were trying to import. The import kept failing and did not provide enough information for us to determine why it was failing. The error did not match any described in the troubleshooting documentation provided by Shopify.
Contacted support, who told us that the app is developed by a third party and that our support request would be forwarded to them.
Checked back after a day of not receiving any response from the developer. Shopify support apologized and said they'd reach out to the developer again.
That was 5 days ago, with no communication from the developer whatsoever. In the time since, we broke down our import into smaller batches and ran them one at a time and addressed errors as they came up. That worked, but took an additional couple hours of time for us compared to the rest of the imports we had run.
This app is branded as being built by Shopify, and is only available to Shopify Plus stores. The total lack of response from the developers is not impressive.