Print a single label
Use this when you want to generate one label for one order.
Where to find it: Open the order in your Shopify admin and select More actions → Print Zonos Label.
The action only appears for orders that used a Zonos rate at checkout and aren't fully fulfilled yet.
Review the shipment
When the modal opens, you'll see the origin and destination addresses, the items in the shipment, and the package details Zonos already has for the order.

Fix any flagged addresses
If the validator finds anything the carrier is likely to reject — an address line over the carrier's character limit, a missing or malformed phone or email, a name without a last name — the affected fields are highlighted with a message describing the issue. Click Fix to step through each flagged section (origin first, then destination), correct the values, and continue.

Pick a service level
Choose the carrier and service level you want to ship with from the dropdown. The list reflects the services configured on your Zonos shipping zones.
Generate and download
Click Generate label. Zonos creates the label and the commercial invoice for the shipment. When generation finishes you can open or download both PDFs.

Print labels in bulk
Use this when you have many orders to label in one sitting.
Where to find it: From the Orders page in your Shopify admin, select two or more orders, open the More actions menu above the list, and choose Bulk Print Zonos Labels.
The action appears whenever at least one order is selected. Inside the modal, each order is classified individually so you can see which ones are eligible to label and which aren't.

Review the order list
The modal lists every order you selected with a status pill explaining whether it can be processed. Orders that can't be labeled (already fulfilled, not a Zonos order, no shippable items) are grayed out and excluded from submission.

Pick a service level
Choose the carrier and service level for the whole batch from the dropdown at the top. The same service applies to every order being submitted; if you need different services for different orders, run the bulk action once per group.
Fix or skip rows that need attention
Rows with address issues show a yellow Needs attention pill and a Fix button. Click Fix to walk through each flagged section for that row (origin and destination), correct the values, and return to the list.
If you'd rather defer an order to a later run, uncheck the checkbox on the left and the row will be Skipped.
You can't submit while any selected row still has unresolved issues — fix them or skip them first.
Generate the labels
Click Generate labels (N), where N is the count of rows that will be submitted. The modal shows progress while the labels are being generated and updates each row as Zonos completes them.
Download all labels
When generation finishes, click Download all labels to download a single merged PDF containing every successful label in the batch. Your browser downloads the file directly — no preview tab to dismiss.
If preparing the merged PDF fails (for example, a transient server issue), the button changes to Retry download. Click it to retry preparation without resubmitting any labels.

Retry any failed rows
Rows that fail to generate stay in the list with a red Failed pill and a Fix button. Open them, correct whatever the carrier complained about, and click Generate labels (N) again — only the still-pending rows are resubmitted.
Status pill reference
The bulk modal uses these pills on each row:
| Pill↕ | Meaning↕ |
|---|---|
| Ready | Passes validation and will be submitted when you click Generate labels. |
| Needs attention | Has fixable address issues. Click Fix to resolve, or uncheck to skip. |
| Skipped | You unchecked this row, or it had issues and was held back automatically. Won't be submitted. |
| Failed | A generation attempt didn't succeed. Click Fix, correct the issue, and retry. |
| Not a Zonos order | The order's shipping line wasn't a Zonos rate, so a Zonos label can't be generated. Excluded from submission. |
| Already fulfilled | The order is fully fulfilled in Shopify. Nothing left to label. |
| No shipping required | The order has no shippable items (digital-only). Nothing to label. |
| All fulfillable items shipped | Every shippable item has been fulfilled, but a non-shippable line keeps the order off "Fulfilled" status. Nothing left to label. |
Reprint a label
Use this when you need another copy of a label you already generated.
Where to find it: Open the order in your Shopify admin and select More actions → Re-print Zonos Label.
The action only appears for orders that used a Zonos rate at checkout and have a Zonos-created fulfillment.
If the order has more than one shipment, pick the one you want to reprint. The label opens for download immediately.

Cancel a label
Use this when you need to void a label that hasn't shipped yet.
Where to find it: Open the order in your Shopify admin and select More actions → Cancel Zonos Label.
The action only appears for orders that used a Zonos rate at checkout and have a Zonos-created fulfillment.
The modal lists the fulfillments tied to the order with their tracking numbers. Pick the one you want to cancel and confirm. Canceling voids the Zonos shipment and cancels the matching Shopify fulfillment in one step, so the order returns to an unfulfilled state and is ready to label again.
Troubleshooting
I don't see the action in the menu
Each action has its own visibility rules, all of which need to be true for the action to appear:
- Print Zonos Label — the order used a Zonos rate at checkout and isn't fully fulfilled.
- Bulk Print Zonos Labels — appears whenever you have at least one order selected on the orders index. Per-order eligibility is handled inside the modal.
- Re-print Zonos Label — the order used a Zonos rate at checkout and has a Zonos-created fulfillment.
- Cancel Zonos Label — the order used a Zonos rate at checkout and has a Zonos-created fulfillment.
If you expected to see an action and it's missing, check the order's shipping line and fulfillment status against these rules first.
Address validation keeps flagging the same field
If a field is flagged after you've already corrected it, double-check that:
- Address lines fit the carrier's character limit (most carriers cap at 35; UPS allows 46, Australia Post and Canada Post allow 40).
- The phone number contains at least 10 digits and isn't all zeros.
- The email is present and well-formed (many international carriers reject labels without a recipient email).
- A first name plus last name is provided, or a company name on its own.
The validator runs against the carrier you've selected, so switching service can change which limits apply.
A bulk row failed and I want to retry just that one
Failed rows remain in the list with their original details. Click Fix on the failed row, correct whatever the carrier flagged, then click Generate labels (N) again — the action only resubmits the still-pending rows, not the ones that already succeeded.
The "Download all labels" button never finishes
Click Retry download. The button reappears in this mode whenever the merged PDF preparation didn't succeed. The retry doesn't regenerate any labels — it only re-runs the merge step.
Still stuck
Contact Zonos support with the order numbers and a screenshot of the error.
Print Zonos labels in Shopify
Generate, reprint, and cancel Zonos shipping labels without leaving your Shopify admin.
The Zonos Duty & Tax app adds four label-management actions to your Shopify admin: print a single label from an order, print labels for many orders at once, reprint a label you already generated, and cancel (void) a label that hasn't shipped yet.