Fulfilling and shipping orders
The fulfiller's playbook: finding what still needs to go out, shipping in parts, adding tracking, delivering digital goods, and when to hold an order.
This is the playbook for whoever gets orders out the door. It covers the dashboard path from “paid” to “delivered” — for the bigger picture of an operator’s day, see Running your store day to day.
Find what needs to go out
Open Orders in the sidebar. The filter that matters is Any delivery state → Not shipped yet, then Filter. That list is your queue: orders that are paid, still owe goods, and have nothing on the way yet.
The other delivery states — In transit, Delivered, Returned — are for chasing what’s already left. Orders on hold show an On hold pill in the list; leave those alone until the hold is released.
Create a fulfillment
Open the order and go to the Fulfillments tab, then Create fulfillment. Pick the Type:
| Type | Use it for |
|---|---|
| Shipment | Anything a carrier delivers |
| Digital delivery | Downloads and license keys |
| Access grant | Accounts, memberships, licences |
| Service | Work you perform |
| In-person | Pickup and counter sales |
| Custom | Anything else |
Under Items in this fulfillment, each line shows how many are still to send and defaults to all of them. Lower a quantity to ship in parts — the rest stays outstanding and the order reads Partially fulfilled until it goes out.
For a shipment, add the Carrier and Service level; the tracking number can come now or later. Then Create.
Don’t wait until everything is in stock to record the first box. Shipping in parts is the normal case, and the buyer hears about each shipment as it leaves.
Add tracking
Click Update tracking on the fulfillment and enter the Tracking number (and the URL and carrier if you have them), then Save.
The first tracking number is what counts as shipped: the buyer gets an “on the way” email and Throttle fires fulfillment.shipment.shipped for your other systems. Creating the fulfillment alone doesn’t email anyone.
Mark it delivered
Once a shipment has shipped, Mark delivered appears. Delivering completes the fulfillment and emails the buyer; when every fulfillment on the order is complete, the order rolls up to Fulfilled on its own.
If you use ShipStation, tracking and delivery arrive automatically and you’ll rarely press these buttons yourself.
Digital goods
For a Digital delivery, use Update delivery to set the method (download, email, license key, or API access), the Download URL or License key, and optionally a Download limit and Expires at. Past the limit or the expiry, the buyer’s link stops working. Completing the fulfillment sends the buyer a “your download is ready” email.
Holding an order
When something is wrong — a suspected fraud, an address you need to confirm — click Hold order, give a Reason, and Put on hold. While it’s held, status changes, recorded payments, comps, and new fulfillments are refused. Cancelling and marking an existing shipment delivered still work. Release hold lifts it.
Holds apply to the whole order; you can’t hold one fulfillment and ship another.
Mistakes and how to undo them
- Cancel on a fulfillment has no confirmation, and a completed fulfillment can’t be cancelled — check before you click.
- The order’s status picker asks for a reason. Moving a status backwards only changes the label: captured payments, sent emails, and shipped fulfillments are not reversed.
- If the status and the fulfillments disagree, the order offers Set to Fulfilled to bring them back in line.
Related
- Order management — the whole lifecycle at a glance
- Fulfillment states — every status a fulfillment can hold
- Handling returns, exchanges, and refunds — when it comes back