Connect MSSQL Fulfillment Channel to Pipe17

The MSSQL Fulfillment Channel connector uses a Microsoft SQL Server database as a fulfillment channel for the app. It writes shipping requests and purchase orders into staging tables in your database and reads fulfillments, purchase orders, inventory, and products back into the app. The connector is in beta, and the Pipe17 support team helps you set it up.

With this connector, you can:

  • Send shipping requests that are ready for fulfillment to your MSSQL staging tables every 15 minutes.
  • Pull fulfillments and tracking numbers from your database into the app every 15 minutes.
  • Send purchase orders to your database and pull processed purchase orders back into the app.
  • Pull a full inventory snapshot every 15 minutes and your product catalog once a day.
  • Create your warehouse locations in the app from the connector configuration.

Setup

Before you begin, make sure you have:

  • The connector turned on for your organization. This connector is in beta, so submit a support request to turn it on.
  • A Microsoft SQL Server database that the app can reach over the network. If your server only accepts connections from approved IP addresses, ask the support team which addresses to allow.
  • The server hostname or IP address, the port (default 1433), and the database name.
  • A SQL Server service account with read and write access to the staging tables and read access to the inventory and product views.
  • The shipping request staging tables (header and detail) in your database. If you plan to use purchase orders, you also need the purchase order staging tables.
  • Your warehouse location codes. The support team adds them to the connector configuration.
Connect MSSQL Fulfillment Channel pop-up

To connect MSSQL Fulfillment Channel:

  1. Navigate to Integrations in the app.
  2. Click Add Integration, and then select MSSQL Fulfillment Channel.
  3. Enter your server hostname or IP address in the Server Host field, for example db.example.com.
  4. Enter the TCP port in the Port field. The default is 1433.
  5. Enter the name of your database in the Database Name field.
  6. Enter the service account name in the Username field.
  7. Enter the service account password in the Password field.
  8. Leave Enable Encryption (SSL/TLS) on. This encrypts the connection and is on by default.
  9. Leave Trust Server Certificate off unless your server uses a self-signed certificate in a development or test environment.
  10. Click Connect.
  11. After you connect, toggle on the flows you want to use: Push shipping requests to MSSQL, Pull fulfillments from MSSQL, Push purchase orders to MSSQL, Pull purchase orders from MSSQL, Pull inventory from MSSQL, Pull products from MSSQL, and Pull locations. All flows are off by default.

The Connect pop-up also shows a link to request assistance. Use it if you want the support team to help you configure the connection, your staging table names, and your locations.

When you connect, the app checks that it can sign in to your database and that the staging tables exist. If you turn on inventory or products, it also checks that the source view exists.


Settings

Setting Description Options/Default
Push shipping requests to MSSQL Writes shipping requests that are ready for fulfillment into your shipping request staging tables. On/Off. Default: Off
Process only shipping requests for specific order IDs Sends only the shipping requests for the order IDs you list that changed in the last 24 hours. Use this while testing. Optional. Empty sends all
Pull fulfillments from MSSQL Reads shipped orders, tracking numbers, and shipped quantities from your database. On/Off. Default: Off
Fulfillment List Query A custom SQL query that lists shipped orders. It must return TranNumber, ShopOrderId, and ShipDate. Optional. Empty uses the default query
Fulfillment Detail Query A custom SQL query that returns the shipment details for one order, including tracking number, shipping method, line, and quantity. Optional. Empty uses the default query
Push purchase orders to MSSQL Writes purchase orders that are ready for fulfillment into your purchase order staging tables. On/Off. Default: Off
Pull purchase orders from MSSQL Reads approved or updated purchase orders from your purchase order staging tables. On/Off. Default: Off
Purchase Order List Query A custom SQL query that lists processed purchase orders. It must return TranNo, VendorID, Status, TranDate, and ProcessStatus. Optional. Empty uses the default query
Purchase Order Detail Query A custom SQL query that returns the header and line details for one purchase order. Optional. Empty uses the default query
Pull inventory from MSSQL Reads a full stock snapshot from your inventory view. Inventory rows are matched to locations in the app by warehouse code, so set up locations first. On/Off. Default: Off
Inventory Source View The SQL view that holds your inventory feed. You can include the schema, for example dbo.MyInventoryView. Optional. Empty uses the default view
Inventory Locations The warehouse codes to pull stock for, one per row. Add a code when you open a new warehouse or store. Optional. Empty uses the default list
Inventory Item Types The item types to include, for example Finished Good. Optional. Empty uses the default list
Inventory Snapshot Query A custom SQL query that returns the stock snapshot. It must return LocationID, SKU, OnHand, Committed, OnPO, OnTransfer, and Available, sorted by LocationID and SKU, and must include the $afterFilter placeholder. Optional. Empty uses the default query
Pull products from MSSQL Reads your product catalog from your product view. Products in the app with the same SKU are updated. On/Off. Default: Off
Product Source View The SQL view that holds your product feed, optionally with the schema. Optional. Empty uses the inventory source view
Product Item Types The item types to include, for example Finished Good. Optional. Empty uses the default list
Product Snapshot Query A custom SQL query that returns one row per SKU, sorted by SKU, and must include the $afterFilter placeholder. Optional. Empty uses the default query
Pull locations Creates a location in the app for each warehouse in the connector configuration. The support team sets up this list for you. On/Off. Default: Off

Flows

Flow Direction Notes
Shipping requests Pipe17 → MSSQL Runs every 15 minutes. Sends shipping requests that are Ready for Fulfillment and assigned to this connector. The app writes one header row and one detail row per line item. Accepted shipping requests move to Sent to Fulfillment. If a shipping request is already in the staging table, the app doesn’t write it again. If the database rejects it, the shipping request moves to Failed.
Fulfillments and tracking MSSQL → Pipe17 Runs every 15 minutes. Reads orders shipped since the last run (the first run looks back 14 days) and creates one fulfillment per tracking number.
Purchase orders Pipe17 → MSSQL Runs every 15 minutes. Sends purchase orders that are Ready for Fulfillment. Accepted purchase orders move to Sent to Fulfillment. If the database rejects one, it moves to Review Required.
Purchase orders MSSQL → Pipe17 Runs every 15 minutes. Reads purchase orders that your system has processed since the last run (the first run looks back 14 days).
Inventory MSSQL → Pipe17 Runs every 15 minutes. Reads a full snapshot of active, sellable items for the listed warehouse codes, including on hand, committed, on order, in transfer, and available quantities. Rows for warehouse codes that don’t match a location in the app are skipped.
Products MSSQL → Pipe17 Runs once a day. Reads one row per SKU. Products that haven’t changed aren’t updated.
Locations Configuration → Pipe17 Runs every 15 minutes. Creates locations from the warehouse list in the connector configuration. Locations that already exist are skipped.
Cancellations Not supported The connector doesn’t send cancellations. If you cancel a shipping request that is already in the staging table, cancel it in your system as well.

Troubleshooting

  • The connection fails when you click Connect
    The app couldn’t sign in to your database. Check the Server Host, Port, Database Name, Username, and Password, and make sure your server accepts connections from the app. If the error mentions the certificate and your server uses a self-signed certificate in a test environment, turn on Trust Server Certificate.

  • The connection fails with "Staging tables not found"
    The app couldn’t find one or more staging tables in the database. Create the tables listed in the error, or ask the support team to update the table names in the connector configuration. If you turned on a purchase order flow, the purchase order staging tables must also exist.

  • The connection fails with "source view not found"
    The inventory or product view doesn’t exist in the database. Check Inventory Source View or Product Source View, including the schema name.

  • A shipping request moved to Failed
    The database rejected the rows, for example because a value is too long for its column, or the shipping request had no transaction number. Fix the data on the order, and then send the shipping request again. If the database was unreachable, the app retries on its next run instead.

  • Inventory doesn’t update
    Inventory is matched to locations in the app by warehouse code. Make sure Pull locations is on and the locations exist, and that each warehouse code is listed under Inventory Locations. To learn more, see Getting Started with Locations in Pipe17.


Need Help?

If you need additional assistance:

  • Use Ask Pippen, our AI agent, located at the top of the platform page.
  • Submit a support request with as much relevant detail as possible. Learn how to submit a request.

We’re here to help you succeed with your operations.

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.

Have more questions?
Submit a request
Share it, if you like it.