Overview
Shopify is an e-commerce platform for managing products, online sales, and more. Pipe17 can sync Orders, Products and Inventory with Shopify.
Requirements
In order to install the necessary Apps for the Shopify Integration to work, you will need to have Staff Owner Access, OR the ability to install Apps on the store. If you do not have these permissions, you will be unable to establish a connection. You can read more about staff permissions on Shopify's help documentation.
Supported flows
- Basic
- Pull orders from Shopify to P17 / Push orders from Shopify to P17
- Pull Products from Shopify to P17 / Push orders from Shopify to P17
- Pull Fulfillment from Shopify to P17 / Push orders from Shopify to P17 / Both
- Pull inventory from Shopify to P17 / Push
- Advanced
- Push return request to Shopify
- Pull refunds from Shopify
- Pull Statements from Shopify
- Mandatory
- Pull location from Shopify
Below, usual setup for when Shopify is considered strictly as a selling channe; meaning that it will work only as an order source; fulfillment may be source from a external 3PL or may also be extracted from Shopify itself. Same goes for inventory. However, products are usually sourced from Shopify itself to create in P17 and send elsewhere.
On the other hand, another usual setup is when Shopify works as a sort of fulfillment channel (whenever it is connected to an actual fulfillment source outside P17) and therefore order source is elsewhere; like another selling channel or 3PL. Here, inventory is sourced from Shopify and products from the ERP.
Of course, any combination can be used or discussed.
Getting Started
- Ensure that you have a Pipe17 account created
- Make sure you are licensed to use the Pipe17 NetSuite Ecommerce Connector. If you're not certain, reach out to your Pipe17 rep
Connector Setup
Go to your organization P17 account and find Integrations in the menu. Once there, find the Add integration button. Clic on it; you will be promted to the integrations list page.
There, write down Shopify and select the one shown below.
Once you have located the correct integration, and added it - it should appear under your main Integration page within your Admin. You can click the name of the App (Shopify), which should open it's settings and configuration details. We will want to go to the Connection section, and click "Connect"
At this point, it should open a second window. This second window will ask you to login to Shopify (if you are not logged in), or select an existing store you have on your account. Once the account is selected, you will then be requested to approve the permissions required for our App to work.
After you have confirmed we are authorized to access your store, you will be set from there! Your initial connection should now be established, and the integration can now be configured for your store.
If you have multiple Shopify stores, you can repeat this process to connect additional stores. |
Initial Configuration
Your initial configuration may vary between stores. In this example, we will walk through some common setups and what the settings involved mean.
Please note, these settings are Integration specific and would can be different if you have multiple Shopify stores connected. |
Pull orders from Shopify:
This will pull your Shopify orders into Pipe17 to be routed if required. By default orders are only ingested when they are:
-
in Unfulfilled status in Shopify. On hold orders are not pulled in by default.
-
in Paid financial status in Shopify. Unpaid orders are not pulled in by default.
|
Excluding orders before a specific date will ensure that we do not ingest any orders that you may have fulfilled, or handled prior to integrating Pipe17 but, have not updated the status for. Our system will not try to fulfill any orders that do not appear to need action, such as a fulfilled order.
Time entry is according to your setup (top right corner). |
|
Shopify also includes Point of Sale, and you may not want to fulfill or ingest orders related to this. By default our settings assume this is the case but, if you are using an eRP you may want to enable this for accounting purposes. |
|
Shopify has the ability to support sales channels outside of their platform - if you may want to exclude any of these orders from Pipe17, this would allow you to specify the specific channels as they appear on Shopify. |
|
If there are specific attributes you'd like to exclude from an order, this field allows you to specify those attributes here. Note attributes is a back-end editable field to place values to a transaction. |
|
If you have orders that come in with a Code such as AMZ-123, or SHOP-123, you can specify the specific patterns here. |
|
By default, we only ingest orders we would normally expect to be fulfilled, like paid for orders. If there are exceptions where you would like statuses such as "unpaid" entered, this is where you would enter it. |
|
If you happen to be using Shopify flow, or additional services that might rely on tags - you can also identify the tags through here. If you enter a tag, we will only process the orders with said tag(s). Tags can be controlled in Shopify, a usual tag is "Pipe17". |
|
If there are specific products you would ONLY to process, you would specify in this field. If something is indicated here, we will not process orders with other SKU's and only pass the SKU listed here. |
|
If you have gift cards, virtual goods or fulfill in-house with some products, you may want to exclude these line items as well as they often do not require fulfillment. |
|
This will not pull orders that are not used for fulfillment in Pipe17 from Shopify. If you have locations used with other services, they would be ignored for with this on. |
Buy with primer orders are a specific subset of Shopify orders provided by an outside app. Bwp are created alredy fulfilled in Shopify, restricting the ingestion into P17 via the usual flow. |
|
|
This creates a tag on Shopify order to indicate it's current status, as ingested into Pipe17. |
|
This creates a tag on Shopify order to indicate it's current status, as routed through the order router, in Pipe17. |
|
This creates a tag on Shopify order to indicate it's current status, as cancelled, from Pipe17. |
|
If you would prefer to manage some tags on Pipe17, you can enable this. Otherwise, tags will not be applied to Shopify when added through Pipe17. |
|
If you only want orders to be processed from Shopify Payments, Paypal, or any other service provider - you would just need to specify the code in this field and we will not ingest any other orders. |
Push orders from Shopify (Outbound Orders Matching):
This special setting is to be used only in the scenario in which Shopify becomes the order destination, meaning that orders will in fact be created in another selling channel and sent into Shopify for reporting or fulfillment purposes. This special setting is handled by "set of rules" meaning that each rule can be applied to different types of orders defined by the user. If more than one rule is required, clic on the +Add settings button at the botton right of the last rule.
Only orders with the statuses contianed by this field will be forwarded towards Shopify | |
Only orders with the order sources contained by this field will be forwareded towards Shopify; regex text is supported to account for variations. | |
Only orders with the tags contained by this field will be forwareded towards Shopify; regex text is supported to account for variations. | |
Controls expectation on who will fulfill. Shopify will fulfill if selected the first option, P17 will provide fulfilment if selected the second option. Second option will take measures to stop order from fuliflling in P17 (putting it on hold, etc) | |
Recommendation is to have this be selected only in combination with "Matched orders should be puhsed to Shopify for fulfillment process" | |
Select the location in which the orders will be pushed into Shopify, if it should be more than one, use another setting/rule | |
Heavily suggested when "Matched orders should be puhsed to Shopify for order tracking" as order status might change in P17. | |
Required if option above is enabled, but if only this is selected, other values will also update in Shopify accordingly to P17 changes. |
If you are missing any information from Shopify, please be sure to check out our troubleshooting guide |
Fulfillment settings
We are able to push to Shopify or pull from Shopify or both; settings will be differentiated accordingly.
|
Push: If there are specific order ID patterns you would not like to send to fulfillment you can identify those patterns in this field for exemption. |
Push: This setting tells Pipe17 to update Shopify with the actual fulfillment location when the fulfillment is sent back to Shopify. Shopify allows this only if inventory for the fulfillment is available at that location. For this update to work, you have to map the locations in Pipe17 to connect the fulfillment location to the corresponding Shopify location |
|
|
Pull: When order is partially fulfilled in Pipe17 and partially in Shopify, use this setting to enable reporting fulfillments from Shopify to Pipe17 along with the flow of fulfillments reported from Pipe17 to Shopify. |
Product Settings
We are able to push to Shopify or pull from Shopify; settings will be differentiated accordingly.
|
Pull:If you would only like to sync or update specific products, this field would filter out everything else not entered. |
|
Pull: This is to allow you to control product ingestion from Shopify based on tags. |
|
Pull: This is to allow you to manually map the price field on Shopify, to a field in Pipe17. |
Pull: This is to allow you to manually map the compare at price field on Shopify, to a field in Pipe17. |
|
Pull: Sometimes products do not have SKUs in Shopify, on those cases we will still ingest them if this feature is enable but the SKU we will use will be autogenerated based on the following structure: {sku-shopifyID} : sku-12345678 |
|
|
Push: If matches are found for products which do not follow the same parent-child structure as in Pipe17, the structure will be change to fit accordingly. |
|
Push: When ON, variant SKUs created in Pipe17 after reporting initial parent/variant structure, will be created in Shopify. |
Pull: If the parent product changes in Shoipify, updates will occur on that parent and all variants |
|
|
Both: Enabling this feature will temporarily force a Catalog re-sync to the account. This setting will deactivate once complete |
Inventory Settings
We are able to push to Shopify or pull from Shopify; settings will be differentiated accordingly.
|
Push: If you would like all your inventory to show as a total value at a single location for Shopify - we would indicate which location you would like to use here. This would use the ID number, which can be found on Shopify. |
Push: This is to indicate which inventory settings we should be updating. If something has a status other than available but, you still want to track inventory - you can update the settings here. | |
You can have inventory quantities assigned to a prefered location on the locations in Shopify by selecting the P17 "app" in Shopify | |
Pull: This setting allows you to only update specific inventory (specified by SKU) instead of syncing all inventory. | |
Pull: If you would like to update inventory for everything BUT, a specific SKU pattern, this setting would allow you to create exceptions to the normal inventory sync. | |
Push: would It restrict inventory reconciliation to only a nightly process; this to limit the quantity of inventory adjustments processes on other platforms. | |
Push: Turn on this option so that Pipe17 will not post increased inventory levels to Shopify outside of dedicated hours. | |
Both: This setting will force our system to re-sync the inventory. After it is completed, it will automatically disable. |
Statements
Will exclude any settlement/statement before of the indicated date. Will not include statements before the creation date of the connection. |
Advanced
Contact support |
Location Mapping
Shopify, and Pipe17 also use Locations to track inventory. How these settings are implemented can vary across connectors. Once you have setup your initial settings, we would highly suggest checking out our guide on Getting Started with Locations.
The end result when pushing fulfillments to Shopify should look something like this:
The end result when pulling fulfillments froim Shopify should look something like this:
Custom Mapping
Please find custom mapping by following this path: Integration > Shopify > Mappings; there you will find several entities whose mappings can be controlled from here. And next to it a selectable option on wether information is being sent to or received from Shopify.
Below, the mapping will show divided in two sections: Sources and Targets. Sources would be the field from which the value is being extracted and target the field in which the value will be stored. Keep in mind that this depends on the flow of information, if info comes from Shopify or if it goes to NetSuite.
For example, orders to Shopify; Source would be Pipe17 and target is Shopify. Would be the other were around if we were posting orders to Shopify.
Changing these values might require support from Pipe17.
Integration Actions
Order and location ingestion from Shopify to Pipe17 may occasionally encounter delays. To address this, Pipe17 offers a manual solution through the "Integration Actions" setting in the Shopify connector. This allows users to manually pull missing orders or new locations from Shopify into Pipe17. Below are the steps to access and utilize these actions.
Please find integration actions by following this path: Integration > Shopify > Integration Actions tab > Actions button. There you will find 3 options:
Pulling Locations
Pulling locations retrieves all created locations from the connected Shopify store. Here's how to use this action:
1. Submit the Request
- Click on "Pulling Locations" to initiate the request.
2. Monitor Request Status
- Refresh the UI to see the request status, which may show as "submitted," "in progress," "completed," or "failed."
3. Review Request Details
- Access the JSON of the request for further clarity in case of failure.
Pulling Orders by ID
This action allows users to pull specific orders from Shopify by their ID. Follow these steps:
1. Add Order IDs
Enter the order IDs exactly as they appear in Shopify. You can add multiple order IDs, but note that processing time may increase.
2. Turn on "Ignore Filters"
Enable this setting to ensure that no filters or other issues prevent the order from being ingested into Pipe17.
3. Submit the Request
Once the order IDs are added and settings adjusted, click "Submit."
Pulling Orders by Date
Similar to pulling orders by ID, this action retrieves orders based on specific Shopify dates. Here's how:
1. Set Date Range
Specify the date range for orders to be pulled from Shopify.
2. Select Time Interval
Adjust the time interval if necessary.
3. Ignore All Filters
Ensure that no filters obstruct the ingestion process.
Comments
0 comments