Shopify is an e-commerce platform for managing products, online sales, and more. Pipe17 can sync Orders, Products and Inventory with Shopify.
Note: As of October 12th, 2022 Pipe17 will not be able to pull or update orders that pre-date Shopify's 60 day API limitation.
In this article
Recommendations
- You should already be signed up to a Pipe17 plan or trial so that you can add a new sales channel to your account. If you're not certain, reach out to our sales team to ensure you are ready to begin setup.
- Before adding the integration, turn off pop-up blockers in your browser so that Pipe17 can open a new window or tab in your browser for your Shopify login.
- Be sure that you have Shopify permissions to Manage and Install apps. This can be added by your account administrator/owner by going to Settings > Users & Permissions in Shopify.
- This setup guide will instruct you how to pull your new Shopify orders into Pipe17, so they can be sent to a 3PL. Before following these steps, you should ensure you are ready to begin importing and routing orders via Pipe17. If you had a previous fulfillment service or other fulfillment processing occurring directly in Shopify, make sure it is turned off otherwise you may be at risk of double-fulfilling orders.
Basic setup
New Pipe17 account
If you are setting up your Pipe17 account for the first time, you will be presented with the general onboarding wizard for your account after signing up.
Here, you can fill out the company information and click "Next" to proceed to the connector selection screen, titled "Let's get you connected". Once you are on this screen, find the Shopify integration and click Connect. You can now proceed with the Basic configuration section of this guide.
Existing Pipe17 account
If you already have a Pipe17 account, add the Shopify integration by navigating to Integrations on the left-hand side of the portal.
Click on "Add Integration" then find the Shopify connector and click on it, then click Connect. Follow the prompts on the setup dialog, clicking Next or Connect to proceed with each step.
Basic configuration
If you navigate away from the setup wizard, you can simply click on Integrations once more and you will find the Shopify connector added on that page. Click on it to proceed with setup. |
In most configurations where you sell online and want Pipe17 to populate inventory into Shopify, we recommend you enable the following settings:
- Pull Orders from Shopify: this will pull your Shopify orders into Pipe17 to be routed. If you want POS orders as well, you can enable Pull POS Orders from Shopify.
- Pull Products from Shopify: this will pull your Shopify products into Pipe17.
- Push Fulfillments to Shopify: this will allow Pipe17 to update the fulfillment status and tracking information in Shopify when an order is fulfilled.
- Push Inventory to Shopify: this will allow Pipe17 to send inventory updates to Shopify. Make sure you either aggregate all inventory to one location, or setup mapping between your Shopify and 3PL locations by following our Merge Locations guide.
I turned on Pull Orders from Shopify, but I'm not seeing any orders! By default, Pipe17 only imports orders that are placed after the date and time when you configure the connector. If you need to pull an older Shopify order, you can use the following trick: find the order in Shopify, and update it by making a superficial change to it; for example adding an order note or slightly editing the shipping address. You should now see this order in Pipe17 within a few minutes. Currently it is not possible to import orders older than 90 days. In this case, we recommend re-creating the order in Shopify. |
Additional settings
In addition to the 4 basic settings, the Shopify connector has a number of options to further customize your Shopify/Pipe17 connection.
Refer to the inserted numbers in the screenshot below to understand the available integration features. You can also explore these settings directly in the integration screen, by reading the instructional text below each field and clicking on the ? icon to read more about each option.
(1) Tag Filter List: If you want to limit orders that Pipe17 pulls from Shopify, a good way to do this is via tags. If you enter a tag like "Pipe17" into the Tag Filter setting, Pipe17 will only pull an order if the "Pipe17" tag is applied to order in Shopify. This is also a great way to initially test your integration before pushing all your orders into Pipe17.
(2) Location Filter List: Another way to filters order is by Shopify location. By default, Pipe17 picks up all orders at any Shopify location. If you enter a location ID in this setting, only the orders to that Shopify location will be imported. The location ID can be found in the URL of the location in your Shopify admin (under Settings > Locations > The specific location).
(3) Regex SKUs to Ignore: You can use this setting to specify SKU patterns (using regular expressions) that Pipe17 should ignore. Order line items that have a SKU matching a regular expression in this field will be removed from the order in Pipe17.
(4) Trigger Order Pull: Change the text in this field from "off" to "start" to force Pipe17 to re-pull all Shopify orders. This can take a long time, so we do not recommend using this setting unless specifically instructed to do so by Pipe17 support.
(5) Non-Shippable SKUs: Here you can add specific products that you do not want Pipe17 to fulfill. Any SKU entered in this setting will not be routed for fulfillment.
(6) Trigger Product Sync: Change the text in this field from "off" to "start" to force Pipe17 to re-sync all products. This is the only way to pull changes to the Shopify cost, HS code, country of origin fields into Pipe17.
(7) Inventory Totals Location: The easiest way to get inventory into Shopify is to push the total inventory into a single Shopify location. To do this, enter the ID of that Shopify location here.
The alternative is to push inventory into multiple Shopify locations. If you want to map inventory from different stocking locations into different selling locations in Shopify then you will need use the Merge Locations guide to ensure your fulfillment locations and e-commerce locations are properly associated. |
(8) Inventory SKU Blacklist: If you do not want to sync inventory for particular SKUs, you can enter them here.
(9) Inventory Location Blacklist: Enter the location IDs here for which Pipe17 should not pull inventory. This setting is only relevant if you are pulling inventory from Shopify.
(10) Trigger Inventory Pull: Change the text in this field from "off" to "start" to force Pipe17 to re-pull inventory from Shopify.
(11) Fulfillment Service Mode: This setting should not be changed with consulting with a Pipe17 employee. It is used when we are pulling Shopify Fulfillment Orders instead of Shopify Orders from their API.
- We recently added a setting to pull inventory adjustments for refunds/restock in Shopify, it’s called "Adjust Inventory for Refund Orders". When it is enabled it will increase inventory in Pipe17 when there is a return with restock in Shopify for any location linked to a Pipe17 location. This capability operates independently of the Pull Inventory setting
Connector notes
- Orders are only ingested when they are:
- In Unfulfilled status in Shopify. On hold orders are not pulled in by default.
- In Paid status in Shopify. Unpaid orders are not pulled in by default.
Troubleshooting
Orders are not coming in from Shopify
- Order setting not turned on: If orders are not coming into Pipe17 from Shopify, you likely do not have the "Pull orders from Shopify" setting turned on in the Shopify integration settings. Make sure this setting is enabled.
- Incorrect order filter: If your integration is correctly configured to pull orders from Shopify, you may have added a value in the "Tag Filter List" or "Location Filter List" in the integration settings. Both of these will limit the orders that come into Pipe17, so make sure the values in each field are correct. Refer to the help messaging in the Pipe17 portal for how to configure each field, this is accessible via the question mark icon next to the field.
Order status is not updating to "fulfilled" in Shopify
- Fulfillment setting not turned on: Pipe17 will send the fulfillment status back to Shopify if you have "Push fulfillments to Shopify" enabled in your integration, and if the order has been fulfilled by a 3PL.
- Locations not merged or linked: If Shopify thinks the order is in Location ABC and that location is not merged into a fulfillment location in Pipe17 then Pipe17 cannot update the Shopify fulfillment. Please review the Merge Locations guide and ensure all Shopify locations that can fulfill orders are merged into a Pipe17 location tied to a fulfillment integration.
- Fulfillment errors: If your integration is correctly set up but fulfillments are not making it to Shopify, refer to the Pipe17 order page for any visible Order exceptions. You can also view and retry order events in the Events page. If a fulfillment fails to send to Shopify, you will see a "failed" event in that page and can retry it.
Inventory is not updating in Shopify
- No inventory changes to sync: Inventory updates are change-based, meaning we only send an update to Shopify in response to an inventory change in Pipe17. If there have been no changes to inventory of a particular SKU since you turned on the "Push inventory to Shopify" setting, it may be that an update was not triggered yet. To trigger one manually and ensure the integration is functioning, find the SKU in the Inventory page in Pipe17 and make an update to its inventory to see if it flows into Shopify. Refer to our guide on Updating inventory for exact steps.
- Inventory locations not mapped: In order to send inventory to Shopify, you must use the "Inventory Totals" setting described in this guide to send all Pipe17 inventory to one Shopify location, OR you need to merge (link) your locations in Shopify to the locations in Pipe17 that have inventory (usually 3PL or other fulfillment integration locations). Make sure your locations are properly associated using the Merge Locations guide.