Unlock Smarter Fulfillment: Adding Product Details to Shopify Picking Slips

Hey there, fellow store owners! As someone who spends a lot of time digging through the Shopify Community forums, I often come across discussions that hit right at the heart of daily operational challenges. One recent thread caught my eye, and it’s a classic: "I need to add the item description to Picking Slip."

The original poster, Desdinova, was running into a common frustration. They needed more detailed information about each product to appear on their picking slips – think specific instructions for a kitchen team, or unique handling notes for a fragile item. This isn't just about making things look pretty; it's about making your fulfillment process smoother, reducing errors, and ultimately, keeping your customers happy.

The Initial Snag: Why line_item.product.description Doesn't Always Work

Many of us, when we first dive into customizing Shopify templates, intuitively reach for variables like {{ line_item.product.description }}. It makes sense, right? You want the product's description, so you call the description variable. Several helpful community members, like ShopIntegrations and Maximus3, initially suggested this very approach, often including filters like | strip_html | truncate: 150 to keep things clean and concise. Here’s what those suggestions looked like:

{% if line_item.product.description != blank %}
  

{{ line_item.product.description }}

{% endif %}

However, Desdinova quickly pointed out the core problem: "I did this, and the description just doesn’t show up. Not in the preview and not in actual orders." They even listed the variables that did work (like line_item.title, line_item.sku, etc.), and description wasn't on that list. This is a crucial insight! It seems the standard product.description variable isn't always available or rendered within the packing slip template context, which can be super frustrating when you're trying to get a job done.

The Game-Changer: Using Metafields for Specific Picking Slip Details

This is where the community really shines! liquidshop.co jumped in with a brilliant workaround – one that not only solves the technical hurdle but also offers a much more flexible and powerful solution: using metafields.

Why are metafields better here? Because your public product description is for your customers. It's designed to sell! But what your fulfillment team needs might be completely different – internal notes, assembly instructions, or specific picking locations. Separating these ensures clarity for everyone. Desdinova immediately saw the value, noting, "If this can work, this is actually so much better than just putting the description. This will actually contain details for the Kitchen so they know what to prepare for the order." Exactly!

Here's how you can implement this robust solution, step-by-step:

1. Create Your Metafield Definition

First, we need to tell Shopify that we want a new custom field for our products specifically for these internal notes.

  1. From your Shopify admin, go to Settings.
  2. Click on Custom data (or Metafields in older versions).
  3. Select Products.
  4. Click Add definition.
  5. Name it: Something clear like "Picking Slip Notes" or "Internal Fulfillment Details."

  6. Namespace and key: This will auto-populate based on your name, usually something like custom.picking_slip_notes. This is what you'll use in your code.

  7. Content type: Choose Multi-line text. This gives you plenty of space for detailed instructions. You could also choose "Single line text" if your notes are always brief.

  8. Click Save.

2. Populate the Metafield for Your Products

Now that you've created the definition, you need to add the actual notes for each relevant product.

  1. Go to Products in your Shopify admin.
  2. Select a product you want to add notes for.
  3. Scroll down to the Metafields section. You should see your newly created "Picking Slip Notes" (or whatever you named it).
  4. Enter the specific internal description or notes for that product.
  5. Click Save for the product.
  6. Repeat for all products where you need these notes on your picking slips.

3. Edit Your Packing Slip Template

This is where we tell your picking slips to display the information you just added.

  1. From your Shopify admin, go to Settings.
  2. Click on Shipping and delivery.
  3. Scroll down to the Packing slips section and click Edit.
  4. Look for the loop that iterates through your line items. It usually starts with something like {% for line_item in line_items %}.

  5. Inside this loop, find where the product title or SKU is displayed, and add the following code where you want your notes to appear. liquidshop.co provided this exact snippet:

    {% if line_item.product.metafields.custom.picking_slip_notes != blank %}
      

    {{ line_item.product.metafields.custom.picking_slip_notes }}

    {% endif %}

    Remember to replace picking_slip_notes with the actual key from your metafield definition (e.g., if your namespace and key was custom.short_description, you'd use that). This code checks if the metafield has content, and if so, displays it in a paragraph tag.

  6. Click Save.

After saving, make sure to test it out! Create a test order or use the preview function to generate a packing slip for a product where you've added notes. Desdinova initially had trouble seeing their metafields show up, which could be due to not filling the metafield for the specific product in the test order, or a slight typo in the Liquid code. Double-checking these details is key!

This approach gives you incredible control and makes your internal processes much more efficient. No more relying on memory or scribbled notes – all the crucial details are right there on the picking slip. It’s a fantastic example of how leveraging Shopify’s built-in flexibility, combined with a little community wisdom, can solve real-world problems for your store.

Share:

Use cases

Explore use cases

Agencies, store owners, enterprise — find the migration path that fits.

Explore use cases