We're Here to Help

Shopify (Legacy)

Shopify is a hosted ecommerce platform in use by over 100,000 merchants. This page covers information about the integration built by Shopify and available within the control panel.

Important note for merchants using the built-in Shopify integration
We released a new App in the Shopify App Store on July 21, 2014. This new App replaces the built-in integration that Shopify built several years ago and will allow us to better support our mutual clients as well as release new features and make improvements to the integration. An organized migration process to the new App for existing merchants is currently underway. If you would like to migrate now, please see the Migration instructions below. If you are looking for information about the new Shipwire App available in the Shopify App Store, please click here


Connection Information
Developer: Shopify
Support: Submit ticket to Shopify or call 1-888-746-7439
Status: Active


On this page


Migration instructions

Special cases:

  • If you use a Recurring Billing or Subscription Management Shopify App, please see the first question in the FAQ.
  • If you do not use the automatic fulfillment feature in Shopify (Settings -> Checkout – Automatically fulfill the order’s line items), please read this note before proceeding, to make sure you understand the changes you will encounter after migrating.
  1. If you would like to include real-time shipping rates from your Shipwire account in your Shopify checkout, follow this step. If this isn’t important to you, please skip to step 2. First, check to see if carrier-calculated shipping is activated within your Shopify account. Go to Settings > Shipping in your Shopify control panel and scroll down to the “Shipping zones” section. If you encounter the notice that states “Your current plan doesn’t offer this feature” (see screenshot below), then you will need to contact Shopify Support to switch to a plan with the Carrier Service API enabled before continuing with installation. If, instead of this notice, you see “Carrier-calculated shipping” with a link to “Manage carriers”, then you are all set and may continue with the instructions.
  2. Visit the Shipwire App page in the Shopify App Store and click “Get”
  3. If you are not already logged in to your Shopify store, you will be asked to enter your store URL and login information
  4. Shopify-1.5

  5. Once logged in, you will be presented with the option to either create a new Shipwire account by filling in your details, or, if you have an existing account, click the blue “Login” text to the right by “Already have a Shipwire account?” (since you’re migrating, click “Login” and enter your regular Shipwire user login details (API user credentials will not work here))
  6. Shopify-2

  7. Provide a name for the connection (if you have more than one Shopify store, this will help you distinguish between them in your Shipwire account), and choose the specific features you would like to enable, and agree to the terms. “Fulfillment service” should be checked if you plan to use Shipwire to fulfill some or all of your orders. Checking this does not automatically tag your products for Shipwire fulfillment, it just surfaces Shipwire as an available fulfillment method within Shopify. You will need to select which products you would like Shipwire to fulfill. For “Carrier service”, if you do not use Shipwire to fulfill all of your products, you may want to uncheck this feature, as there is not currently a way to blend shipping rates when some items on the order are being fulfilled by Shipwire and others are not. Checking “Carrier service” allows you to present Shipwire-provided rates to your customers at checkout. Shipwire quotes shipping costs from the warehouse containing inventory closest to your customer, in the correct box size, and also shops rates across all available carriers to return the best rates for each service level (ground, 1 day, 2 day). The service allows you to add or subtract a certain dollar amount or percentage from the rates returned. Shipwire rates will only be included in your checkout flow when products that have been marked for fulfillment by Shipwire are included in a customer’s cart. The “Display messages on packing list” option will cause the contents of the Shopify “Note” field on orders to show on the packing list printed at one of our warehouses. This is great for including gift messages.
  8. Confirm installation of the App with Shopify
  9. As long as you had the “Carrier service” feature checked when you installed the Shipwire App, you will have had a new Shipping Rate named “Shipwire App rate estimates” added to your store for each region. This is visible at Settings > Shipping in the Shopify control panel, in the Shipping Zones section. If there are regions that you do not ship to, and would like to have no shipping rates show up for customers in these countries, please remove the Shipwire estimates for that region by clicking on “Shipwire App rate estimates” and clicking “Delete shipping rate”. Also, if you would like, you may add or subtract a certain amount from the Shipwire-provided rate quotes by clicking the “Shipwire App rate estimates” link. To see if you were modifying rates on the legacy integration, click on the “Shipwire rate estimates” link to edit it and see your settings.

  10. Now you will have two options for fulfillment for each product within your Shopify store – “Shipwire” – which is the legacy built-in integration, and “Shipwire App” – which is the new App you just installed. After installation of the App, all of your products will still be set to fulfill through “Shipwire” (legacy), so next we need to update them all to “Shipwire App”.
  11. Warning: If you change only some product variants to “Shipwire App” and accidentally leave some set to “Shipwire”, you will end up causing orders that contain “Shipwire” fulfilled and “Shipwire App” fulfilled products to be split and sent to Shipwire separately (causing orders to go to customers in two shipments rather than one). If you are thorough in following the instructions below, you will not experience this issue.
  12. There are a number of ways of updating your products in Shopify – individually, via their bulk edit tool, or by exporting products via CSV, changing on your own computer, and then importing back into Shopify. Doing it individually is a poor choice and will very likely cause the split order issue mentioned in the warning above. Using Shopify’s bulk edit functionality is an OK method for smaller numbers of SKUs, and is the easiest and quickest solution for most merchants, so is the route I will describe in the following steps. If you have a larger number of SKUs, or find bulk editing frustrating, please see our product CSV export/import migration method, which is a more involved process, but the best at making many changes quickly.
  13. First, click this special link to your Shopify admin’s product bulk edit page. It will take you to the bulk editor with all of your products listed, with the “Fulfillment service” and “Inventory tracking” fields already added to your view (if you don’t use the link, you’ll need to click “add more fields” and add these fields manually).
  14. Check the arrows at the top of the page to see if you have multiple pages of products in the Shopify bulk editor to view. If they are both “greyed out” and not clickable, then you only have 1 page. The screenshot below shows there are more pages to look through. If this is the case for you, repeat the steps given below for each page of results, or use the product CSV export/import migration method instead.
  15. Watch a short 2 minute video with the next step, or skip below for a textual description

  16. Change “Inventory Tracking” for all Shipwire fulfilled items to “Shopify tracks this product’s inventory” and then click “Save all changes”. Wait until you see a “Saved” success message temporarily pop up on the bottom of the screen.
  17. Change “Fulfillment service” for all Shipwire fulfilled items to “Shipwire App” and then click “Save all changes”. Wait until you see a “Saved” success message.
  18. Change “Inventory Tracking” for all Shipwire fulfilled items to “Shipwire tracks this product’s inventory” and then click “Save all changes”. Wait until you see a “Saved” success message.
  19. Double check that there are no remaining products set to “Shipwire” for “Fulfillment service” on every page of your bulk edit view. Everything should be set to “Shipwire App”.
  20. At this point, we would recommend placing a test order through your Shopify store. This will allow you to ensure that real-time rates are working at checkout, and orders are properly flowing through the App to your Shipwire account (whether that happens manually or automatically, as explained here. The process will be the same as it was through the built-in Shopify connection, unless you choose to change it). To see that the order submitted to Shipwire, click on the order in Shopify to see details on it, and you will see an event on the “Timeline” at the bottom that looks like “Shopify sent (X) items to Shipwire App for fulfillment.” Please make sure to delete the test order in your Shipwire account immediately so we do not ship it out.
  21. Double check: If you have been doing non-automated order submission through the legacy app (ie, you select orders in the Shopify UI and mark fulfilled on each one in order to send them to Shipwire), please make sure to send all unfulfilled orders received while your products were set to “Shipwire” rather than “Shipwire App” to Shipwire now, before the legacy connection is disabled.
  22. Note about deactivating the legacy connection: We strongly recommend that you do not deactivate the legacy connection once you have set up the Shipwire App. The reason is this: if a customer put an item in their Shopify cart while a product was still set to fulfillment by the “Shipwire” (legacy) integration, and then the customer completes their checkout after you updated the product to be fulfilled by “Shipwire App”, the product will still get passed to us through the legacy integration. If you had deactivated the legacy integration before the order got sent to us, it would change the order to manual fulfillment, and you would have to copy and paste it into Shipwire (or export to CSV and import into Shipwire).
  23. Congratulations! You’ve successfully migrated to the new Shipwire App for Shopify!
  24. Note on order status in Shopify: At the time we wrote the integration, Shopify did not allow fulfillments sent to a provider to cause the order status in Shopify to be updated. This means that, before an order is sent to Shipwire, it will be in “Pending Fulfillment” status in Shopify. After it is sent to Shipwire, it will remain in “Pending Fulfillment” status, whereas under the legacy built-in integration, it would have changed to “Open” status. This means it is impossible to tell from the Shopify order overview page whether or not a new order has been sent to Shipwire yet, or not. If you are using automatic fulfillment (under Settings -> Checkout in Shopify), then all orders will be sent to Shipwire instantly, and this shouldn’t be a concern. However, if you do manual fulfillment, then what you will notice is that your “unfulfilled” tab in the Shopify Order area will have both orders sitting in it that have already been sent to Shipwire, and others that have not. You may simply select all orders and choose Bulk actions -> Fulfill orders to send them to Shipwire. Orders that have already been sent to Shipwire will *not* be sent a second time. Once the order is shipped by the Shipwire warehouse, the order status will be updated to “Fulfilled”, just as you are used to. Shopify has just recently extended the fulfillment API to allow us to update the order status to “Open” based on our feedback, and we hope to have that implemented on our side soon.



Q.I use a recurring billing/subscription management app in Shopify, and my customer’s recurring orders are coming over through the legacy connection rather than the new Shipwire App. How do I fix this?

A.I would assume that each recurring billing software works differently, so recommend reaching out to the App developer to find out what impact, if any, changing the “Fulfillment service” setting of your Shopify products from “Shipwire” to “Shipwire App”, will have on their App’s functionality. For BOLD’s Recurring Orders App, nothing needs to be done – they will automatically get the latest “Fulfillment service” setting from your Shopify store before pushing a recurring order through. For another App – “Recurring Billing | Subscriptions by ReCharge“, you must go to the Subscriptions tab in the App, then click on each one of your “Subscription Rules” and click “Save” at the bottom of the page. This will cause ReCharge to re-sync with your Shopify products and get the new fulfillment service setting to use for your next recurring order.

Q.I already installed the Shipwire App many months ago, so why am I getting a message saying I am using the legacy connection?

A.We have noticed that some merchants have simply installed the Shipwire App, but not completed the steps to change the fulfillment settings of their products. This means that they are still passing orders to Shipwire through the legacy connection. Please start off at step 7 in the migration instructions above and complete the migration process.

Q.I had an order come through the legacy connection after having installed the Shipwire App and changing fulfillment service on all products to “Shipwire App”. What could have happened?

A.Several things: 1) Please double-check that all your products were changed by bulk editing all of your SKUs in Shopify (direct Shopify UI link here) and looking through the fulfillment service column to make sure every one says “Shipwire App” and not “Shipwire”. 2) It is possible that a customer put an item in their cart *before* you changed the fulfillment service setting, and then ordered the item *after* you changed it. Shopify does not update the product fulfillment service settings of items already in the cart, and the cart can persist for several days or more. 3) If you use a recurring billing app, such as ReCharge, it may need to get an updated sync of product fulfillment service data. See another FAQ question above for information about that.

Product CSV export/import migration method

This is an alternate method for changing your Shopify product’s “Fulfillment service” settings.

  • First, in your Shopify control panel, go to the Products page.
  • Click the “Export” button at the top of the page
  • shopify-bulk-step-1

  • Choose the “All products” option and the “CSV for Excel, Numbers, and other spreadsheet programs” option and click “Export products”.
  • Check your email for a link to the product file and download it.
  • Note for power users (others can skip this and follow the next steps): There are many tools you can use to edit the CSV file, and some of them may ruin the character encoding (Unicode (UTF-8)) of your Shopify product CSV file, causing unexpected, unusual-looking characters to show up on your product pages. Excel is particularly bad with this. For this reason, I recommend using Google Docs, which is what I will step you through next. If you would prefer to use Excel, create a blank spreadsheet, go to Data -> Get External Data – Import Text File, choose the CSV file you downloaded, pick Delimited, File Origin = “Unicode 6.1 UTF-8″, and pick Comma as the delimiter when importing. The columns to edit are Variant Inventory Tracker (Column P), and Variant Fulfillment Service (Column S). If using Excel, please still go through the steps below, mirroring them in their Excel equivalents – especially the filtering checks at the end. Being thorough on these steps will save you headaches down the road.
  • Go to Google Docs (if you don’t have a Google account, you may create one.)
  • Click the Folder icon at the top right.
  • Click Upload and click the “Select a file from your computer” button.
  • Upload the Shopify product CSV file you downloaded. After a short wait, the spreadsheet will open in your browser.
  • In the Edit menu, select “Find and replace”.
  • In the Find field, enter: “shipwire”, in the Replace field, enter: “shipwire-app”.
  • Check the boxes for “Match case” and “Match entire cell contents”, and then click “Replace All”.
  • Next, to prevent problems with sending orders to Shipwire for fulfillment or getting inventory sync updates for certain products, let’s double-check that there are no previously-existing inconsistencies in your product fulfillment and inventory tracking settings. This section is assuming that you have Shipwire fulfill all items in your Shopify store. In the Google Docs menu, choose Data -> Filter, then scroll over to column S (Variant Fulfillment Service). Click on the down arrow in the header row and confirm that “(Blanks)” and “shipwire-app” are the only values that appear in this row (see screenshot below).
  • If you see anything other than “(Blanks)” and “shipwire-app” in values, click “Clear” in the filter, then click the other items to show only the rows that have those value in question. Click “OK” to implement the filter. In the example below, there is a row with “Variant Fulfillment Service” set to “manual”, which means that the item will not be fulfilled by Shipwire. If this is not correct, manually change it to “shipwire-app”.
  • After you have completed addressing any issues, clear the filter by clicking on the down arrow for column S and then clicking “Select all” and clicking “OK”. Now apply the same process you did for column S above for column P (Variant Inventory Tracker). It is very common for merchants to change these values to “shopify” if they had difficulty with inventory sync on the legacy integration (there were some edge cases). These should be changed to “shipwire-app” as well.
  • Download a new CSV file that contains all these changes by going to File -> Download as – “Comma-separated values (.csv, current sheet)”
  • Once the file downloads, rename it to something like products_export-UPDATED.csv
  • Note: Do not overwrite or delete your original product export file, as you may want to import this original product file back to Shopify if it turns out that you made any mistakes while editing the file.
  • Return to the Products page in the Shopify control panel and click the “Import” button at the top of the page.
  • shopify-bulk-step-3

  • Click browse and select your modified CSV file. Check the “Overwrite existing products that have the same handle” option. Click “Upload file”.
  • shopify-bulk-step-4

  • The next page will show a message stating: “Importing will overwrite any existing products that have the same product handle.” Confirm all looks correct and click the “Start import” button. Wait for the import to complete and confirm that no errors occurred (You will be given a summary report. If you miss it, click “Import” and it will show the results of the last import at the top of the page.)
  • shopify-bulk-step-5

  • Check some of your products on your website to ensure that all the text looks correct (ie, no character encoding issues) – if you have issues or concerns, follow the import process above to import the Shopify product CSV file you downloaded, before you modified it, to go back to how things were.
  • Last, double check your “Fulfillment service” settings through the bulk edit tool. Click this special link to your Shopify admin’s product bulk edit page. It will take you to the bulk editor with all of your products listed, with the “Fulfillment service” and “Inventory tracking” fields already added to your view.
  • Double check that there are no products set to “Shipwire” for “Fulfillment service” on every page of your bulk edit view. Everything should be set to “Shipwire App”.
  • Click here to finish reading the rest of the migration guide

Was this article helpful?  Yes   No

Forgot your password?