Line item properties

Show Shopify line item properties in Order Printer

Generate Liquid for printing engraving text, bundle options, custom product options, and gift notes on Shopify packing slips or invoices.

Quick answer

Show Shopify line item properties in Order Printer for Shopify Order Printer

Generate a safe line item properties loop with blank-value checks and private-property filtering. Start in a duplicate Shopify Order Printer template, paste the Liquid in the right placement area, and preview with real orders before saving.

  1. Confirm the data is stored as line item properties, not product metafields.
  2. Find the exact property labels on a real order, such as Gift message, Engraving, Size, Color, or Bundle option.
  3. Paste the generated block inside the line item row or immediately under each item title.

Copy-ready example

Starter Liquid pattern

Use this as a visible pattern, then use the generator below to adjust the exact field, fallback text, layout, and test notes.

{% for line_item in line_items %}
  {% for property in line_item.properties %}
    {% assign property_name = property.first %}
    {% assign property_value = property.last %}
    {% assign first_character = property_name | slice: 0 %}
    {% if property_value != blank and first_character != "_" %}
      <p><strong>{{ property_name }}:</strong> {{ property_value }}</p>
    {% endif %}
  {% endfor %}
{% endfor %}

Line item properties

Show Shopify line item properties in Order Printer

Generate a safe line item properties loop with blank-value checks and private-property filtering.

Use this when engraving, bundle details, or gift options appear on the purchased item rather than on the product record.
Standard order with one clear product row.
Need personalization fields placed cleanly?

Line item properties belong under the matching product row, while order notes should print once outside the loop.

Insert line item properties

Paid feature signals

Generated Liquid

Copy-paste code

{% for line_item in line_items %}
  {% if line_item.properties != blank %}
    <div class="opk-line-properties">
      <strong>{{ line_item.title }}</strong>
      <ul>
        {% for property in line_item.properties %}
          {% assign property_name = property.first %}
          {% assign property_value = property.last %}
          {% assign first_character = property_name | slice: 0 %}
          {% if property_value != blank and first_character != "_" %}
            <li>
              <strong>{{ property_name }}:</strong> {{ property_value }}
            </li>
          {% endif %}
        {% endfor %}
      </ul>
    </div>
  {% endif %}
{% endfor %}

{% if note != blank %}
  <div class="opk-order-note">
    <strong>Order note:</strong> {{ note }}
  </div>
{% endif %}

Install wizard

Place the snippet before testing output.

1
Template area

Line item loop

2
Paste target

Paste under each item title inside the line item loop; keep order notes outside the item loop.

3
Test order

Personalized order plus a normal order with no properties

Paste location

Paste under each item title inside the line item loop; keep order notes outside the item loop.

Test checklist

  • Duplicate the Shopify Order Printer template before editing the live one.
  • Preview with the regular order.
  • Preview an order with personalization, bundle details, or gift options.
  • Print or save one test preview before using the template in production.

Common failure

  • Using metafield code when the data is actually stored in line item properties.
  • Pasting the loop outside the line item loop, so no product-level property data appears.
  • Printing hidden app properties that start with an underscore.

Mock preview

#1048Standard order with one clear product row.
  • Engraving: Avery
  • Gift wrap: Yes
  • Order note: Pack with care. Gift note included.

Use case

When to use this tool

Best for merchants whose product options, personalization notes, bundle details, or gift messages are stored as line item properties instead of metafields.

Handles common custom product option and engraving workflows.

Covers gift note, gift wrap, bundle options, personalization text, and other app-created line item data.

Filters private properties that start with an underscore by default.

Keeps the code inside the line item loop where property data is available.

Separates item-level properties from order-level notes so messages do not repeat under every product.

Explains why fields from product option apps may need different labels, blank checks, or manual cleanup.

Free tool fit

Use the snippet when the edit is narrow.

Generate a safe line item properties loop with blank-value checks and private-property filtering.

  • You know which Shopify Order Printer template you want to edit.
  • You can test in a duplicate template before touching the live one.
  • The field or layout change maps to the Liquid objects listed on this page.

Manual fix fit

Request help when placement is risky.

Paste your template and get properties inserted into the correct product row without breaking the packing slip.

  • Your current template already has custom loops, tables, CSS, or app-specific fields.
  • The snippet works in isolation but prints blank, repeats, or breaks layout in your real template.
  • The document is customer-facing, B2B, VAT, customs, or warehouse-critical and needs careful test notes.

Install steps

Copy into Shopify Order Printer carefully.

The preview uses sample data. Always test the template with real orders before using it for fulfillment, accounting, customs, or customer-facing documents.

  1. Step Confirm the data is stored as line item properties, not product metafields.
  2. Step Find the exact property labels on a real order, such as Gift message, Engraving, Size, Color, or Bundle option.
  3. Step Paste the generated block inside the line item row or immediately under each item title.
  4. Step Keep order-level notes outside the product loop so the same note does not repeat under every line item.
  5. Step Preview an order with personalization, bundle options, custom options, and a gift note.
  6. Step Keep underscore-prefixed private app properties hidden unless your workflow needs them.
  7. Step Test a normal order with no properties so the packing slip does not show empty bullets.

Problem diagnosis

Match the symptom before changing Liquid.

Use these checks to decide whether the issue is field data, snippet placement, print settings, or a template merge problem.

Personalization text does not print.

Likely cause
The data is stored as a product metafield, order note, or note attribute instead of a line item property, or the loop was pasted outside the item row.
Fix
Inspect a real order first. If the data is in line_item.properties, paste the loop inside the line item row; otherwise use the matching note or metafield snippet.

Private app fields print on the packing slip.

Likely cause
The template prints every property without hiding names that start with an underscore.
Fix
Keep the underscore filter on by default, then only allow specific private properties if the warehouse truly needs them.

The same gift note repeats under every product.

Likely cause
An order-level note was placed inside the line item loop.
Fix
Move order notes outside the item loop and keep only item-specific properties under each matching product.

A 4x6 packing slip overflows after adding properties.

Likely cause
Long engraving, bundle, or gift-message values add too much height under compact item rows.
Fix
Test a long-message order, shorten labels, hide nonessential properties, or request a custom 4x6 layout adjustment.

FAQ

Common Shopify Order Printer issues

Are line item properties the same as metafields?

No. Line item properties are saved on the purchased item, while metafields usually belong to products, variants, orders, or customers.

Can this show engraving or personalization text?

Yes, if the product option app saved that text as a line item property.

Why are some properties hidden?

Many apps use underscore-prefixed private properties. The default snippet hides them so packing slips stay clean.

Where should gift notes print?

Item-specific gift messages belong under the matching line item. Order-level notes should print once near the packing slip note or footer section.

Why do I see app IDs or bundle metadata?

Those are often private properties from product option or bundle apps. Keep underscore-prefixed properties hidden unless the warehouse needs them.

Can I print only one property, such as Engraving?

Yes, but the generic loop prints all visible properties. A one-property version needs a condition that matches the exact property name from a real order.

Related exact fixes

Follow the next likely Order Printer problem.

These links connect adjacent search intents, such as blank metafields, item-level customs fields, B2B invoice data, and one-off template fixes.

Gift note packing slip

Show Shopify gift notes on a packing slip

Best for merchants whose gift messages or gift wrap choices need to print clearly for the packing team without showing hidden app metadata.

Open related fix

Order note packing slip

Show Shopify order notes on a packing slip

Best for merchants who need checkout notes, delivery instructions, gift messages, or packing instructions printed once on a packing slip.

Open related fix

Packing slip template code

Shopify packing slip template code

Best for stores that want a warehouse-friendly packing slip without a monthly PDF invoice app.

Open related fix

Packing slip metafield

Add a metafield to a Shopify packing slip

Best for merchants adding HS codes, country of origin, pick notes, wholesale fields, or product specs to warehouse documents.

Open related fix

Barcode snippet generator

Add a barcode to a Shopify packing slip

Best for merchants who need a scannable order number, SKU, variant barcode, or tracking number on a packing slip without installing a full PDF invoice app.

Open related fix

Metafield Liquid generator

fix blank Shopify Order Printer metafields

Choose order, customer, product, or variant paths before pasting Liquid.

Open related fix

Commercial invoice fields

Shopify commercial invoice template fields

Place HS code, origin, customs description, and EORI notes in the right row.

Open related fix

VAT invoice fields

Shopify VAT invoice template fields

Add VAT IDs, tax notes, and B2B invoice fields with cautious scope.

Open related fix

Common Order Printer fixes

Keep editing the same Shopify template.

These are the highest-signal internal paths for merchants who need template code, packing slip layout, barcodes, metafields, or 4x6 print fixes.

Template code generator

free Shopify Order Printer template code generator

Start with a printable template before adding fields.

Open tool

Packing slip template code

Shopify packing slip template code

Build the base pick-pack document for warehouse use.

Open tool

Barcode snippet generator

add a barcode to a Shopify packing slip

Print order, SKU, variant, tracking, or QR codes.

Open tool

Metafield Liquid generator

Shopify Order Printer metafields

Print product, variant, order, or customer metafields.

Open tool

4x6 packing slip starter

Shopify 4x6 packing slip template

Test thermal printer layout, margins, and item overflow.

Open tool

Liquid objects

Fields this page usually touches

  • line_item.properties
  • property.first
  • property.last
  • line_items
  • note
  • note_attributes

Common errors

Watch these before saving

  • Using metafield code when the data is actually stored in line item properties.
  • Pasting the loop outside the line item loop, so no product-level property data appears.
  • Printing hidden app properties that start with an underscore.
  • Printing the same order note under every product because order notes and item properties are mixed together.
  • Filtering out useful properties because the app uses unexpected labels or capitalization.
  • Letting very long engraving or gift messages break a compact 4x6 packing slip.

Limits

What this does not replace

  • Different product option apps may store data with different property names.
  • Very long personalization text can still need custom print CSS.
  • Bundle apps sometimes require app-specific handling or manual review.
  • Some gift note apps store messages as order notes or note attributes instead of line item properties.
  • This generator does not inspect a real Shopify order, so the merchant still needs to confirm where the data is stored.