Shopify Integration Instructions


Our Shopify integration works by connecting to your shopping cart at scheduled intervals to perform tasks related to orders and inventory.  
In order to effectively use this integration you will need to create a Location called "EFS" and assign it to any items you would like fulfilled by eFulfillmentService.                                                                                                                

(Instructions for this are found at the bottom of this page.)


Fulfilling New Orders

Each time we connect to Shopify, to retrieve new orders, we request only orders that match the filter criteria you will configure during this setup process. Orders matching your chosen criteria are retrieved by our integration module which attempts to inject each order into your Fulfillment Control Panel account for processing.

Tracking Updates to Shopify

At the end of each day our integration module will send tracking numbers back to Shopify for orders shipped that day, and update each processed item to reflect that it was shipped.

Inventory Syncing (optional)

Our integration module can update the stock counts of your Shopify products with the available warehouse quantity. At the scheduled inventory sync intervals the FCP will sync inventory for only items that have had a change in inventory count since the last sync.

Our standalone Inventory Sync Guide will walk you through setting up Inventory Syncing after you successfully add the Integration to your FCP Account.

Due to the location functionality added by Shopify, inventory syncing now follows these rules.
1) If your product/variant has only one inventory location, we will sync to that location.
2) If your product/variant has multiple inventory locations:
    2a) We will sync to the location named "EFS"
    2b) If none of the locations are named "EFS", we will not sync inventory for that product/variant.

Connecting EFS & Shopify

Please note: if your Shopify store is protected by a "Storefront password" we will not be able to connect.

You can set up your integration between EfulfillmentService and Shopify by using the eFulfillment Service App found in the Shopify App store.

1) Download the App from the Shopify App store

2) Install the App



3a) Enter your Efulfillment Service Control Panel login credentials.
If you don't have an account with EFS yet, follow the link to sign up.  

3b)  At this point you can either use the common default settings for the Integration setup, or make adjustments from within the App itself.


4) Done!
You will see the success message and the name of your newly set up integration.  This can be adjusted at a later time through the EFS Fulfillment Control panel if desired, along with other integration settings.



You can make additional changes or adjustments to settings through the EFS Fulfillment Control Panel.

Individual settings and their effects are shown below.

Financial Status is most commonly set to “paid”.

Product Published Status Allows you to filter hidden items from your 'View Items' list in the FCP.

Inventory Sync Type In almost all cases this setting should be set to Total, which will have us sync a Total count of each sku (i.e. sku 1 has 24 on hand)

In some rare setups we can sync just the amount Changed from the last time (i.e. +300 to total on hand in Shopify) If you think that your situation warrants this sync method please discuss it with your client rep as other configuration changes will need to take place in addition to setting this field to Changed.

History A default value of 3 will be filled in if you do not edit this section when initially setting up the integration through the eFulfillment App in Shopify.  You can set this to any value from 1-15 at the time of setup.
If you wanted us to only retrieve orders created within the last ten days you would set this to “10”. 
This can later be adjusted through the EFS Fulfillment Control Panel via a dropdown menu in the integration settings as well.

Fulfillment Status is the shipping status of the orders we will retrieve from Shopify. The most common setting is “unshipped”.
NOTE: Orders containing both physical and digital items will get marked with the Fulfillment Status of "partial" in your Shopify cart.

Fulfillment Service EFS will only pull order line items which have an EFS location. If this results in an order with zero items, the order will not be pulled. If only some line items have an efs location, the order will be pulled into our system with only those line items.

Shopify Shipment Email. If you plan to use our shipment notification email, you’ll want this set to “No”. If you plan to have Shopify send out your shipment emails, set this to “Yes”.


The next set of options determines the intervals at which we check for new orders and, optionally, send available inventory counts back to Shopify (please see the Optional Features section for more information on inventory syncing).

The most common scenario is to check for new orders every 30 minutes and sync inventory twice per day.

If you have more than one Shopify store you may assign a “nickname” to each store to better identify options and settings for each one.

Click the “Add new Integration” button to finalize the integration settings. You should see a success message at the top of your screen.

To verify that we can connect to your Shopify store choose View Integrations from the Integration menu. For each integration you have configured you will see a set of options displayed as colored icons. Click the “suitcase” icon to view the items in your Shopify account.

You should see a searchable list of products listed in your Shopify store. The list will indicate if the product SKU matches a SKU in our system.

If you do not see a list of products and, instead, see an error message it is likely that your API password or shopify store URL are incorrect.

Additional Settings

To ensure that we can “see” your orders in Shopify you may need to adjust your Payments and Checkout settings.

When our integration module queries your Shopify account for new orders we check that the “financial” and “fulfillment” statuses match the filter criteria you have established in your integration settings. In most cases we retrieve paid orders which are unshipped.

To ensure that orders are marked paid you will need to configure Shopify to automatically authorize and charge your customer’s credit card. To do this click on Settings in your Shopify admin account and then choose Payments from the menu. At the bottom of the page you will see the following section. Be sure to click the "Save" button if making changes:

To ensure your orders don’t get marked shipped before we can retrieve them, you will need to make sure the option to “Automatically fulfill the order's line items” is NOT checked.

In your Shopify admin area click on Settings in the main menu, then choose the Checkout option.

Scroll down to the Order Processing section.


Shipment & Tracking Updates

At the end of each day we will send tracking numbers back to Shopify, for orders shipped that day, and update items as shipped.

EFS will only update tracking numbers for line items/skus with a Location of EFS assigned.


Shipping Methods

When we retrieve your orders from Shopify the shipping methods are shown as strings of text such as “Free Shipping” or “USPS International Express” or “Federal Express Ground”. This text needs to be translated to our internal codes by setting up mappings within the integration configuration.

In your Shopify admin area click on Settings in the main menu.

From the Store Settings menu click on Shipping.

The text indicated below must be entered exactly in your Fulfillment Control Panel account.

From your Fulfillment Control Panel account choose View Integrations from the Integration menu and then click the “envelope” icon to view existing shipping mappings.

Carefully type or “copy and paste” the exact text of your shipping method options from Shopify into the Cart Shipping Method field, then choose from the list of available shipping methods. Next, click the “Add Mapping” button, and then click the link in the success message to refresh the list (you will need to do this before you can add another method).

Note: Actual ship methods available may be different than screen shot below, for a complete list of shipping methods available please see this article.


Creating Locations

Creating Locations in your Shopify cart is done by going to Settings on the left side menu bar, and then selecting Locations.


Once in the Locations menu, select Add New Location. 



Your EFS locations should contain the following information.  
The Location Name must be "EFS".



Once you have created this Location, you will need to assign it to each of the items you intend eFulfillmentService to fulfill.


You can have multiple Locations assigned to a single item.  

The inventory sync process from eFulfillment will only sync to the EFS location.

Custom Fulfillment Location *

Please note:  Shopify has a feature for Custom Fulfillment Locations.  This is a legacy feature that will not longer be used by eFulfillment.

Some clients may have this in place already, as it was once used to help filter skus that were fulfilled vs. unfulfilled by EFS.  
This should be removed in favor of the newer Location, described above.

Have more questions? Submit a request


  • 0
    Irwin Dominguez


    I'm confused on the "fulfilled by EFS" part. Where do I denote "fulfilled by EFS" for the products I want EFS to fulfill? Please help!


  • 0
    Dev Team

    Hello Irwin,


    I will add a screenshot to the documentation that shows this field.  You have to go in and edit each variation and in the 'Fulfillment' dropdown select EFS

  • 0
    Irwin Dominguez

    Thank you, Kurt!

  • 0
    Barbara Christensen

    Hi! Can you confirm, please-- I know it can't sync to EFS if the order is set to Shipped in Shopify. Will the order sync w/ the status of Partially Shipped, if the order contains product not fulfilled by EFS (like gift cards or digital product)? The integration setup only allows you to pick one fulfillment status-- Do we have to set up 2 shopify integrations-- one for the unfulfilled orders and one for the partially fulfilled if we need to sell things not shipped by EFS?

    And, followup, if an order is already in EFS awaiting shipping, would it break the sync back down with shipping info if staff hand-fulfilled parts of the order (so in Shopify it went from unfulfilled to partially fulfilled while it was processing in EFS)? 


    Edited by Barbara Christensen
  • 0
    Marc Green

    This no longer works as described. I am unable to remove the legacy custom location. Also unable to assign products to the EFS location. The options aren't available. It's really frustrating. A real step-by-step guide is needed and it needs to be updated to account for changes in the Shopify system!

    Edited by Marc Green
Please sign in to leave a comment.
Powered by Zendesk