tiqline is a process SLA monitoring tool: it turns events from Shopify and your own systems into one case per piece of work, gives every step a time limit and alerts you in Slack or by email when a step runs over.
3PL fulfillment monitoring: see when orders wait at your fulfilment partner
Once a 3PL handles your fulfilment, the most important steps of an order happen in someone else's warehouse. You see the order leave Shopify and, with luck, a tracking number come back. tiqline puts a time limit on every step in between, from the hand-over to the shipment, and alerts you when an order waits too long at any of them.
Why orders get lost between the shop and the 3PL
Shopify lets you fulfil orders yourself or through a fulfillment service: Shopify Fulfillment Network, a third-party service connected through an app, or a custom fulfillment service that receives orders by email. Multi-Channel Fulfillment by Amazon is one of the listed options. Each of these is a hand-over between systems, and hand-overs are where orders go quiet. The app sync fails for one SKU. The 3PL rejects an order because of an address or a missing item, and the message sits in a portal nobody checks. An order is fulfilled in part and the rest waits for stock. A label is created but the parcel is not collected. From the shop, all of these look the same: an order that is paid and not yet shipped.
How merchants watch their 3PL today
Most teams rely on the 3PL's own portal and its reports, on the fulfilment status in Shopify admin, and on a regular export of unfulfilled orders to Excel or Google Sheets. Shopify Flow can email a daily summary of fulfillment orders that are on hold and of unfulfilled orders older than two days. Zapier and n8n can react to Shopify triggers and wait before checking again, which you build and maintain per rule. AfterShip comes in after the label: it tracks the shipment across more than 2,000 carriers once a tracking number exists and sends webhooks on tracking updates. What is missing is one view of every order with the step it waits on at the 3PL and a limit for that step.
When your 3PL agreement names a dispatch time
If your agreement with the 3PL names a dispatch time, for example same day for orders received before a cut-off, that promise is only worth something if you see which orders break it while there is still time to react. A monthly report tells you afterwards. A limit on the step tells you during the day, while the order can still leave on time.
How tiqline monitors 3PL fulfilment
1. Shopify events for the order and the fulfilment
From Shopify, tiqline reads Order Paid, Fulfillment Created, Fulfillment Updated, Order Partially Fulfilled and Order Fulfilled, among others. Fulfilment events keep the fulfilment status, the shipment status, the carrier name and the number of line items, so you can see a shipment being created and its status changing.
2. 3PL steps through the track API
Steps that happen at the 3PL, such as received, accepted, picked or packed, reach tiqline as events through the track API, with the Shopify order ID as identifier. They can come from the 3PL's own webhook through a small relay, from your middleware or from a script that reads the 3PL's status export. tiqline does not read Shopify's fulfillment_orders/* topics, such as accepted or rejected fulfilment requests, so these steps come in this way too.
3. A process with a limit per step
A typical process is Order Paid, then Received by 3PL within 1h, then Order Packed within 8h, then Fulfillment Created within 4h, then Order Fulfilled. Each limit is yours to choose. If you work with several 3PLs or warehouses, a branch on a property of the 3PL event gives each one its own steps and limits.
4. Partial shipments as sub-cases
When an order ships in several parcels, each fulfilment can be followed as its own sub-case of the order, identified by its fulfilment ID, with its own steps and limits. A parcel that waits shows up on its own instead of hiding behind the parcels that already left.
5. Alerts and the overview
When orders pass a limit at the 3PL, tiqline opens one incident for that step and alerts once in Slack, by email to up to 20 people, including someone at the 3PL, or through a signed webhook. The process view shows per step how many orders are stuck now and the share of finished orders that kept every limit.
Example: orders the 3PL never accepted
The 3PL, the orders and the times are made up to show the flow. The process: Order Paid opens the case, Received by 3PL from the middleware has 1 hour, Order Packed from the 3PL has 8 hours, Fulfillment Created has 4 hours.
Wednesday 11:00: a new product launches
Orders for the new product come in. Each one opens a case. The middleware forwards them to the 3PL and sends Received by 3PL for most of them.
Wednesday 12:00: nine orders are stuck at the hand-over
Stuck
Nine orders, all with the new product, have no Received by 3PL after an hour. tiqline opens one incident and emails the operations lead and the account manager at the 3PL.
Wednesday 12:30: the cause is found
The new SKU was never created in the 3PL's system, so the middleware's hand-over failed for these orders. The 3PL adds the SKU and the orders are sent again.
Wednesday 13:00 to 20:00: back on track
Received by 3PL arrives for the nine orders, the incident is resolved, and the cases move on to packing with an eight-hour limit, which they keep.
What tiqline does not do
tiqline has no ready-made 3PL connectors. Every step that happens at the 3PL has to be sent to the track API, and without those events tiqline only sees what Shopify reports. It does not read Shopify's fulfillment_orders/*, fulfillment_holds/* or fulfillment_events/* webhooks. The Shopify data it keeps does not include the fulfilment location, so a split by warehouse needs a property in your own event. Limits run on the clock, including weekends, which matters for 3PLs that do not ship on Sundays. tiqline does not track parcels at the carrier after the hand-over; that is the job of a tracking tool such as AfterShip. It does not resend orders to the 3PL or explain why one was rejected.
Where 3PL monitoring ends and shipment tracking begins
A simple rule of thumb: everything until the parcel has a tracking number and leaves the 3PL is fulfilment, and tiqline watches it. Everything after that is carrier tracking. The two answer different questions and fit together.
tiqline monitors process SLAs and is not one of the classic product-analytics tools.
Questions about 3PL fulfillment monitoring
Which 3PLs does tiqline work with?
Any 3PL whose steps you can send as events to the track API, for example through its webhooks, your middleware or a status export. tiqline has no built-in 3PL connectors.
Can tiqline see when a 3PL rejects an order?
Only when the rejection reaches it as an event through the track API. Shopify's fulfillment request topics are not read. Without the event, the order shows up as stuck once the next step's limit passes.
What does tiqline get from Shopify about fulfilments?
Fulfillment Created and Fulfillment Updated with the fulfilment status, the shipment status, the carrier name and the number of line items, plus Order Partially Fulfilled and Order Fulfilled.
Can I set different limits per 3PL or warehouse?
Yes, with a branch on a property of an event from your system, such as the warehouse code. Each path has its own steps and limits.
Can the 3PL get the alerts too?
Yes. Email alerts go to up to 20 recipients, which can include people at the 3PL.
Is this the same as shipment tracking?
No. tiqline watches the steps until the parcel leaves the 3PL. Carrier tracking after that is what tools such as AfterShip do.
Start for free
The Free plan includes 5,000 events a month.