Shopify is a hosted ecommerce platform in use by over 100,000 merchants from small to large. Shipwire has built an integration via an App available in the Shopify App Store.
|Who developed integration:||Shipwire|
|Status:||No known issues
|Important note for merchants using the built-in Shopify integration|
|We released a brand new App in the Shopify App Store on July 21, 2014. If you are using the built-in Shopify integration, please click here for more details, including information on how to migrate.|
On this page
- Connecting Shipwire with Shopify
- Setting up carrier-calculated shipping
- Configuring Shopify products for Shipwire fulfillment
- Additional Information and Troubleshooting Tips
Order Entry – Orders are submitted to Shipwire from your e-commerce store automatically via our Order Entry API. Once your online store receives an order, Shipwire takes care of the rest.
Order Tracking – All tracking information related to completed shipments is pushed automatically, including tracking information.
Inventory Status – Inventory counts are synced with your store from our warehouses.
Shipping Rates – Obtain real-time shipping rates at any time during checkout. Shipwire will return the most cost-effective rates, choosing from the best warehouse, packaging, and carrier available based on your Optimizer preferences. Please note this feature requires access to Shopify’s Carrier Services API, which is not included in all Shopify plans.
Connecting Shipwire with Shopify
Follow these steps to connect your Shipwire account with your Shopify store.
- First, if you would like to include real-time shipping rates from your Shipwire account in your Shopify checkout, you will need to determine if carrier-calculated shipping is activated within your Shopify account. Go to Settings > Shipping in your Shopify control panel and scroll down to the “Carrier calculated shipping” section. If you encounter the following yellow notice that states “Your current plan doesn’t support carrier-calculated shipping”, then you will need to contact Shopify Support to switch to a plan with the Carrier Service API enabled before continuing with installation. If you do not see the yellow notice, then you are all set and may continue with the instructions.
- Visit the Shipwire App page in the Shopify App Store and click “Get App”
- If you are not already logged in to your Shopify store, you will be asked to enter your store URL and login information
- 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?”
- 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 “Include pending stock as inventory on-hand” option will add product that is on its way to Shipwire (not yet received) as part of sellable inventory count in Shopify. 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.
- Confirm installation of the App with Shopify
Setting up carrier-calculated shipping
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” added to your store for each region. This is visible at Settings > Shipping in the Shopify control panel. We recommend deleting any other rates (click the rate and then click the “Delete rate” button) so that the only options presented are Shipwire-provided rate quotes. Also, if you would like, you may add or subtract a certain amount from the Shipwire-provided rate quotes by clicking the “edit” link next to the rates for “Shipwire App”.
IMPORTANT: For best results, do not mix the Shipwire rating module with Shopify’s carrier specific modules (FedEx, UPS, USPS). The carrier-specific modules do not have the concept of multiple warehouses in multiple countries and can only generate a single price from the location you have designated in your Shopify store.
Configuring Shopify products for Shipwire fulfillment
Now that the Shipwire App is installed, you can configure individual products to be fulfilled, as well as set product inventory levels to be kept in sync using the Shipwire real-time inventory service.
IMPORTANT: You must add products to Shipwire before creating products in Shopify. Shopify verifies the existence of product SKUs in your Shipwire account when creating or updating a product that uses Shipwire for fulfillment. Please see the Configure and store product section of our support area for more details.
- Use the left navigation bar to to select the Products tab. If you have not created a product, do so by clicking the Add a product button and proceed to the next step. You may also click the Import products link below it to upload a CSV spreadsheet.
- Scroll to the Inventory & variants section, which is part of the Add a product workflow. Under “Fulfillment”, select “Shipwire App” from the drop down menu. If you would like, under “Inventory policy”, you may choose “Shipwire App tracks this variant’s inventory”. Then click “Save and close”. If you choose this, your product inventory levels will be updated on an hourly basis with a real-time count from your Shipwire account. In between updates from Shipwire, your product will use Shopify’s inventory management system to ensure that it’s not oversold.
Existing products – change individually
- If you added products to your Shopify store before installing the Shipwire app, you may set products to be fulfilled by Shipwire individually (by individual product variant), or you may do so in bulk (the next section covers this). You will see your products displayed like this in the Inventory & variants section. To begin enabling Shipwire fulfillment for a specific product, click the Edit button to the right of it.
- In the Edit Variant popup window, find the fulfillment section and use the drop down menu to select “Shipwire App”. If you would like, under “Inventory policy”, you may choose “Shipwire App tracks this variant’s inventory” (more details about this in step 2 above). Click to Save or Save and close.
Existing products – change in bulk (Recommended bulk edit method)
To change your products in Shopify to be fulfilled by the Shipwire App in bulk (all at once), you may use Shopify’s bulk edit functionality.
In the Shopify control panel, navigate to Products, select all products, and click “Edit Products”. Then you will see an option to “Add more fields”. Click on this and pick to add “Fulfillment service”. You will then be able to see all your SKUs and what fulfillment service has been chosen for them. Use the drop down to change any to “Shipwire App” that are set to “Manual”, then click “Save all changes”. To change many products at once, click the topmost “Fulfillment service” field that you would like to change, and then hold “Shift” on your keyboard and click the bottommost one. With multiple selected, any change you make in the dropdown selection to the topmost item will be copied to all the others.
Existing products – change in bulk (CSV method)
If you find that Shopify’s bulk edit functionality does not work as you would like, this more complex (but powerful) method that we wrote *before* Shopify’s bulk edit functionality existed may be useful to you. The process is to export all your products to CSV in the Shopify control panel, modify the file, and import back into Shopify. Here are the detailed steps:
- First, in your Shopify control panel, go to the Products page.
- Click the “Export” button at the top of the page
- Select to export all products and click “Export products”
- Check your email for a link to the product file and download
- Open the CSV file and modify the “Variant Fulfillment Service” column. You will want to set the value to “shipwire-app” (without the quotes) for all products that Shipwire will be fulfilling (the associated SKUs must already exist in your Shipwire account). If you would like your Shopify product inventory to be managed by the Shipwire App, also change the relevant rows in the “Variant Inventory Tracker” column to “shipwire-app” (without the quotes). Note: If you are migrating from the built-in Shopify integration and have Shipwire fulfill less than 100% of your products and would like a quick way to update them all to use the new App, use the auto-filter feature in Excel to filter the “Variant Fulfillment Service” column to only show rows equal to “shipwire” (the fulfillment name of Shopify’s built-in Shipwire integration). You may then type “shipwire-app” in the first row and copy and paste that in that column for the rest of the rows without any chance of accidentally changing the fulfillment selection for any non-Shipwire fulfilled products. The same may be done for the “Variant Inventory Tracker” column. Here is a guide on using auto-filter in Excel.
- Save your modified CSV file as a new filename, such as “products-updated.csv”. Do not overwrite your original product export file, as you may need it if 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.
- Click browse and select your modified CSV file. Check the “Overwrite existing products that have the same handle” option. Click “Upload file”.
- 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.)
Sold line items
- Now that you have enabled Shopify products to be fulfilled by the Shipwire App, you must instruct Shipwire to fulfill products when they’re sold. Once you’ve received a new order after having switched your products to being fulfilled by Shipwire, use the left navigation bar and select the Orders tab. Search the Fulfillment Status column to find an order status that says Not Fulfilled. Click the corresponding hyperlink (found in the Order column).
- At the top of the page, click the Fulfill items button and Shipwire will be alerted to fulfill the order. You can view the details in the History section below.
Manual vs automated fulfillment
- The default in Shopify is to require merchants to manually submit orders to a fulfillment provider. If you would prefer to have your successfully paid orders automatically sent to Shipwire for fulfillment, go to Settings > Checkout in your Shopify control panel. From the Checkout page, scroll down to the section entitled Order processing. Under the heading “After an order has been paid” select the option: Automatically fulfill the order’s line items.. If you would like Shopify to send a message to your clients once the order has been shipped by Shipwire and includes a tracking number, check the box for “Notify customers of their shipment via email.” Click Save. Shopify has more information on their Fulfill an order support page.
Q.I selected to have the “Carrier service” feature enabled during installation, but shipping rates are not displaying at checkout and I can’t see a Shipwire rate under Shipping Rates in the Shopify control panel. What is wrong?
A.The carrier service feature requires access to Shopify’s Carrier Services API, which is not included in all Shopify plans. If Carrier Service is not enabled on your store, then we will not be able to provide shipping rates. To determine if this is causing your issue, go to Settings > Shipping in your Shopify control panel and scroll down to the “Carrier calculated shipping” section. If you encounter a yellow notice that states “Your current plan doesn’t support carrier-calculated shipping”, then you will need to contact Shopify Support to switch to a plan with the Carrier Service API enabled. Once you have access to the Carrier Service API for your store, you will need to edit the configuration of your Shipwire Shopify app to appropriately enable real-time rates. To do this, in your Shipwire account, click the account drop-down in the top right, choose Third party connectors, click on “Configure” for Shopify, then click the appropriate Account name, then tick the checkbox for “Carrier service” and click Update.
Q.Why are Shipwire real-time rates not showing up in the Shopify checkout?
A.Please check the above question and answer first, as that is the most frequent issue. If you’ve checked that and are still having an issue, here are things to check: 1) make sure that the items you have placed in the Shopify cart to test real-time rates with have “Shipwire App” picked as the fulfillment service provider under “Products” in the Shopify control panel, that the SKU matches what you’ve loaded into Shipwire, and that you’ve entered the weight and dimensions for the product in the Shipwire control panel. If any of this is missing, we will be lacking the necessary information to calculate a rate. 2) Make sure that you do not have “hold” chosen instead of “process” for any shipping methods in “Shipping Preferences” in the Shipwire control panel – if you have “hold” picked, we will not be able to provide a real-time rate at checkout for that method, since you’ve chosen to apply shipping method manually.
Q.Can I have multiple Shopify stores integrated with one Shipwire account?
A.Yes. Simply install the Shipwire App in as many Shopify stores as you would like. There are no other special considerations to take into account, and a good number of merchants are doing this already.
Q.Can I take pre-orders with Shopify for inventory not yet at Shipwire?
A.Absolutely. Simply check the “Allow users to purchase this item, even if it is no longer in stock.” box when adding/editing a product in Shopify, along with choosing “Shipwire App” for fulfillment. Please make sure that you have the SKU added to Shipwire first, even though no inventory will be available for it. When the order is sent to Shipwire, if it is not yet in stock, it will go into a Backorder status and be shipped out as soon as stock is received. Also, to avoid having your customers charged until the orders are ready to ship, we recommend following Shopify guidelines outlined here. You may also want to read the answer to the question below as an alternate approach – How do I include pending stock as inventory on-hand?
Q.How do I include pending stock as inventory on-hand?
A.You may include “pending stock”, which is inventory that you have reported that you are sending to a warehouse, and so should be available soon, in the inventory quantities we send back to your Shopify store. This is useful if you would like to allow customers to purchase this inventory that is about to arrive at a Shipwire warehouse. To do this, in your Shipwire account, click the account drop-down in the top right, choose Third party connectors, click on “Configure” for Shopify, then click the appropriate Account name, then tick the checkbox for “Include pending stock as inventory on-hand” and click Update.
Q.Why do orders remain in an “Unfulfilled” status in Shopify after they have been sent to Shipwire?
A.When orders are sent to Shipwire, they retain a “Fulfillment status” in Shopify of “Unfulfilled” until they have a tracking number assigned to them. Once the order has a tracking number, it will be updated to “Fulfilled” in Shopify, and the customer will receive a shipment confirmation email from Shopify, if that option was picked in Shopify’s Checkout Settings – see Manual vs automated fulfillment and shipping notifications
Q.Can I have Shipwire fulfill some products, and fulfill other products on my own or through a supplier/dropshipper?
A.Yes. When Shopify receives an order with products going to multiple fulfillment parties, the Shipwire App will only retrieve the portion of the order with the products that you’ve set for us to fulfill. Shipment/tracking updates will happen as usual. Please note, however, that Shopify does not allow blending of real-time shipping rates, so you’ll need to determine Shopify shipping rate settings that work when an order has Shipwire fulfilled and non-Shipwire fulfilled items.
Q.How do I enable free shipping for a certain dollar value order?
A.Shopify has this functionality built into their platform. Please see these instructions on their website for setting up. Be sure to use “Free” in your description (such as “Free ground shipping”), and we will interpret this as “GD” shipping when we receive the order, which means we will use our typical algorithms to determine which carrier and ground method to use to save you the most on shipping. If you have real-time rating enabled, and the order value exceeds the amount you chose for free shipping, the free option will by default be chosen for the customer at checkout, but they will still see Shipwire real-time rates, and be able to choose one of them if they would prefer.
Q.How can I create a recurring subscription for my products?
A.Shopify provides this functionality through apps, such as ReCharge, Paywhirl and Chargify. Recurring orders will get pushed into Shopify as new orders automatically, and can be passed to Shipwire as per your typical process (manual or automatic, depending on how you’ve set it up).
Q.How do I turn off rating (how do I uninstall the App)?
A.If the App was installed with “Carrier service” checked, and you would like to turn this off, this currently requires uninstalling the App, and installing again with Carrier Service unchecked. To uninstall, go to the “Sell” tab in your Shipwire account and click the “Configure” button for Shopify. Then remove the individual store connection by clicking the “X”. Then go into Apps in the Shopify control panel and uninstall the Shipwire App. Then you will be able to reinstall from the App store.
Problems sending orders to Shipwire
- Check if your store is configured correctly by signing in to your account and reviewing the instructions under the Sell tab.
- TIP: Orders received on Shopify from before the products were marked as fulfilled by Shipwire cannot later be pushed to Shipwire. Only orders taken after Shipwire is properly configured, and the products in the order are already marked as fulfilled by Shipwire in Shopify are eligible to be pushed to Shipwire. If you have already received an order where one item was not marked as fulfilled by Shipwire that you would like to send, you will need to load the order manually into Shipwire or via CSV import.
Incorrect shipping types
The following can only occur if you are using Shipping rates in your Shopify store besides the “Shipwire App” ones. If you offer multiple shipping types (Shopify calls them ship_type) and orders are coming to Shipwire with the incorrect shipping type, then you don’t have the right mapping between Shopify ship_types and Shipwire shipping methods, and you need to match them.
- For example, consider if Shopify captures an order as ‘1-Day Express’. This name (1-Day Express) doesn’t map to any predetermined mappings in Shipwire, so we’re unable to determine the shipping type and will default to Ground Shipping. For International shipping types we do not recognize, it will default to Basic International.
- To automate accurate mapping, rename your current Shopify shipping rates to match the names shown in the example mapping below (i.e. rename ‘1-Day Express’ as ‘1 Day Service’). Once you’ve done this, check Shopify orders against how they are captured in Shipwire to be certain the shiptypes and carriers are correct. The mapping we follow is as follows:
|Shopify rate name||Shipwire shipping method|
1 Day Service
1 Day (1D)
2 Day Service
2 Day (2D)
Additional Information and Troubleshooting Tips
We have additional information and troubleshooting tips that apply to shopping cart software in general. This includes more information about how Shipwire does real-time shipping rates via service levels, inventory, and more. Please visit our Cart Troubleshooting Guide.