How-to guide
How to print packing slips in Shopify (native, bulk, and beyond)
Shopify prints packing slips natively — one order or in bulk — and the template is editable Liquid. Where the native path ends, and what to add when packing needs picking first.
By Bastien HugonFounder & Engineer8 min readPublished July 9, 2026
TL;DR
Shopify prints packing slips natively, free: open an order → Print packing slip, or select several orders → Print packing slips for one bulk PDF. The template is editable under Settings → General → Order printing. What the native path cannot do is *consolidate* — every slip stays per-order, which is correct for packing and useless for picking; that half needs a pick list.
Packing slips are the one fulfillment document Shopify handles well out of the box — no app needed for the standard case. This guide covers the native workflow end to end (including the bulk action people miss and the Liquid template nobody dares touch), then draws the honest line where native stops and apps begin.
Printing one packing slip
From any order page: More actions → Print packing slip (or the printer icon in newer admin layouts). Shopify renders the slip from your template — items, quantities, addresses, order number, no prices — as a browser print dialog. Print at 100% like anything else that matters; a packing slip is forgiving, but consistent margins keep barcode stickers and slip pouches aligned.
Printing packing slips in bulk
- 01
Filter the batch on the Orders page
Typically Unfulfilled + today's date, or your shipping tag. The filter defines the batch — same selection you would use for the pick run.
- 02
Select the orders
Tick the checkbox column, or 'Select all' on the filtered view (the 50-per-page limit applies — page through for larger batches).
- 03
Print packing slips
In the bulk actions bar: Print packing slips. Shopify generates one PDF with every selected order's slip in sequence, one order per page section.
- 04
Print once, in order
One print job, slips come out in selection order. Pair each slip with its picked pile at the bench — the packing checklist half of the pick-then-pack loop.
Editing the template (Liquid, safely)
Settings → General → Order printing holds the packing slip template: HTML + Liquid with full access to the order object. The three edits stores actually need, in rising order of courage:
- Branding: swap the store name for a logo `<img>`, adjust fonts — pure HTML, riskless.
- Add SKUs and bin hints: inside the line-item loop, `{{ line_item.sku }}` prints next to the title; metafields can surface a bin code for bench-side reference.
- Conditional notes: gift orders (`{% if order.note contains 'gift' %}`), fragile flags per product type — Liquid conditions on any order attribute.
Keep a copy of the default template in a text file before the first edit: the editor has no version history, and 'restore default' resets everything including changes you wanted to keep.
Where native ends
| Need | Native? | What covers it |
|---|---|---|
| One slip per order, bulk PDF | Yes | Orders page bulk action |
| Branded template | Yes | Liquid editor (above) |
| Invoices with prices | Partly | Order Printer or a document app |
| Consolidated pick list, quantities totalled | No | A pick list app |
| Bin-sorted walk order, bundles split | No | Solvi Pick Lists |
Doing this with Solvi Pick Lists
Solvi Pick Lists deliberately does not print packing slips — Shopify already does that well, and the pairing is the point: select the same batch of orders, print your packing slips natively, and generate the consolidated pick list (quantities totalled, sorted by bin, bundles split) from Solvi. Pick once from our list, pack against Shopify's slips. Two documents, two tools, zero overlap.
Frequently asked questions
Are Shopify packing slips free?
Yes — printing packing slips (single or bulk) and editing their template are native admin features on every plan. Apps only enter the picture for documents Shopify does not make: consolidated pick lists, custom invoices, or heavily designed multi-document sets.
Should packing slips show prices?
Convention says no: the slip lists contents, the invoice carries money. Price-free slips also survive gifts and B2B dropshipping without edits. If you want totals on the slip anyway, the Liquid template exposes order totals — it is a one-line addition.
Can I print packing slips for more than 50 orders at once?
The Orders page selects up to one page of results (50) at a time, so larger batches take a few passes — or a document app that batches beyond the page limit. Most stores' daily batch fits one selection.
Why do my packing slips print in the wrong order?
The bulk PDF follows the current sort of the Orders page — usually newest first. Sort the view (e.g. oldest first, matching your picking sequence) before selecting, and the PDF follows. Pick lists have the same property, which is why batch selection order is worth standardizing.
Related guides
Reference
Pick list vs packing slip: the difference, and when you need each
A pick list tells your team what to collect from the shelves; a packing slip tells your customer what is in the box. Definitions, a side-by-side table, and how the two documents work together in Shopify.
7 min read
How-to
Shopify Order Printer: what it does, templates, and its limits
Shopify's free Order Printer app prints invoices, receipts and custom documents from Liquid templates — up to 50 orders at a time. Setup, template editing, and the three jobs it cannot do.
8 min read
How-to
How to print one pick list for multiple Shopify orders
Stop printing orders one at a time: consolidate the day's Shopify orders into a single pick list, with quantities totalled per item and pages that print in order.
8 min read
How-to
A batch order fulfillment workflow for Shopify stores
Turn daily order fulfillment into a repeatable batch: filter, consolidate, pick, pack and mark fulfilled — a workflow for stores shipping 20 to 200 orders a day.
9 min read
Do this in minutes with Solvi Pick Lists
Turn selected orders into one consolidated pick list — sorted, bundle-aware, printed in order.