In this Article
- Learn key concepts
- Set up your account
- Add your first integration
- Map your locations
- Configure your order routing rules
- Test your setup
- Launch and operate
So you just got started with Pipe17! The platform is endlessly customizable, and as you familiarize yourself with our features, you’ll get the chance to enable and disable the specific ones that work for your setup. However, there are a few crucial steps everyone needs to follow in order to get up and running. The sections in this guide will help you connect Pipe17 to your primary sales and fulfillment channels, configure your order routing rules and location settings so that orders get sent to the right place for shipment, and test your setup so you can be sure it’s working before launch.
Before we dive in, take a moment to learn some essential Pipe17 vocabulary:
- Selling channel: Your selling/sales channel is where your orders come from. Usually, this is a selling platform like Shopify, BigCommerce, Walmart, and so on. But it could be something else—for example, if your orders are flowing through an ERP like NetSuite, that ERP could function as a selling channel in Pipe17.
- Fulfillment channel: Your fulfillment channel is where your orders are sent for fulfillment and shipping. Examples include 3PLs and 4PLs like Ware2Go, Stord or Amazon MCF.
- Location: A single fulfillment channel can contain multiple locations. Locations are distinct pools of stock—usually, different locations correspond to different warehouses, like a West Coast and an East Coast warehouse. Sometimes, locations represent pools of stock that must be treated separately for another reason, for example, stock fulfillable in a “blank/unbranded box” might be tracked in your “Blank Box Location”. Regardless, Pipe17 must know which distinct stock locations exist at your fulfillment channel(s), so that we can send the order to the right location, accurately track your inventory, and map inventory and fulfillment activities at a warehouse to a named location in an ERP or selling channel.
- Routing: Once Pipe17 receives orders from your sales channel, we need to determine which location the order should be sent to for fulfillment. We call this process “order routing”.
- Shipping request: A shipping request is exactly what it sounds like: a request to ship one or more products from a particular location. Pipe17 receives orders from your selling channel, and once items from that order are routed to a location, a shipping request is generated and sent to your fulfillment channel. Fulfillment channels may also refer to this as an “order”, however we use the term shipping request, since a single order can have multiple shipping requests, for example if the order is split fulfilled at different locations or times.
- Fulfillment: A fulfillment is the piece of data received from your fulfillment channel when the order is shipped. This usually contains a carrier and tracking number, and indicates to Pipe17 that the shipping request (or part of it) is fulfilled. In most cases, the information is then sent back to your selling channel so that your buyer knows the order is shipped.
To create your Pipe17 account, sign up at the Pipe17 website.
When you first login, you’ll be prompted to follow an onboarding wizard. The wizard will guide you through your initial account configuration, connecting your selling and fulfillment channel(s), location mapping, and order routing. This Quick Start guide covers much of the same information as the wizard, and you can choose to follow the directions in either resource. And, you can use this guide to learn about Pipe17 and then follow the onboarding wizard to expedite your setup.
Exiting the on-boarding wizard
Initially Pipe17 will require you to specify what systems you intend to connect to. …
Before setting up your integrations, take a look at the Configuration section of your Pipe17 dashboard. The pages in this section will allow you to:
- Add your account information (business name, address, logo)
- Choose a plan and add a payment method
- Add, remove, and edit other users
You may want to take the time to set up these basics now, so you don’t need to worry about it later!
By the end of this section, you will have added your first selling channel and fulfillment channels. You won’t fully enable them until the Testing section, but you’ll go through the steps for adding them in the dashboard and learn the common connector settings.
Add a connector
While following this guide, it is recommended that you leave all "pull/push" connector settings disabled until you reach the Testing section below. Otherwise, you may start pulling in orders and products before your account is ready to process them.
- From your Pipe17 dashboard, click on Integrations.
- From the Integrations page, click Add Integration.
- Select the integration you wish to add. Click on it, then click Add.
- In the “Flow Settings” page, leave everything disabled.
- Next in the “How to connect” page, you will actually connect Pipe17 to your chosen integration. Each connector is slightly different, but generally this connection is done in one of two ways:
- Open authorization (OAuth): In this case, all you have to do is click Connect. The login page for the channel may open in a new tab, and you just have to login on the new tab to complete the connection.
- API key and secret: For some connectors, you will need to provide Pipe17 with API credentials to complete the integration. Each platform is different, so follow the directions in the page to locate the required API credentials for the channel you are connecting. If unable to locate them, you may need to contact the support team for that channel. Once you add the required information, click Connect.
Each connector has slightly different capabilities, so this guide is not an exhaustive list of all the possible integration settings. Instead, use this guide to get to know the common settings. Access these settings by clicking on Integrations and then select your connector. Refer to the helper text directly in the Pipe17 dashboard to learn more about the specific settings for your connector.
In addition to the on/off settings, you will also see the “Force sync” options in your connector page. You can use these once your account is operational, to override the normal sync schedule during troubleshooting.
Although every sales channel is slightly different, most share the following settings:
- Pull orders: Pipe17 will pull orders from this sales channel.
- Pull products: Pipe17 will pull products from this sales channel, treating it as the “Product catalog master”.
- Push inventory: Pipe17 will send inventory information to this sales channel.
- Push fulfillments: Pipe17 will send fulfillment details to this sales channel.
In addition to these four crucial settings, many sales channel integrations also offer these options:
- Order ingestion date: By default, this will be set to the date you add the sales channel integration. If you change this date setting to a different date, Pipe17 will only pull orders placed after the specified date. Note: this does not trigger an immediate pull, it is just a filter to be sure you don’t inadvertently pull in older orders.
- Order tag or status filter: You may not want Pipe17 to ingest every single order from your sales channel. In that case, you can use the order tag or order status filter to further specify which orders should be brought into Pipe17—for example, you may only want orders with the tag “pipe17” to be ingested, or only orders in the status “ready”.
- Order tag to apply: It can be useful for Pipe17 to apply a tag to the order directly in your sales channel, after it is pulled into Pipe17 or sent to fulfillment. This way you can tell from your sales channel dashboard that an order has been processed by Pipe17. Use this setting to specify the text of the tag that should be applied.
- SKU allowlist or blocklist: If you only want certain SKUs to be pulled into Pipe17, use the allow/blocklist settings to specify which ones.
All fulfillment channels share these common settings:
- Push shipping requests: Pipe17 will send shipping requests to your fulfillment channel.
- Pull inventory: Pipe17 will pull inventory numbers from your fulfillment channel.
- Pull fulfillments: Pipe17 will pull fulfillments from your fulfillment channel.
Many fulfillment channels also offer these settings:
- Pull locations: Pipe17 will pull locations from your fulfillment channel. This option should generally be enabled, so it is often not editable.
- Location filter: If you don’t want Pipe17 to pull every location from your fulfillment channel, you can use this setting to specify which locations should be pulled, or go to the Locations page and make some locations Inactive.
- Shipping request filter: In some cases, for example during testing, you may only want to send a handful of specific orders to your fulfillment channel. To do that, you can add those order IDs to the shipping request filter setting. Only the orders added here will be sent.
- SKU mappings: If your product SKUs are not the same in your sales and fulfillment channels, you need to map them. This indicates to Pipe17 that a specific sales channel SKU should be sent as a different SKU to the fulfillment channel. Note: SKU mapping can also be done at the Product level, which will eventually replace the connector-specific SKU mappings.
- Inventory allowlist or blocklist: Use this setting to specify if inventory should sync only for some SKUs.
- Arrivals (aka “ASNs”) and Receipts: For certain fulfillment channels, Pipe17 can automate creating an ASN at the 3PL and pick up the receipt to track which items were received. It can also sync this data to Pipe17 or ERP entities like Purchase orders or Transfer orders.
We introduced the concept of locations earlier in this guide, and now it’s time to configure them. Locations exist within both your fulfillment channel and your sales channel. Your sales channel and fulfillment channel have their own names and internal location IDs for each location. Because they don’t communicate with each other outside of Pipe17, the internal IDs won’t match each other, and the names may or may not match. Location mapping is how Pipe17 knows which selling channel location(s) correspond to which fulfillment channel location.
You need to map your locations for multiple reasons:
- If Pipe17 syncs inventory from your fulfillment to your selling channel, the locations will need to be connected to each other.
- Many sales channels require a location to be specified when sending fulfillments back to the sales channel. In this case, until a location is mapped, we cannot sync your fulfillments and your orders will remain in “unfulfilled/unshipped” status at the sales channel.
- If your orders come in from the sales channel “pre-assigned” to a specific location, we need to know which location this corresponds to in the fulfillment channel.
Map a location
While clicking through the locations as directed below, you will also see the “Exclude From Totals” setting in the location page. Enable this if you need to exclude that location from your inventory total—for example, if a location represents an inventory pool that is already a subset of another location’s inventory (like a Blank Box location) or if a location contains inventory which is not available to sell.
- From your Pipe17 dashboard, click on Inventory > Locations
- In the Location List page, you will see a list of your existing locations. Pipe17 automatically pulls all available locations from your fulfillment and sales channel. Your job is to identify which locations are actually the same, and then link them to each other.
- First, identify a pair of entries from your sales and fulfillment channels that correspond to the same location, then click on the sales channel version of that location. You can ensure you are clicking into the right version by referring to the “Source” column.
4. In the Location page, click the purple Link to Another Location button on the top right. If the button is not present, it is likely that you have clicked into the fulfillment channel location rather than the sales channel location. Go back to step 3 and click into the sales channel location.
5. In the Link Location popup, select the fulfillment channel version of this location. Click Save
7. Repeat steps 3-6 for each pair of locations that need to be linked between your sales and fulfillment channels.
The above steps refer to the simplest mapping scenario, in which each location in your sales channels corresponds to just a single location in your fulfillment channels, and vice versa. More complex setups are also possible, for example, you may have the same location present in more than one selling channel. For more detailed information and frequently asked questions about locations, refer to our specific guide on merging locations.
Aggregate all inventory at a single selling location
You may keep inventory in multiple fulfillment locations but only want a single location to track in your selling channel. In this case, you would want to send a sum or “aggregate” of all fulfillment location inventory to your selling location.
Not all selling channels have the “Inventory Totals” setting referenced below. If your selling channel does not have this setting, you won’t be able to aggregate inventory to a single selling channel location.
- In your Pipe17 dashboard, click on Inventory > Locations
- Identify the selling channel location that should receive the sum of all your other locations’ inventory. Click on it.
- In the External Locations section, copy the External Location ID of the first entry in this list.
4. In your Pipe17 dashboard menu, click on Integrations
5. Click on your selling channel integration, then on the Settings tab.
6. Find the inventory aggregation setting. This will be called something like “Inventory Totals Location”. Read the field descriptions to identify the right one, then paste in the External Location ID you copied in step 3. Save your changes.
Order routing is the brain of Pipe17. It tells the system where to send your order when we pull it from the selling channel. By configuring your order routing with specialized rules, you can set up complex logic for where orders should be sent in each scenario. You will always need at least one routing rule for Pipe17 to send your order for fulfillment, unless you have “pre-routed” orders that have the location assigned in an ERP or selling channel.
The Pipe17 order routing engine is a top-to-bottom logic system where routing rules are added as “cards”. For each order that comes into our system, the engine evaluates each routing card (from topmost to bottommost card) and determines if the order matches it, based on the following criteria:
- Filter: Filters are sets of logical rules, where each rule applies to a specific order attribute. For example, you may want all orders tagged with “preorder” to route to your US East warehouse which will ship your preorders. Any order field (tag, shipping address city, SKU, price, and so on) can be used in a filter rule. This is the first thing evaluated in an order routing card. A card may not have a filter at all, in which case the engine simply moves to the next criteria (Destination).
- Destination: The destinations the physical shipping location of the order. If the shipping address of the order matches the destination specified in the card, the engine attempts to route the order to the locations specified for that destination. A blank destination matches all orders.
- Location stock: Even after an order has passed any card filters and matched to a destination on the card, the order may not be routable if there isn’t enough stock at the fulfillment location. The final order routing check is whether or not the determined location has enough stock to fulfill the order. There are some ways of overriding this check, which are described in Advanced routing settings.
If the order doesn’t pass the rules on a card, the engine evaluates the next card, if one exists. If an order cannot be routed according to any of the existing cards, the order will stay in Ready for Fulfillment status and a “Stuck Order” error can be generated (which is why it can be useful to configure a “catch all” rule as a backup!). Refer to our guide on Resolving order exceptions for detailed information on order errors.
Add a routing card
- From your Pipe17 dashboard, click on Configuration > Order Routing.
- In the Order Routing Engine page, you will see a blank order routing card already added. Give it a descriptive Name.
- Optional: add a filter if you want only some orders to match this routing card. If all orders should match the rules specified in this card, a filter is unnecessary. Click Add Filter.
- In the Advanced Filter popup, give your filter a descriptive Name.
- Select your logical Operator. If you set it to OR, the order will pass the filter if it matches any of the rules. If you set it to AND, the order will pass the filter only if it matches all the rules.
- Set the Not flag. You can use this to reverse the AND and OR operators. If you specify "AND + Not", the order will pass the filter unless all of the rules evaluate to true. If you specify "OR + Not", the order will pass unless any of the rules evaluate to true. We know this is hard to implement—the way to think about it is to write a filter that matches the orders you don’t want to process, and then add NOT.
- Specify a Destination. If you leave this blank, all orders will match it.
- Specify a Location. This is the fulfillment location to which we will try to route the order.
- Optional: Click Add Location to add more fulfillment locations. You can add as many fulfillment locations as you want. When routing, these will be considered from top to bottom: if one location doesn’t have enough inventory for the whole order, the routing engine will move to the next location.
- Optional: Click Add Destination to add more destinations, then repeat steps 6 and 7 as needed.
Advanced routing settings
For more information on all of these options, refer to our detailed Order Routing guide. The following options are widely used, and are worth considering as part of your setup:
- Allow split orders: This option allows a single order to be routed to multiple locations only if a single location does not have enough stock to fulfill the entire order. This is located in the Routing Rules tab of the Order Routing Engine page. Note that by default, Pipe17 will not split orders unless it needs to for stock reasons. If there is stock available, the entire order will be sent to the first location where the card rules evaluate to true (unless you override this behavior with the setting below).
- Optimize for location priority: This option only applies if you have Allow split orders enabled. If you then turn on Optimize for location priority, Pipe17 will split an order, even if it could be fulfilled without splitting by a location further down in the list. The behavior now becomes: fulfill everything possible at the first location, then proceed to the next location.
- Do not check inventory: If enabled, this option will skip Order Routing’s inventory check step. Orders will be routed to the first location within a matching filter and destination, regardless of whether Pipe17 is aware of any stock at that location. You might use this if Pipe17 does not track your inventory at a location, and/or if your fulfillment channel allows preordering. This is located in the Routing Rules tab of the Order Routing Engine page.
You can change the routing behavior in your Pipe17 account by enabling specific settings in the Order Routing Settings tab. Common options to consider include:
- Cancel order if no inventory is found: Commonly referred to as “fill or kill”, enabling this option will set the order to canceled status if any of the order items are out of stock. In other words, the order will only be routed if all items can be fulfilled. This option is located in the Settings tab of the Order Routing Engine page.
- Re-run order routing every 3 hours: If an order cannot be routed for any reason, it will not be automatically re-routed unless you choose to manually reroute it in the order page. If you have frequent stockouts and restocks, many of your orders may fail to route initially but would route successfully later in the day. In cases like this, you might want to enable this option so that your orders get automatically rerouted every 3 hours. This is located in the Settings tab of the Order Routing Engine page.
If you’ve followed this guide from the beginning, you have now:
- Completed your basic Pipe17 account set up
- Added a selling channel integration and a fulfillment channel integration
- Mapped your locations
- Configured your order routing rules
Your system is set up, but it’s not turned on. It’s time to test everything out before you go live.
Test your product flow
Pipe17 does not support importing products with duplicate SKUs. Make sure all the products you want to pull into Pipe17 have unique SKUs in your sales channel(s).
You can use the SKU filtering options described in the Sales channel settings section to specify which SKUs Pipe17 should allow or block. If you don’t specify any, all SKUs will be pulled from your selling channel.
As an alternative to the steps below, you can import products using a CSV file.
When you’re ready, enable and verify your product flow:
- From your Pipe17 dashboard, click on Integrations and then click on your sales channel.
- In the Settings tab, turn on the “Pull products” setting.
- From your dashboard, click on Products to view the ingested products. Products will generally start to flow into Pipe17 within 5 minutes.
Test your inventory flow
Use the inventory filtering options described in Fulfillment channel settings to exclude/include specific inventory SKUs from Pipe17.
Once you’re ready, enable inventory ingestion from your fulfillment channel:
- From your Pipe17 dashboard, click on Integrations and then click on your fulfillment channel.
- In the Settings tab, turn on the “Pull inventory” setting.
- From your dashboard, click on Inventory to review the stock numbers being pulled from your fulfillment channel. You should see the numbers start updating within 5 minutes.
- Take the time to verify the following:
- Inventory is syncing for all expected SKUs.
- Inventory is correct at all available fulfillment locations. In the Inventory page, click the arrow next to any SKU to see the breakdown of stock at each location.
- “Available” (sellable) inventory matches what you expect.
Once you are satisfied with the inventory sync into Pipe17 from your fulfillment channel, it’s time to test the inventory flow to your selling channel:
- From your Pipe17 dashboard, click on Integrations and then click on your sales channel.
- In the Settings tab, turn on the “Push inventory” setting.
The Pipe17 outbound inventory sync is update-based. This means that we only send an inventory update after we receive an inventory update. For this reason, the best way to test inventory sync to your sales channel is to “mimic” an inventory change within Pipe17:
- From your Pipe17 dashboard, click on Inventory and then click on a SKU at a specific location. Choose a product that is unlikely to be affected by a brief inventory discrepancy at your selling channel.
- In the Inventory Detail page, click on the edit icon (the pencil) above the On Hand inventory number. Edit the number by adding or removing one unit.
- Click the save icon.
- In a new tab, open and log in to your sales channel. Navigate to the inventory information for the SKU you just edited, and verify that the stock matches the number you just set in Pipe17. This should sync within 5 minutes.
Once you’ve tested the flow, you can undo any manual changes you made. The remaining SKUs will have their inventory synced to the selling channel as they are updated or when the next full sync happens. You can also initiate a full sync by using the Actions menu on the Integration Settings page and choosing Push Inventory to <channel> choice. This will force an immediate full inventory sync to that channel.
Test your order flow
Finally, you’re ready to test your order flow. A single order goes through quite a few steps before being “complete”: it gets ingested from the sales channel, routed by the routing engine in Pipe17, sent to the fulfillment channel in the form of shipping request(s), updated with fulfillment(s) from the fulfillment channel, and then the fulfillment(s) get sent to the sales channel. Before you go live, it’s best to test this entire flow with a single order. You can either:
- Pick an existing unfulfilled order at your sales channel; or
- Place and fulfill a new order in your sales channel.
In either case, take note of the order ID for the order you wish to test with, and continue with the steps below.
Not all connectors have the “filter” settings described in step 2. If yours doesn’t, skip that step and instead add a filter to your Order Routing rule(s) that looks like the screenshot below, replacing the highlighted text with your test order ID. This will prevent any orders from routing and sending for fulfillment, except for your test order:
- From your Pipe17 dashboard, click on Integrations and navigate to your selling channel.
- In the Settings tab, find the “Order tag filter” or the “Order ID filter” settings. You can use either of these for testing. Refer to the field help icons for directions on how to format the fields.
- If using the “Order tag filter”, enter a tag of your choice into the field. For testing we recommend using simply “pipe17_test”.
- If using the “Order ID filter”, enter the ID of the order into the field.
- Set the “Order ingestion date” setting to your chosen ingestion date, if the order is older than the current date shown
- Turn on the “Pull orders” setting.
- Optional: If you used the “Order tag filter”, log into your sales channel and add the chosen tag to the test order you wish to use.
- From your Pipe17 dashboard, click on Orders. Within 5 minutes, you should see your test order appear here, first in New status and shortly after in Ready for Fulfillment status.
You’ve confirmed that your test order is now in Pipe17. The next step is to make sure it routes correctly. Unless you configure an order hold, the order will run through the Order Routing Engine very shortly after being pulled by Pipe17. You’ll be able to tell that Routing has run on the order, because a Shipping Request section will appear in the Order Detail page:
If you have multiple complex routing rules, you may want to run through all of these testing steps multiple times, to ensure that all possible cases are covered by your routing rules. You can always cancel the orders before continuing with the next steps, to prevent sending test orders to your fulfillment channel.
Verify that the order was routed as expected, and the location in the shipping request matches the actual location where an order like this should be fulfilled. If not, you can cancel the shipping request and change your routing rules, then click “Rerun routing” in the Order page.
It’s time to send your order to fulfillment:
- From your Pipe17 dashboard, click on Integrations and navigate to your fulfillment channel.
- Turn on the “Push shipping requests” setting.
- Click on Orders and navigate to your test order. Click on it.
- The already-existing shipping request will not have been sent, so you need to cancel it and regenerate it. Click Cancel above the shipping request to cancel it.
5. Click Rerun routing at the top right of the page to rerun the routing rules and recreate the shipping request(s).
6. Within a few minutes, the order will be sent to your fulfillment channel and its status will change to Sent To Fulfillment. At this point, you can log into your fulfillment channel in a new tab and verify that the order is there (you can also cancel it there, if you don’t wish to actually fulfill it).
The best way to test fulfillment is to actually fulfill an order. You may be able to contact your fulfillment channel to “fake” fulfill an order for you. If not, we recommend fulfilling an actual order or using the Pipe17 Mock 3PL to test with fake fulfillment locations.
If you choose to actually fulfill an order:
- From your Pipe17 dashboard, click on Integrations and navigate to your fulfillment channel.
- Turn on the “Pull fulfillments” setting.
- Click on Integrations and this time navigate to your sales channel.
- Turn on the “Push fulfillments” setting.
- Wait for your fulfillment channel to fulfill your order. In your Pipe17 dashboard, click on Orders and navigate to your test order. Scroll to the Shipping Request section. You will see the order is now in Fulfilled status and the shipping request contains the tracking information.
6. Shortly after the order displays as Fulfilled in Pipe17, the fulfillment will also be sent to your sales channel. Log in to your sales channel and confirm that the order is fulfilled in that platform too.
Launch and beyond
Now that you’ve tested your entire product, inventory, and order flow, you’re ready to:
- Further customize and troubleshoot your setup; or
- Go live and operate your Pipe17 account!
If you’ve had trouble setting up any of the steps covered in this guide, here are some steps you can take to get help:
- Refer to our full documentation at support.pipe17.com
- Make sure to use the in-app help text to understand specific fields and settings in the dashboard. Hover over buttons and options to see descriptive tooltips, and look out for question mark icons to click on for further help using a specific setting.
- Our support team is always here to help. Submit a ticket by clicking on the Help & Support button on the upper right of your Pipe17 dashboard.
If you’ve tested your products, inventory, and orders and are happy with your setup, you’re ready to go live. All you need to do now is disable any special filters that you set up specifically for testing.
Once you follow the steps below, your Pipe17 account will be operational. Our system will begin ingesting and processing all products, inventory values, and orders unless you set up specific filters to exclude some.
- From your Pipe17 dashboard, click on Integrations and navigate to your sales channel.
- If you wish to pull in all orders, remove any text in “Order tag filter”, “Order ID filter”, and any other “Order” filters. If you wish to pull in some orders, make sure the filters are accurate for what you want to ingest.
- From your Pipe17 dashboard, click on Configuration > Order Routing.
- If you added a filter to allow only a specific order ID, you can now remove this. To do this, click on the Remove button to the right of the filter name.
Now that you’re up and running, you can take the time to further explore Pipe17 and fully customize your account. Below are some frequently used resources: