Shopify Shopping Cart Connection
This article walks through the configuration of the connection between 3PL Warehouse Manager and Shopify. This connection allows for the following information to be synced:
- Orders from Shopify to 3PL Warehouse Manager
- Inventory numbers from 3PL Warehouse Manager to Shopify
- Tracking numbers from 3PL Warehouse Manager to orders in Shopify
Each of these syncing options and configuration guidelines is further detailed below.
Syncing Options
Orders
This connection brings in orders with a fulfillment status of “Not Fulfilled” and a payment status of “Paid”. It can also be configured to bring in "Authorized", "Pending", “Partially Fulfilled”, “Refunded”, or “Partially Refunded” orders.
For orders to properly sync, each Shopify product on the order must contain a SKU that is set up in 3PL Warehouse Manager. Even if line items in Shopify are already fulfilled, they still need a matching SKU in 3PL Warehouse Manager. If you’re not going to fulfill those lines, we recommend using the Ignore SKU function. For more information on this feature, see Ignoring SKUs.
This connection also supports Shopify order tags and captures these values as order-level custom fields upon import.
Rather than setting up shipping methods manually in 3PL Warehouse Manager, we recommend using ship method mappings. For more information, see Managing Ship Method Mappings.
Please note that setting up an item in Shopify does not necessarily mean it has a SKU. A SKU is not required value for a product in Shopify, so if an order gets created and the product doesn’t have a SKU, that item does not sync with 3PL Warehouse Manager.
Furthermore, updating a product in Shopify does not retroactively impact Shopify’s existing orders. For example, if you leave all your SKU values blank on your products and then receive 100 orders, going back and filling in the SKU value for the product does not mean we can pull in those orders after the fact. The Shopify API still shows the SKU field for each order as what the product had when the order was created.
For more information on products in Shopify, please visit Shopify's Help Center page for Products.
Inventory
Inventory syncing is optional. If enabled, the connection pulls available inventory numbers from 3PL Warehouse Manager and updates the available quantities in Shopify. Similar to order syncing, products must have SKUs configured to sync inventory numbers and these SKUs must exist in both 3PL Warehouse Manager and Shopify.
When you add inventory to Shopify, your inventory does not automatically update in 3PL Warehouse Manager. In order to reflect new inventory, a receipt must be generated into the system.
Tracking numbers
Tracking numbers are sent back to orders in Shopify from 3PL Warehouse Manager once the order has been confirmed in the system. For more information on this process, please see Update orders via 3PL Warehouse Manager below.
Tracking number post-back for this connection is supported at the order-level only. Line-item-level tracking post-back is not supported, which means that orders loaded from Shopify must be fully shipped. If you short ship or split a shipment, the tracking number provided on the order will post-back to Shopify—marking the entire order as fulfilled, not just the items that were shipped.
Guidelines
Set up the shopping cart connection
Please fill out our API Integration Survey to request a connection to Shopify. To obtain the credentials asked for in the survey, please complete Steps 1 through 3 below.
After you submit the survey, your Customer Success Manager will send you a DocuSign within one business day. Once you complete the DocuSign, our Professional Services team begins the cart setup process. These requests are typically completed 24–48 hours after receiving all the necessary information.
In light of changes due to COVID-19, we are temporarily increasing this turnaround time to a maximum of 72 hours. We thank you for your patience as we work through your requests.
If you have not received a DocuSign within the specified time frame or would like to know the project status, please reach out to your CSM.
Step 1: Generate Shopify API keys
To begin the setup configuration, you or your customer must first generate a set of Shopify private app keys. The process of generating the app keys is detailed here.
Once you or your customer have generated the API keys (see Step 8 of the documentation linked above titled “Generate credentials from the Shopify admin”), complete the instructions in Step 2 below to assign the required API permissions to the newly generated set of keys.
Step 2: Configure Admin API permissions
To ensure the connection runs properly, please follow the steps below to provide the necessary Admin API permissions for the API keys created in Step 1 above.
- Log in to your Shopify store.
- Select Apps from your dashboard menu.
- Toward the bottom of the page, click Manage private apps.
- Under the 'Private app name' column, select the private app you are using for 3PL Warehouse Manager.
- Under the 'Admin API Permissions' section, use the drop-down menus next to select Read and write access for the following permissions:
- Fulfillment services
- Inventory
- Orders
- Product listing
- Products
If these permissions do not display automatically, you may need to click Show inactive Admin API permissions.
Step 3: Locate your Shopify Location ID
We recommend verifying the correct Location ID with your customer. Your customer can verify this by navigating to Settings > Locations in Shopify, selecting the relevant location to see its details, then capturing the numeric value at the end of the URL—e.g., https://acme.myshopify.com/admin/settings/locations/XXXXXXXX.
Update orders via 3PL Warehouse Manager
Once 3PL Warehouse Manager has received and processed the Shopify orders, shipping and closing the orders sends the tracking numbers and marks the order as complete in Shopify.
- In 3PL Warehouse Manager, navigate to Orders > Find Orders.
- Select the order(s) from the grid that you need to close and mark as shipped. Use < Ctrl > or < Shift > on your keyboard to select multiple orders.
- Hover over Manage, then click Ship and close.
- Complete the appropriate fields under 'Routing Information'.
- If needed, enter any 'Additional Charges' that may have accumulated—each charge displays in the grid. For multiple orders, be sure to specify whether you wish to 'Apply Charges' separately to each order or divide the charges across all selected orders evenly.
Please note that any charges added here are in addition to all automatic and manual charges that have already been applied to the selected orders.
- Click Ship and Close. The orders in your Shopify store reflect the latest changes.
Set up event notifications
When Shopify orders are created or fail to import into the system, you can set up automated emails to notify the desired parties. To enable these notifications, complete the following steps:
Please note that the error log may also be utilized to understand the cause of an error or rejection—see Using the Customer Error Log for further instructions.
- Navigate to Customers > Customer Notifies.
- From the drop-down menu, 'Choose a Customer' and click Select. This screen allows you to specify which actions trigger an event notification. The applicable options for notifications are as follows:
- Orders Created by Warehouse: Triggers each time an order is created by a warehouse user
-
FTP Order Import Failed: Triggers each time an order import fail
- Under the 'Email Recipients' column, enter the email addresses in the relevant field for each event you would like your customer to receive a notification for. If using multiple recipients for one event, separate them with semicolons.
- To change the default email notification for each event, click Change this cust. for that particular customer or click Change master next to an event to change the email template for all of your customers. Make your modifications, then click Save.
- Click Save.
For more information on the Customer Notifies feature, see Managing Event Notifications.