Packing Lists and Production Sheets From Shopify Orders

Packing slip template, Order Printer pick lists or an export: how to turn Shopify orders with personalised items into packing lists and production sheets.

In this guide
  1. Packing list, pick list, production sheet
  2. Option 1: Shopify’s packing slip template
  3. Option 2: Shopify Order Printer and its pick lists
  4. Option 3: Export line items to a spreadsheet
  5. A daily batch routine
  6. Pitfalls
  7. Building production sheets with StoreFleet: Order Export
  8. FAQ

If you make products to order, every morning starts with the same question: what do we need to make today, and what goes in which box? Shopify has the answer in the orders, but not in the shape a workshop needs. A packing slip is per order. A production sheet is per product, with every engraving text, size and colour listed together.

This guide covers the three tools Shopify gives you for this job, what each one is good at, and how to build a production sheet when the details live in line-item properties.

Packing list, pick list, production sheet

These words get used loosely. It helps to separate them, because each one has a different shape.

Document One row or page per Used by Must show
Packing slip Order (shipment) Packer Items, quantities, address, gift note
Pick list Product or order, across a batch Picker SKU, quantity, location
Production sheet Item to make, across a batch Maker Product, variant, every custom detail

A packing slip goes in the box. A pick list tells someone what to take off the shelf. A production sheet tells someone what to make, which for personalised products means the customer’s text, font and upload link for every single item.

Option 1: Shopify’s packing slip template

Every store has a packing slip template. To edit it, go to Settings > Shipping and delivery, and in the Documents section click Packing slip template. Click Preview template to check your changes, then Save. Shopify documents this in Customizing packing slips.

The template is Liquid. According to Shopify’s packing slip variable reference, each item in line_items_in_shipment has these attributes, among others:

Attribute Meaning
title Product name, with the variant name if there are variants
variant_title Variant name
sku SKU
quantity Total quantity for that product
shipping_quantity Quantity fulfilled in this shipment
properties The product properties
image Product image, if one exists

The order object gives you name, order_number, created_at and note, and shipping_address gives the address parts. There is also includes_all_line_items_in_order, which is false when the shipment does not contain every item, handy for a “more to follow” line.

If your slip does not show engraving text today, check whether your template loops over line_item.properties. A simple version inside the line-item loop:

{% for property in line_item.properties %}
  {% assign first_char = property.first | slice: 0 %}
  {% unless property.last == blank or first_char == '_' %}
    <p>{{ property.first }}: {{ property.last }}</p>
  {% endunless %}
{% endfor %}

Test it with Preview template on an order that has properties before saving. Shopify’s Liquid reference notes that a property whose name starts with an underscore is hidden from customers at checkout. The example above skips those internal properties and empty values.

To print slips for many orders, select them on the Orders page, click Print, then Print packing slips, as described in Shopify’s printing packing slips guide. If you have several locations, you choose the location fulfilling the orders.

Good for: what goes in each box. Not built for: a per-product view of what to make.

Option 2: Shopify Order Printer and its pick lists

Shopify Order Printer is Shopify’s app for printing and customising invoices, packing slips, pick lists and other documents. Custom templates use HTML, CSS and Liquid.

It also has pick lists, which are the closest built-in thing to a production view:

  • Picking by product shows product image, name, variant, order ID, SKU and quantity, and can be sorted by quantity, SKU or variant.
  • Picking by order shows the same item details grouped by order.
  • You can include unfulfilled, fulfilled, on hold or scheduled orders.

Two limits matter for production:

  1. Shopify’s printing guide says you can print up to 50 orders at a time, and suggests exporting orders to a CSV file for larger batches.
  2. Pick list templates cannot be customised with custom code, and Shopify’s pick list page does not list line-item properties among the columns. If the maker needs the engraving text, a pick list alone will not carry it.

Good for: picking stock products in batches of up to 50 orders. Not built for: personalised details across a large batch.

Option 3: Export line items to a spreadsheet

For production, a spreadsheet is usually the most practical format. You can sort it, filter it, split it between makers, and keep it as a record of what was produced.

Shopify’s built-in order export puts each line item on its own row, with SKU, quantity, name and vendor, plus the order note and note attributes. It does not include line-item properties as columns, which is the detail personalised shops need most. Our guide to exporting orders with line-item properties explains why, and how to keep each property with its own item.

What a good production sheet looks like

One row per item to make, one column per detail:

Order SKU Product Variant Qty Property: Engraving Property: Font Property: Upload
#1041 RING-S Silver ring Size 7 1 Anna & Tom Script
#1042 PRINT-A3 Art print A3 2 link to file
#1042 RING-S Silver ring Size 6 1 12.06.2026 Serif

Two rules make this layout work:

  • One row per line item, so each engraving text sits next to the product it belongs to. Our post on one row per line item covers this layout in detail.
  • Each property in its own column, so you can filter for every item with a Font of Script, or every item with an upload.

Grouping by product

Once the rows are in a spreadsheet, grouping is a sort, not a rewrite:

  1. Sort by SKU, then variant. All size 7 silver rings sit together.
  2. Add a pivot table with SKU and variant as rows and the sum of quantity as values. That is your blank count: how many of each item to pull or cut.
  3. Filter by property to split the work: one maker takes everything with a Font, another everything with an Upload.
  4. Check empty required fields. A filter on an empty Engraving column for engraved products catches missing details before production, not after.

If you open the file in Excel, import it as described in our guide to exporting Shopify orders to Excel, so SKUs and dates keep their original form.

A daily batch routine

  1. Choose the batch. For example, all paid, unfulfilled orders up to this morning. Tag them with a batch name if you want a clean cut-off.
  2. Export the production sheet for that batch, one row per line item.
  3. Print packing slips for the same orders, so each box has its slip.
  4. Make from the sheet, grouped by product.
  5. Pack against the slips, then fulfil. Our guide to bulk fulfilling and tagging orders covers the last step.
  6. Save the sheet with the batch date. When a customer questions their engraving, you can show what came in with the order.

Pitfalls

  • Inconsistent property names. Engraving on one product and Engraving text on another become two columns. Standardise the names in your product forms.
  • Edited orders. If an order is edited after you export, the sheet is out of date. Export as close to production as you can.
  • Partially fulfilled orders. Make sure the batch only contains items that still need making.
  • Gift messages in the wrong place. Some themes save gift messages as note attributes on the order, others as properties on an item. Check one real order to see which.
  • Batches over 50 orders. Order Printer prints 50 at a time; plan your printing or use an export.

Building production sheets with StoreFleet: Order Export

StoreFleet: Order Export is a Shopify app, currently in review for the Shopify App Store, that exports orders to CSV or Excel with each line-item property and note attribute in its own column. It includes a packing list template (shipping address, shipping method, SKU, item, variant and quantity, one row per line item) and a personalised items template that adds the item’s properties and the order note. You can filter by date, payment status, fulfillment status and tags, or select specific orders, and the file is built in your browser.

FAQ

Can Shopify’s packing slip show engraving text?

Yes, if your template prints it. Each line item in line_items_in_shipment has a properties attribute. Loop over it in the packing slip template and check the result with Preview template.

How many orders can I print at once?

Shopify Order Printer prints up to 50 orders at a time. For bigger batches, Shopify suggests exporting orders to a CSV file.

Does Order Printer’s pick list include line-item properties?

Shopify’s pick list documentation lists image, product name, variant, order ID, SKU and quantity, and the pick list template cannot be customised with code. It does not list line-item properties.

Does Shopify’s order export include line-item properties?

No. The standard order CSV includes the order note and note attributes, but not line-item properties. You need an export tool that reads them from each line item.

What is the difference between a pick list and a production sheet?

A pick list tells someone which stock to take off the shelf. A production sheet tells someone what to make, including every custom detail for each item.

Sign in to your workspace

Each workspace has its own address: <workspace>.getstorefleet.com. Enter your workspace name, or paste its address, and we take you to its sign-in page.

You will go to

New to StoreFleet? Create a workspace