Print Shopify line-item properties.
If a customer entered an engraving, monogram, color, or other item-level choice, Shopify can print that public value on the packing slip. The useful part is a small Liquid loop—not another export.
Use Shopify's document template.
- In Shopify admin, open Settings → Shipping and delivery.
- In Documents, open Packing slip template.
- Locate the existing
line_items_in_shipmentloop or add the complete example below where item details should appear. - Preview with an order that contains real personalization values, then save.
A packing slip is generated for a shipment, so shipping_quantity can be more accurate than the order's total item quantity when fulfillment is split.
Print only public, nonblank choices.
This complete loop prints the shipped item, shipped quantity, optional SKU, and every nonblank property whose name does not begin with an underscore.
{% for line_item in line_items_in_shipment %}
<section class="production-line-item">
<h2>{{ line_item.title | escape }}</h2>
<p>
Quantity: {{ line_item.shipping_quantity }}
{% if line_item.sku != blank %}
· SKU: {{ line_item.sku | escape }}
{% endif %}
</p>
{% for property in line_item.properties %}
{% assign property_first_character = property.first | slice: 0 %}
{% unless property.last == blank or property_first_character == '_' %}
<p>
<strong>{{ property.first | escape }}:</strong>
{{ property.last | escape }}
</p>
{% endunless %}
{% endfor %}
</section>
{% endfor %}If your existing template already loops through line_items_in_shipment, copy only the inner for property block into the item markup. Do not nest a second item loop accidentally.
The complete example is also available as a reusable, MIT-licensed file in the open-source GitHub repository.
A packing slip is not a production sheet.
Packing slips travel with shipments and commonly contain customer and address information. That can be appropriate for packing and delivery, but it is usually more information than an engraver, printer, sewer, or assembler needs at the bench.
Use the packing-slip edit when the customer should receive the personalization details. Use a separate production sheet when the workshop needs a narrow artifact that avoids carrying unrelated customer data through production.
When nothing prints.
- Confirm the customization is stored as a line-item property, not a cart attribute or product metafield.
- Preview an order where the property value is present and the item belongs to the current shipment.
- Property names beginning with
_are intentionally excluded by this example. - If a value is an uploaded-file URL or complex object, test its printed output before relying on it at the bench.
Want the Liquid block prepared for your real field names? Buy the fixed-price packing-slip setup.
BenchCue makes a separate maker-ready sheet.
BenchCue carries item, quantity, SKU, and public customization properties from the Shopify order into a focused production sheet. It is $7/month with a seven-day trial. Shopify App Store review is currently pending.