Fulfill orders in Shopify
Mark labeled items fulfilled in Shopify with their tracking numbers, one line at a time, the whole order at once or automatically when labels are bought, and undo a fulfillment.
Updated October 20, 2026
Creating a label doesn’t mark the order fulfilled in Shopify, unless you turn on fulfillment when labels are bought. Fulfilling tells Shopify which items shipped, with which tracking numbers, and Shopify sends the customer its shipping confirmation email.
You do it in the Line Items / Fulfillment card at the bottom of the order page.
Before you start
An item can be fulfilled once at least one shipment holding it has labels. Items in shipments without labels show an Awaiting label badge with “Create labels on the shipments containing this line item to fulfill.” See Create and void labels.
Fulfill the whole order
Fulfill Order appears at the top of the card when all of these are true:
- Every box on the order is assigned to a shipment.
- Every shipment has labels. A voided shipment with no boxes left doesn’t count.
- At least one item is still waiting to be fulfilled.
Click Fulfill Order. Parcello creates one fulfillment in Shopify covering every pending item, with the tracking numbers of every shipment involved. The customer gets one shipping email for the whole order.
When Fulfill Order isn’t shown, for example because one shipment isn’t labeled yet, fulfill line by line instead.
Fulfill one line at a time
Each item still to fulfill is listed under Pending fulfillment, with how many units remain (“2 of 3 remaining”).
- Pick the Quantity to fulfill. It starts at everything remaining.
- Under Shipments, tick the labeled shipments this item travels in. All of them start ticked. Each is listed with its carrier and tracking number.
- Click Fulfill.
Each click creates its own fulfillment in Shopify, and Shopify emails the customer each time. Fulfilling three lines one by one sends three emails. Use Fulfill Order when you want one email.
Fulfill part of a line when only some units shipped. The rest stays under Pending fulfillment.
Fulfill automatically when labels are bought
On the Automation page, the Fulfillment when labels are bought card has one setting: Mark items fulfilled in Shopify when their labels are bought. It’s on every plan and off until you tick it.
With it on:
- As soon as every box holding an item has a label, Parcello marks the item fulfilled in Shopify with the tracking numbers of the shipments holding it, and Shopify emails the customer.
- Each time you buy labels, every item that is ready and not fulfilled yet goes into one fulfillment, so the customer gets one email. An item packed in several shipments waits until each of them has a label.
- A shipment labeled later makes its own fulfillment, and Shopify sends the customer another email.
- After Create Labels, the order page says “Marked fulfilled in Shopify:” with the items. Under Fulfilled by Parcello, the fulfillment reads “Automatic, when the label was bought”. On the Batches page, the row says “Label bought · Fulfilled in Shopify”.
- Voiding the label cancels that fulfillment in Shopify, and its items go back to Pending fulfillment. The order page says “Cancelled the Shopify fulfillment made when this label was bought. Unfulfilled again:” with the items. Shopify doesn’t email the customer about the cancellation. A new label fulfills the items again, with a new email.
- Fulfillments you made with Fulfill or Fulfill Order, or in the Shopify admin, are never cancelled by a void.
Parcello leaves these to you:
- Freight on a bill of lading (Estes and FedEx Freight). Use Fulfill Order once the BOL is created.
- Items in a dropship shipment, items in no box, and items with a box in a shipment that has no label.
- Items handled by a fulfillment service (3PL), and cancelled orders.
Products that aren’t physical follow their own setting on the same page. See Fees and services on an order.
What Shopify receives
For each shipment, Parcello sends Shopify the shipment’s tracking number, a link to the carrier’s tracking page, and the carrier’s name:
| Label | Carrier name sent to Shopify |
|---|---|
| UPS, FedEx, Estes | UPS, FedEx, Estes |
| FedEx Freight | None: Shopify’s list of carriers has no FedEx Freight. Parcello sends the PRO number with its FedEx Freight tracking link |
| Shippo | The carrier that carries the label: USPS, UPS, FedEx, DHL Express, DHL eCommerce, Canada Post or OnTrac |
Shopify uses the carrier name to show tracking on the order and to the customer. If one fulfillment covers shipments on different carriers, Parcello sends each tracking number with its own link and no carrier name, so every link still goes to the right carrier.
A shipment with several boxes usually sends one tracking number, the shipment’s main number shown in its header, which tracks every box. USPS labels bought through Shippo are the exception: USPS has no multi-box shipments, so each box is its own label, and Parcello sends the number of every box holding the items you fulfill. Each box’s own number is also listed on the order page.
Fulfilled orders on the order page
Below Pending fulfillment, fulfilled items are grouped in sections you can open and close.
Fulfilled by Parcello
One block per fulfillment Parcello made, with its date and tracking numbers. Inside, the items are listed by box:
- “Box 1 of 3” with the box name and that box’s own tracking number.
- The quantity and product in that box. A product packed across several boxes shows “(also in box 2)” and so on.
- When the fulfillment covered fewer units than were packed, a “Fulfilled:” line says what it covered.
Fulfilled externally
Fulfillments made outside Parcello appear in two sections:
| Section | What it holds |
|---|---|
| 3PL | Fulfillments made by a fulfillment service (a 3PL or warehouse app) |
| Merchant | Fulfillments you made yourself in Shopify, or with another shipping app |
Each row shows the carrier, tracking number, date and items. Parcello follows their tracking on the Tracking page. See The Tracking page.
A fulfillment made in Shopify without a tracking number shows No tracking number. When Parcello bought labels for those items, the row also lists the label numbers that fulfillment doesn’t have, after “Parcello label numbers not on it”. Shopify only knows the tracking numbers on its fulfillments, so add them with Add to Shopify next to that line:
- Click Add to Shopify. The window says which numbers Parcello adds, for example “Parcello adds 1Z… to the fulfillment from Oct 19, 2026 in Shopify.” When the fulfillment already has numbers, it adds “The numbers it already has stay on it.”
- Leave Email the customer the tracking link ticked to have Shopify email the customer, or untick it.
- Click Add tracking.
Parcello adds the numbers of the boxes holding that fulfillment’s items, with the carrier name and tracking link, the same way Fulfill sends them. The page then lists the numbers on the fulfillment and confirms “Tracking added to Shopify and emailed to the customer” (or “Tracking added to Shopify”). A second click adds nothing and says “Shopify already has these tracking numbers”.
Add to Shopify doesn’t appear on a fulfillment service’s (3PL) fulfillment. Parcello also leaves alone a fulfillment that carries a tracking number that isn’t one of the order’s labels, since those items went out another way.
A fulfillment made in Shopify with a Parcello label’s number typed in, in any case or spacing, lists that number. Parcello already follows it through the label, so it isn’t listed twice on the Tracking page.
When the whole order was fulfilled outside Parcello, the order page says “This order was fulfilled outside Parcello.” and hides its shipping cards, except shipments with Parcello labels: those stay, so you can still download or void the labels.
Cancel a fulfillment
To undo a fulfillment Parcello made:
- Open Fulfilled by Parcello and click Cancel fulfillment on the fulfillment.
- Confirm with Cancel fulfillment.
Shopify reverses the fulfillment, and its items go back to Pending fulfillment. The label and tracking number are not affected. To void the label, use Void Labels on the shipment.
Only fulfillments Parcello made can be cancelled here. If you cancel a Parcello fulfillment in the Shopify admin instead, Parcello notices and clears it too, and its items return to Pending fulfillment.
Fulfill from a batch
To fulfill many labeled orders at once, select them on the Orders page, choose Open in batch and use Fulfill orders. Each order is fulfilled in Shopify with its tracking numbers, and Shopify sends each customer a shipping email. See Ship many orders in a batch.
Fees and services
A product that isn’t physical, such as an express fee, isn’t part of a shipment, so the order shows Partially fulfilled in Shopify after the physical items are fulfilled. On the Automation page you can have Parcello fulfill those products with the first shipment or when the last item ships, without emailing the customer. See Fees and services on an order.
Notes and limits
- Parcello always asks Shopify to notify the customer when it fulfills physical items. There is no option to skip that email in Parcello. When you add label numbers to a fulfillment made outside Parcello, you choose.
- Voiding a label doesn’t undo a fulfillment, except one Parcello made automatically when that label was bought. Cancelling a fulfillment doesn’t void a label. Do both if you need both.
- Items cancelled in Shopify drop out of Pending fulfillment.
Troubleshooting
“Shopify can’t fulfill this line item through Parcello right now. This sometimes happens with orders that pre-date Parcello’s installation. Workaround: mark it fulfilled directly in Shopify Admin and paste the Parcello tracking number from the Shipment card above — the carrier label is still valid.” Shopify won’t accept the fulfillment from Parcello for this item. In the Shopify admin, open the order, mark the item fulfilled there and paste the tracking number from the shipment in Parcello. The label stays valid. Fulfill Order shows a similar message, about “these line items”, when none of the pending items can be fulfilled.
“This line item was cancelled in Shopify — nothing to fulfill” The item was cancelled or refunded in Shopify. There’s nothing to fulfill.
“No units remaining in Shopify to fulfill” Shopify already has every unit of this item fulfilled, for example by another app. Refresh the page.
“Every shipment must have a label before bulk fulfillment” or “Every package must be assigned to a shipment before bulk fulfillment” The order changed since the page loaded. Refresh, then create the missing labels or assign the boxes, or fulfill line by line.
“The label is bought, but the items weren’t marked fulfilled in Shopify: <reason>. Use Fulfill Order or Fulfill below.” With fulfillment when labels are bought on, Shopify refused the fulfillment. The label is fine. Fulfill the items with Fulfill Order or Fulfill. The next label you buy on the order tries again too.
“Shopify didn’t cancel the fulfillment made when this label was bought (<reason>). Cancel it under Fulfilled by Parcello.” The label was voided, but Shopify kept the fulfillment. Open Fulfilled by Parcello and click Cancel fulfillment.
“This fulfillment has <number>, which isn’t a Parcello label number, so Parcello didn’t change it.” The fulfillment carries another tracking number, so the items went out another way. Edit its tracking in the Shopify admin if it’s wrong.
“No Parcello label holds this fulfillment’s items.” The labels for those items were voided, or the items aren’t in a labeled shipment. Nothing to add.
“This fulfillment isn’t active in Shopify anymore, so nothing was added.” or “Shopify no longer has this fulfillment on the order.” The fulfillment was cancelled or removed in Shopify. Refresh the page.
“A fulfillment service made this fulfillment, so Parcello doesn’t change its tracking.” The fulfillment belongs to a 3PL or warehouse app.
“Shopify didn’t confirm the change. Refresh the page to check before trying again.” Shopify didn’t answer clearly. Refresh: if the numbers show on the fulfillment, they were added.
Another message from Shopify. Parcello shows Shopify’s own words. See Error messages and fixes.