Preorders with a 3PL
Use this guide if you fulfill orders through a third-party logistics provider (3PL) or warehouse management system (WMS), such as ShipStation or ShipBob, connected to Shopify. It explains which Shopify fulfillment statuses your provider actually picks up, and how to catch it if your provider misses one.
Before you begin
Test with your fulfillment provider before launch. Many 3PL and WMS integrations import only fulfillment orders in the Unfulfilled/Open state, so a Scheduled or On hold preorder may be invisible to your 3PL until it changes to Unfulfilled.
STOQ has no direct integration with 3PL or WMS apps and no setting to connect one. These apps read Shopify's fulfillment orders, not STOQ. STOQ's job is to set the preorder item's fulfillment status (Unfulfilled, Scheduled, or On hold) in Shopify at the right time; whether and when your 3PL app picks that order up depends entirely on how your 3PL app is built.
How it works: fulfillment orders, not a STOQ sync
Shopify represents each order's fulfillable items as one or more fulfillment orders, each with a status (for example Open, Scheduled, On hold, or Closed). A 3PL app connects to Shopify as a fulfillment service and typically polls or subscribes to fulfillment orders in the Open (Shopify admin label: Unfulfilled) state to know what to pick, pack, and ship.
STOQ does not push orders to your 3PL directly. Instead, STOQ controls the status of the fulfillment order in Shopify:
| Preorder fulfillment status in STOQ | Shopify fulfillment order status | Mechanism |
|---|---|---|
| Unfulfilled | Open, available for fulfillment right away | No action needed: default Shopify state |
| Scheduled | Scheduled until the set date/days, then becomes Open (Unfulfilled) | STOQ reschedules the fulfillment in Shopify for the date (or days-after-purchase) you set on the offer |
| On hold | On hold until released | STOQ places a fulfillment hold in Shopify, tagged as a STOQ preorder hold |
Whatever your 3PL app does with an order, it acts on that Shopify fulfillment order status: STOQ has no separate channel to tell ShipStation, ShipBob, or any other provider "this one is a preorder, treat it differently."
Why some 3PLs miss Scheduled and On hold orders
- If you use Unfulfilled (the default preorder status), most 3PLs behave normally, since the order looks like any other fulfillable order the moment it's placed.
- If you use Scheduled or On hold, the order may sit invisible to your 3PL until the status flips to Unfulfilled. Some providers poll frequently enough that this is a non-issue once released; others may require a manual re-sync or resend.
- This is provider-specific behavior, not a Shopify or STOQ limitation you can configure around from the STOQ side. Different 3PL apps handle Scheduled and On hold fulfillment orders differently: some ignore them entirely, some show them as a distinct state, and a few sync everything regardless of status.
What data reaches your 3PL
Aside from the fulfillment order status itself, any preorder-specific details STOQ writes to the order (shipping/fulfillment date, payment breakdown, offer name) are ordinary Shopify line item properties. Whether your 3PL surfaces those in its own dashboard or packing slip depends on whether that provider reads line item properties, not on anything STOQ configures. See Preorder info on packing slips for exactly what STOQ writes and where.
Check your setup
Place a test order under a Scheduled or On hold offer
Use a preorder offer configured with the fulfillment status you plan to run in production (see Choose a fulfillment setup).
Check the fulfillment order status in Shopify admin
Open the order and confirm the fulfillment shows as Scheduled or On hold, matching your offer's settings.
Check whether the order appears in your 3PL dashboard
Log in to ShipStation, ShipBob, or your provider's dashboard and look for the test order. If it's missing, that confirms your provider filters out non-Unfulfilled fulfillment orders.
Release the hold (or wait for the scheduled date) and re-check
Release the fulfillment in STOQ or Shopify admin (see Release held fulfillments), then confirm the order now appears, or syncs, on your provider's side.
Troubleshooting
A Scheduled or On hold preorder isn't showing up in your 3PL's dashboard
This is expected until the status changes to Unfulfilled. Many 3PL integrations only import fulfillment orders in the Unfulfilled/Open state.
You released the hold (or the scheduled date passed) and the order still hasn't appeared
This depends on your provider's own sync frequency. Some 3PLs poll Shopify regularly and pick it up shortly after; others need a manual resync. Check with your provider.
You're not sure how your 3PL handles Scheduled or On hold orders
Use Unfulfilled, the default status, so orders are visible to your 3PL from the moment they're placed. Add Split fulfillments if you also want in-stock items separated from preorder items within that flow.
Your 3PL isn't showing preorder details (shipping date, deposit, offer name)
This depends on whether your provider reads Shopify line item properties, not on anything STOQ configures. See Preorder info on packing slips.
Limitations
Provider behavior varies and isn't something you can configure from STOQ: some 3PLs ignore Scheduled and On hold fulfillment orders entirely, some show them as a distinct state, and some sync regardless of status. Check with your provider directly if you're unsure.
FAQ
Does STOQ integrate directly with ShipStation or ShipBob?
No. STOQ has no direct connection to any 3PL or WMS. Your 3PL app connects to Shopify on its own and reads standard Shopify fulfillment orders. STOQ's only involvement is setting the fulfillment status (Unfulfilled, Scheduled, or On hold) on the order.
Which fulfillment status is safest if I'm not sure how my 3PL behaves?
Unfulfilled. It's the default, requires no Shopify purchase option, and looks like a normal order to any fulfillment app from the moment it's placed.
Does STOQ send order data directly to my 3PL?
No. STOQ writes preorder details (shipping date, payment breakdown, offer name) as line item properties on the Shopify order, ordinary order data any Shopify-connected app, including your 3PL, can read if it's built to. STOQ does not push data to a 3PL's API directly.
Does this affect in-stock items in the same order?
No. In-stock items are fulfillable right away regardless of the preorder item's status, so your 3PL should see and import them normally. Only the preorder line's fulfillment order is affected by Scheduled or On hold status. Some 3PLs split a single Shopify order into multiple fulfillment orders per line, which is exactly the case this applies to.
Related guides
Choose a fulfillment setup
Decide between Unfulfilled, Scheduled, and On hold.
On hold: setup and flow
How the On hold status works and how to release it.
Scheduled: setup and flow
How the Scheduled status automatically becomes Unfulfilled.
Preorder info on packing slips
What order and line item data STOQ writes that a 3PL can read.
