Shopify packing slips: how to create, customize, and print them

Where packing slips come from in Shopify, what the built-in slip shows, how to change it, how to print a whole pick run at once, and where an app changes the answer.

Guides

Part of: Shopify packing slips

Shopify prints packing slips without an app: open an order and choose Print packing slip, or select several orders on the Orders page and print them in bulk. The slip shows items, SKUs, quantities, and both addresses. Changing it means editing a Liquid template. An app earns its place when you want slips generated automatically, stored, or printed by the hundred.

What is a packing slip for, and what goes on it?

A packing slip travels inside the box. It tells whoever is packing what should be in there, and tells the customer what they should have received. It is a fulfillment document, not a financial one. It does not need an invoice number, tax breakdown, or seller VAT details, and in most stores it should not carry prices at all, because the person unpacking a gift does not need to see what it cost.

The useful fields are the order number, the customer’s name and shipping address, each line item with its SKU and quantity, and a note if the order ships in more than one package. If you also need the document that proves what was charged, that is an invoice, and it is a different sheet.

How do I print a packing slip in Shopify without an app?

Two places, both built in.

From a single order: open the order in the admin, choose Print, and pick the packing slip. It renders from Shopify’s default template and goes to your browser’s print dialog, where you can send it to a printer or save it as a PDF.

From the Orders list: tick the orders you want, open the actions menu, and print packing slips for all of them at once. Shopify’s own help page describes both routes: individually from the order details page, or in bulk from the orders list.

One rule to know before a wholesale order trips you up: a draft order has to be completed and converted into a regular order before Shopify will print anything for it.

How do I change what the packing slip shows?

The built-in slip is a template written in Liquid, Shopify’s template language, with HTML and CSS around it. Shopify’s documentation puts it plainly: customization uses Liquid code, which lets you control the layout, styling, and data that appears on your packing slips. The template lives at Settings, then Shipping and delivery, under Documents, as Packing slip template, with a Preview template button beside the editor.

That sentence is doing a lot of work. If you can edit Liquid, you can add a logo, drop the prices, reorder the columns, add a returns note, or print a barcode. If you cannot, you are copying snippets from forum threads and hoping the next Shopify update does not break them. Every store that has done this has a story about the morning the slips came out blank.

An app replaces that template with settings. In Docket the packing slip has a price toggle in the template settings, and the logo, accent color, and footer text are fields, not code. The template guide shows what each setting changes.

How do I print packing slips in bulk for a pick run?

Picture the morning after a busy day. Forty orders to pack, and you want forty slips in order number sequence so they match the pick path.

Shopify’s bulk print handles this from the Orders list. Filter to the orders you need, select them, print. Shopify Order Printer, the free app, does the same with its own templates, up to 50 orders at a time. Both give you one print dialog for the batch. Neither remembers what you printed.

Docket’s bulk print works from filters: customer, date range, fulfillment status, or tags. Select the orders you want from the current 50-result page, choose packing slips, choose the sort order, by order number or creation date in either direction, and start the run. Docket generates one combined PDF, one slip after another, so the printer gets a single job and the stack comes out in the order you asked for. The bulk printing guide walks through it. Two limits stated plainly: selection is from the current 50-result page, and there is no free-text search by order number or line item.

Should a packing slip show prices?

Usually no. The customer already has the order confirmation with the prices on it, and a gift recipient should not see what was paid. The exceptions are B2B shipments where the receiving warehouse reconciles against a purchase order, and stores whose returns process needs the price on the physical sheet.

Whether Shopify’s default template shows prices depends on how the template is written, and changing it means editing the Liquid. In Docket it is one toggle in the packing slip settings, on or off per store.

Can packing slips be generated automatically?

Shopify prints them on demand. Nothing generates a slip when an order arrives, and nothing stores one afterwards; what you printed went to the printer and nowhere else.

Docket generates a packing slip from each order as it comes in, when the document type is enabled, and keeps the slip and its hosted link while Docket stays installed. The slip records the order items, SKUs, and quantities as captured at generation. It is a record of what the order contained, not a box-level shipment record, and Docket does not claim otherwise. If you want a slip on file for every order without anyone printing anything, that is the difference.

When is an app worth it?

If you pack a handful of orders a day and the default slip is fine, use the built-in print button and keep your money.

If you want a logo and no prices and you would rather not touch Liquid, if you run pick runs by the dozen and want them sorted and combined, or if you want every order’s slip generated and kept, that is what Docket’s packing slips are for. Slips, invoices, credit notes, and quotes from one app, one Unlimited subscription at $9.99 USD monthly or $99.99 USD annually, zero usage metering. The comparison with Shopify Order Printer sets the free app and Docket side by side if you are deciding between them.

One Unlimited subscription, never metered by order count

Unlimited is $9.99 USD monthly or $99.99 USD annually after a 14-day trial. No usage metering.