Shopify Integration Instructions


This document will discuss the steps needed to set up a Shopify integration in the Fulfillment Control Panel (FCP) as well as some configuration settings needed for the integration to function correctly.



Fulfilling New Orders

Each time our integration module connects to Shopify in order to retrieve new orders, it will request only orders that match the filter criteria you will configure during this setup process. Orders matching your chosen criteria are retrieved and deposited 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. EFS will only update tracking numbers for line items/skus with a Location of EFS assigned.

Note: If you manually mark your orders or items as shipped EFS will be unable to update them with tracking numbers. 


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.


Connecting eFulfillment Service and Shopify

Note: If your Shopify store is protected by a "Storefront password" we will not be able to connect.


You can set up your integration with Shopify using the eFulfillment Service App found in the Shopify App store.


Upon clicking Add app you should be presented with the following screen. Click Install app to continue.



Once the app has been downloaded, you should be redirected to the following screen which will request your Fulfillment Control Panel login and password.  If you do not have these set up, you may use the provided links to do so. 




At this point you will have a series of options to choose from for the initial configuration of your Shopify Integration. These can later be changed using the Fulfillment Control Panel if needed.  



Individual settings and their effects are as folllows:

Financial Status identifies orders based whether an item has been paid for, is pending payment, payment was voided, and so forth. This 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 count of each sku (i.e. sku 1 has 24 on hand). In some rare configurations we can sync just the amount Changed from the last time inventory was taken (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 representatives as other configuration changes will need to take place.

History describes the age of the order in days. 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. 

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”.


Once these settings are configured, click Finish Setup to create the integration.  You should then see the following success message and the name of your newly set up integration.  


The name and other settings for the integration can be adjusted as desired through the EFS Fulfillment Control Panel.




Our Shopify integration connects 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 eFulfillment Service.    

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.  

  • Location Name must be "EFS".

  • Address should be 807 Airport Access rd

  • City should be Traverse City

  • ZIP code should be 49686

  • Country should be United States

  • State should be Michigan 



Once you have created this Location, you will need to assign it to each of the items you intend eFulfillment Service to fulfill. To do so, select an item and scroll down to the Inventory section.



Click on Edit locations. This should bring up a small window with a check list of all available locations for that product. 



Select the EFS location and click Save.  You can have multiple Locations assigned to a single item, but the integration's inventory synchronization process will only sync inventory information and take fulfillment orders for items with the EFS location.

Custom Fulfillment Location

Shopify has a feature for Custom Fulfillment Locations.  This is a legacy feature that has since been replaced by the Locations system documented above and is no longer used by eFulfillment Service.  

If your account has the Custom Fulfillment Locations is active, the inventory tab for an item will include a "Inventory managed by" dropbox like the following: 


To switch inventory management so it uses the newer Locations, select the drop box beneath "Inventory managed by" and select Shopify.  You will need to save your changes before locations will appear.


After saving the changes, the inventory section should look similar to the following: 



You should now be able to manage locations as described in the previous section.


Payment and Shipping Settings

When the integration server checks your account for new orders it uses the financial and fulfillment settings from your integration to determine which orders are valid for processing.  By default, it will look for paid orders which are unshipped.


To ensure that orders are marked paid you will need to configure Shopify to automatically authorize and charge your customers. 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 after making changes. 


You may also need to change the "Automatically fulfill the order's line items" setting so your orders don’t get marked as shipped before we can retrieve them.  You can access this setting by going to the Settings tab in the main menu, then selecting the Checkout option. From there, scroll down to the Order Processing section. 


Make sure that the option to “Automatically fulfill the order's line items” is NOT checked.


Mapping Shipping Methods

The shipping methods used by your Shopify web store need to be mapped to the internal codes used by eFulfillment Service so orders will be fulfilled using the correct rates.


To access shipping rates click on Settings in the main menu of your Shopify admin area. Next, click on Shipping from the Store Settings menu.  Take careful note of each shipping method's name as you will need it for the next step.


From your Fulfillment Control Panel account choose View Integrations from the Integration menu, find the integration you wish to edit, 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: Available ship methods may be different than screen shot below, for a complete list of shipping methods available please see this article



That concludes this article. If you have any questions please feel free to contact us.




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 CML

    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 CML
Please sign in to leave a comment.
Powered by Zendesk