Shopify

How to add a Shopify store to ShipStation, what features are available, other need-to-know details, and troubleshooting tips.

Shopify is a hosted-shopping-cart for your ecommerce store that offers enhanced store features through its integrated app marketplace. The ShipStation Shopify integration supports order and product imports, custom field data imports, customer-requested shipping services and much more!

Need an account? Sign up for a free 14-day Shopify trial!

Shopify Integration Requirements

Connection Requirements:

  • An active Shopify account.

  • Your Shopify store domain.

Order Import Requirements:

  • The order has been created within 90 days of the current date.

  • Orders must contain at least one physical product.

  • Orders will not import if certain fields are missing in the feed (e.g., address line 1, postal code, etc)

  • Include a Ship To address.

Connect a Shopify store to ShipStation

To connect your Shopify store to your ShipStation account:

  1. Select the Shopify tile.

    Shopify logo on square tile button that reads, "Connect".
  2. Enter your Shopify Domain, then click Connect.

    The Shopify set modal is open with the domain field highlighted and an arrow pointing to the connect button.

    To find your Shopify Domain, log in to your Shopify account and go to your dashboard. Copy the part of the URL after https:// but before /admin:

    Shopify store url in browser with myshopify.com highlighted.
  3. After you click Connect, you'll be redirected to Shopify, and the ShipStation Application will be added to your Shopify account. No additional action is needed if you're already logged in to Shopify. If you're not logged in to ShipStation, you'll be prompted to log in now.

Once the application installs, you'll be redirected back to your ShipStation account, where you can update the store-specific settings in ShipStation.

Available Features for Shopify Integration

The ShipStation integration with Shopify supports these standard features:

Additional Features for the Shopify Integration

The ShipStation integration with Shopify allows for these additional features:

Feature

Description

Send Updates to Shopify Warehouse Location

This feature is only available on the newest version of the Shopify integration.

Notify Shopify when an order's warehouse location has changed within ShipStation to appropriately deduct inventory from the correct warehouse location.

To properly enable this, you must do the following:

  • Enable stock in Shopify for the relevant warehouses.

  • Set up a separate Ship From Location for every Shopify Warehouse and link it to the appropriate inventory source.

    Warehouse Name

    Name the Ship From Location exactly the same as your Shopify Warehouse location for easier tracking.

  • Enable “Use a Ship From Location Inventory Source as the Location for Marketplace Notifications” in ShipStation's Shopify store settings,

The Ship From Location that is selected needs to have a Shopify Inventory Source connected to it for this setting to work as expected.

Send ShipStation rates to Shopify Checkout

Checkout Rates Options allow you to send the rates you get in ShipStation to your store checkout.

Shopify Plan: To use the Checkout Rates Options, you must be on a Shopify Advanced plan or higher.

Shopify Plan Requirement Updates

Users on lower plans that switched to annual billing or paid for Third-Party Carrier Calculated Shipping prior to January 1, 2023 will still be able to use Checkout Rate Options.

Please see our Send Rates to Store Checkout for setup instructions.

Connects to Shopify's Inventory features

ShipStation can display Shopify's inventory stock count, and will reduce stock from the appropriate inventory location when ShipStation sends the shipment update to Shopify. See Shopify Inventory for more information.

Processing Time

Shopify has a feature available on Shopify Plus plans called “Processing Time” which displays the time between when an order is placed by a customer and when the order should be fulfilled by the business.

The processing time is imported into ShipStation with orders as the "Ship By" date. You can view it in Order Details and the Order Grid. You can use the Ship By date in your Automation Rules.

Supports Partial Shipping

If you split a Shopify order in ShipStation, the shipment update we'll send to Shopify will only include the products within the shipped order.

Supports Shopify POS

ShipStation will import Shopify POS orders as long as they are for a physical product and as long as they require shipping.

Support-Enabled Additional Features for Shopify

In addition to those features already listed, you can request the ShipStation support team to enable the following settings for your Shopify store.

Feature

Description

Exclude Third-Party Fulfillment

When enabled, ShipStation will only import products in an order if the fulfillment type is set to Manual or Shopify.

This feature is primarily used if you have a fulfillment provider (like Fulfillment by Amazon) connected to your Shopify account.

Map "authorized" to Awaiting Payment

When enabled, ShipStation will import Shopify orders in the Authorized status as Awaiting Payment orders in ShipStation. If this setting is not enabled, Authorized orders import as Awaiting Shipment.

Use Fulfillable Quantity

The Use Fulfillable Quantity setting allows ShipStation to update the quantity of an item on an order in ShipStation if that value changes in Shopify.

Enable this setting to allow the line items in ShipStation to update based on the actions taken in Shopify.

The fulfillable quantity value in Shopify updates when orders are fulfilled within Shopify, are partially cancelled, or the line items are edited within Shopify. If any of these actions occur, ShipStation will update the quantity the next time you refresh your Shopify store in ShipStation.

Shopify Store Settings in ShipStation

Shopify marketplace settings popup.

You can enable the following options in the Shopify Store Settings in ShipStation:

  • Import Closed Orders

    When enabled, ShipStation will import orders in the Closed or Archived status from Shopify into the Shipped status in ShipStation. If this setting is not enabled, ShipStation will not import these orders from Shopify.

  • Shopify Discount Codes In Notes

    Enable this if your customers use discount codes with their orders and you want that discount code to appear in the order's Internal Notes in ShipStation.

  • Map "partially_paid" To Awaiting Payment

    When enabled, ShipStation will import Shopify orders in the Partially Paid status into the ShipStation Awaiting Payment status. If this setting is not enabled, Partially Paid orders will import into Awaiting Shipment instead.

  • Use a Ship From Location Inventory Source as the Location for Marketplace Notifications

    You can change the original Ship From Location to a different Ship From location inside of ShipStation (as long as that Ship From Location is connected to the appropriate Shopify order Source). When the label is created, ShipStation will notify Shopify to deduct inventory from the newly designated warehouse.

  • Map "authorized" to Awaiting Payment

    When enabled, ShipStation will import Shopify orders in the Authorized status into the ShipStation Awaiting Payment status. If this setting is not enabled, Authorized orders will import into Awaiting Shipment instead.

  • Custom Fields

    Shopify sends additional order details to ShipStation that are not mapped to a ShipStation field by default. If you need these details in ShipStation, you can map them to the ShipStation Custom Fields #1, #2, and #3.

    SET_STORE_Shopify_CustomFieldMapping_MRK.png

    Select the item you wish to map to a custom field from the drop-down menu and save your changes. Going forward, ShipStation will pull that data into the assigned Custom Field in ShipStation when the order imports (previously imported orders will not be affected).

    The following fields are available from Shopify to map in ShipStation:

    • Bill Address

    • Bill Name

    • Customer Tags

    • Fraud Risk

    • Order Count

    • Order Tags

    • Shopify Order ID

    • Total Spent

    • Total Spent - Total Price

    • Note Attributes

This integration allows you to define the Status Mappings for the store connection.

ShipStation will import the customer's email address with the order and can send customer shipment confirmation and delivery emails, which are configured in your Store Settings.

ShipStation will import the customer phone number.

ShipStation will import the shipping method chosen by the customer at time of checkout.

ShipStation will import the payment method used to pay for the order.

ShipStation will import discount and coupon information for the order.

ShipStation is able to determine if an order was placed as a gift.

ShipStation will import internal notes or order activity from the selling channel.

ShipStation will import notes left by the customer at time of checkout. Displayed as Customer notes in ShipStation's Legacy Layout.

ShipStation will import the total order weight from the selling channel.

ShipStation will import the weight for each line item in the order.

ShipStation will import an image URL for each line item in the order.

ShipStation will import item options (such as color or size) for each line item in the order.

ShipStation will import a product stock location for each line item in the order.

Status UpdateTracking NumberCarrierServiceCarrier Fee

The shipment update ShipStation sends to the selling channel will include any Notes to Buyer set on the order in ShipStation.

Item Information

Instant Order Import

When the Automatic Import setting is enabled for Shopify, ShipStation imports new Shopify orders as soon as Shopify indicates they are ready to ship. This helps ensure you are always working with the most recent orders in ShipStation.

Store settings page: General tab. Option to periodically update stores while you are away outlined.

For Shopify orders, when this setting is enabled you will see a notification in your Orders tab when new orders have been imported. For the new orders to appear in your Orders grid, simply click the notification and ShipStation will reload the grid, making the new orders visible.

ORD_ShopifyIOS_newordernotification.jpg

If you do not wish to instantly import ready-to-ship orders from Shopify, you can change the order import frequency in Store Settings. Select Manual Import to import orders only when you click the store refresh icon.

Updating Modified Shopify Orders

When unfulfilled order items are adjusted within Shopify, the next store refresh will prompt ShipStation to adjust the order items to match accordingly.

This feature is useful if you fulfill some products outside of ShipStation, handle partial order cancellations or refunds, or otherwise edit the quantity of ordered items on Shopify orders.

If line items change in Shopify after the order has imported into ShipStation, click the Import button Import icon, or Refresh-stores icon. Grey circular arrow symbol (clockwise), inside of a black square in ShipStation to pull this new data from Shopify. ShipStation will compare the fulfillable quantity of each order's line items and do the following when the new data differs from the quantity on the existing order record in ShipStation:

  • Change the quantity of the item(s) in ShipStation to match Shopify.

  • Adjust the product total for the order in ShipStation.

  • Show an alert in the Order Details that a change has been made to the quantity of items in the order.

    ODET_ShopifyAdjust_Alert.gif

Please be aware of this feature's current limitations:

  • Will not adjust the weight of the order to reflect the change in item quantity.

  • Will not remove line items that change to a quantity of 0 (but ShipStation will display 0 for the item in the Qty field).

  • Will not adjust the quantity for customs declarations. If this is an international shipment, you must manually adjust the quantity in your customs declarations.

  • Will not adjust the total paid (only the product total).

  • Will not adjust the item quantity if orders have been split into multiple shipments in ShipStation.

Identify Shopify Fraud Risk Orders

ShipStation can import Shopify's Fraud Risk Assessment into one of your ShipStation Custom Fields. This feature helps you identify at-risk orders for you to review before you ship them.

You can use this imported risk assessment to automatically tag at-risk orders and perform other actions necessary for your workflow.

To import the Shopify Fraud Risk assessment into ShipStation:

  1. Click Edit Store Details next to your Shopify store.

  2. Then click Edit Shopify Settings to edit the Custom Fields.

    Store Setting for Shopify in ShipStation, Edit Shopify Settings button highlighted
  3. Select Fraud Risk from a Custom Field drop-down under Custom Field Mappings section.

    Modify marketplace settings with Fraud Risk selected from the Custom Field 1 dropdown menu
  4. Click Save.

Tip

Be sure to review Shopify's Fraud Analysis help page if you are unfamiliar with how Shopify handles fraud risk or if you have not yet enabled this feature on your Shopify store.

This section explains how to create an automation rule in ShipStation to automatically tag at-risk orders when they import. This automation rule will then move those at-risk orders to the On Hold status in ShipStation for further review. However, you can use an automation rule to perform any action you require, not just adding tags and moving orders to On Hold status.

Create a Shopify Fraud-Alert Tag

To use automation to tag an order, you must first create the tag in ShipStation. If necessary, review the instructions for creating tags in ShipStation first.

Shopify has three levels of fraud alerts: low, medium, and high. Here is how each assessment will appear in ShipStation:

  • Low risk = Accept

  • Medium risk = Investigate

  • High risk = Cancel

For example, a Shopify order considered to be high risk will show the word Cancel in your Custom Field, located in your order notes.

Create a tag for one or all of these options? You decide. After you create your tags, they will be available when you create your automation rules.

Manage Tags pop-up shows these Fraud tags: Shopify Low risk, Shopify Investigate, Shopify High-Risk

Create a Shopify Fraud Tag Automation Rule

Next, you'll create an automation rule that uses the imported Custom Field from Shopify as the rule criteria, and set the rule actions to add a tag and move the order to On Hold.

If you don't know how to create an automation rule, please review the Automation Rules article for instructions.

This example rule uses Custom Field 1 as the criteria and will apply to an order that is medium risk.

Example of Medium Risk for Fraud, Shopify Orders. Is Active? Checked. Only apply actions to to orders that meet these criteria: Selected

This rule states: For any order that contains the text "Investigate" in Custom Field 1, ShipStation will apply the Shopify - Investigate tag and move the order to the On Hold status for 10 days.

You could add another action that sends an email to your warehouse manager, that assigns the order to a specific account user, or that does any number of other actions.

Create a rule for each fraud risk status you'd like to tag. ShipStation will apply the actions when the orders import.

Tip

To apply the rule to orders that have imported already, click the Reprocess Automation Rules button in the Settings > Automation > Automation Rules screen.

Additional Details about the Shopify Integration

  • Orders in Shopify have 3 different types of statuses: Order, Fulfillment, and Payment.

    • Order status can be Open, Archived, or Cancelled

    • Fulfillment status can be Fulfilled, Unfulfilled, Partially Fulfilled, Scheduled,and On Hold

    • Payment status can be Authorized *, Paid, Partially Paid**, Pending, Refunded, Unpaid, and Voided

  • Orders in the Authorized status will import as Awaiting Shipment by default. If you want ShipStation to treat Authorized orders as Awaiting Payment instead, please contact ShipStation support.

  • Partially Paid orders in an Open status will import into Awaiting Shipment by default. If you enabled the store setting Map "partially_paid" To Awaiting Payment those orders will instead import into Awaiting Payment.

  • If an order imports into Awaiting Payment from Shopify, the order status should update to Awaiting Shipment if the order is updated to Paid in Shopify (upon next store refresh).

  • A customer record will not be created if an order imports into Awaiting Payment (even if email is present). The customer record will be created after the order moves to Awaiting Shipment.

  • By default, ShipStation will ignore Shopify orders in the Closed or Archived status.

  • ShipStation cannot import orders while they are in the Draft status.

  • Updating On Hold orders: ShipStation will update orders in the On Hold status if changes are made to the order on Shopify. If expected changes do not appear in ShipStation after you have refreshed the store, contact ShipStation support to request they set your refresh date back to the date the change occurred and refresh the store again.

  • Shopify will only import orders with physical products into ShipStation.

  • If you are using Shopify's Inventory features, link the Ship From Location to a Shopify Inventory source so you can view your stock counts in ShipStation. See Shopify Inventory for more information.

  • Automatic Discounts: A discount applied at checkout that does not require the customer to manually enter a code at checkout. ‘Automatic Discounts’ from Shopify do not import into ShipStation. These discounts are a different type of discount than the ‘Discount Codes’ that would import as a line item. This difference may be why you see a discrepancy between Order Total and Amount Paid.

Shopify Troubleshooting Tips

Here are some common issues experienced by users, potential causes, and available troubleshooting tips.

Issue

How to troubleshoot or resolve

An order refunded in Shopify may still import into ShipStation if its order status hasn’t changed.

What to do: When you refund a Shopify order, you must also update its order status to Cancelled so the order will not import into ShipStation.

Shopify's subscription-based order placement not supported

ShipStation does not currently support orders placed using Shopify's new subscription-based order placement feature because this new feature causes confusion with mapping for the Requested Service.

While the Shopify orders will import, the orders placed through this new method cause Shopify to send us multiple Requested Service values with the order data. ShipStation can only display a single value for the Requested Service on any order.

SOLUTION 1: The best workaround is to map the newly displayed Requested Service value shown in the orders to use a particular service.

SOLUTION 2: If service mapping won't work for you, consider adding an Order Tag to these "subscription orders" in Shopify and mapping the Order Tags to a Custom Field through the Store Settings. This way, you can use an Automation Rule to assign services as needed.

A Shopify order is not importing into ShipStation

What it means: There are multiple reasons why a Shopify order would not import into ShipStation, but here are the most common:

  • No physical products in the order.

  • No Ship To address information for the customer.

  • Order is older than 90 days.

  • Order is still in Draft status.

  • The order does not require fulfillment, or is fulfilled by a third party.

What to do: In these cases, your best option is to update the order in Shopify, if possible. If you cannot update the order, ShipStation will be unable to import the order.

In addition, ShipStation by default does not import orders that are Closed or Archived. If you need to import Closed and Archived orders, enable the Import Closed Orders option in your Store Settings page.

After creating a label, ShipStation updated the Shopify order but only left a note with the tracking information and did not update it as fulfilled

What it means: This happens when ShipStation tries to create a fulfillment update for the Shopify order, but we receive an error from Shopify that the fulfillment could not be created for one of the following reasons:

  • The order is already fulfilled. ShipStation cannot create a new fulfillment for a Shopify order that is already fulfilled.

  • One or more Shopify products in the order are set to use a fulfillment service.

  • Your store is using Shopify's inventory management features, but the Ship From Location used to create the shipping label was not linked to the correct Shopify inventory source, or the product is out of stock. See Shopify Inventory for more information.

What to do: If this occurs, ShipStation will not be able to update the order as fulfilled. You may be able to update the order directly on Shopify.

Prompted to upgrade Shopify plan to use Checkout Rates even when on the appropriate Shopify plan

What it means: Shopify does not always automatically update permissions on all stores when billing plans change, so they may need to manually make the update to your store.

What to do: Contact Shopify support and request access to the CarrierServices endpoints for your store. If your Shopify billing plan meets the requirements for ShipStation Checkout Rates, then you are entitled to this access.

This integration allows you to define the Status Mappings for the store connection.

ShipStation will import the customer's email address with the order and can send customer shipment confirmation and delivery emails, which are configured in your Store Settings.

ShipStation will import the customer phone number.

ShipStation will import the shipping method chosen by the customer at time of checkout.

ShipStation will import the payment method used to pay for the order.

ShipStation will import discount and coupon information for the order.

ShipStation is able to determine if an order was placed as a gift.

ShipStation will import internal notes or order activity from the selling channel.

ShipStation will import notes left by the customer at time of checkout. Displayed as Customer notes in ShipStation's Legacy Layout.

ShipStation will import the total order weight from the selling channel.

ShipStation will import the weight for each line item in the order.

ShipStation will import an image URL for each line item in the order.

ShipStation will import item options (such as color or size) for each line item in the order.

ShipStation will import a product stock location for each line item in the order.

Status UpdateTracking NumberCarrierServiceCarrier Fee

The shipment update ShipStation sends to the selling channel will include any Notes to Buyer set on the order in ShipStation.

Item Information