Packing slip template code

Shopify packing slip template code for Order Printer

Create packing slip starter code for Shopify Order Printer with item rows, SKUs, quantities, shipping details, notes, and print CSS.

Shopify packing slip template code Build the base pick-pack document first, then add gift messages, barcodes, line item properties, or metafields.

Quick answer

Shopify packing slip template code for Order Printer for Shopify Order Printer

Generate a compact packing slip starter and copy the install steps. Start in a duplicate Shopify Order Printer template, paste the Liquid in the right placement area, and preview with real orders before saving.

  1. Back up your current packing slip template.
  2. Paste the starter code into a new Order Printer template.
  3. Preview orders with one item, many items, notes, and missing optional fields.

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.

<style>
  @page { size: 4in 6in; margin: 0.12in; }
  body { font-family: Arial, sans-serif; font-size: 11px; }
</style>
<strong>{{ order.name }}</strong>
{% for line_item in line_items %}
  <p>{{ line_item.quantity }} x {{ line_item.title }}</p>
{% endfor %}

Next template fixes

Check the adjacent field problem before rewriting the whole template.

If this snippet does not match the real Shopify order data, the next issue is usually a metafield owner, a line item property, or a starter template placement problem.

Line item properties

Show Shopify line item properties in Order Printer

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

Open this fix

Gift note packing slip

Print a packing slip gift message in Shopify Order Printer

Best for merchants searching how to print a packing slip gift message or gift note without repeating order notes or exposing hidden app metadata.

Open this fix

Metafield Liquid generator

Add metafields to Shopify Order Printer

Best for merchants adding product specs, HS codes, country of origin, VAT notes, wholesale fields, or customer fields to printed documents.

Open this fix

Free first, fix when needed

Use the generator for the first safe test.

Generate a compact packing slip starter and copy the install steps. If the snippet works alone but your real Shopify Order Printer template has custom loops, tables, print CSS, app fields, or compliance-sensitive wording, send the current template for a scoped fix.

Ask for a fix when bundle rows, 4x6 printing, or existing custom Liquid makes placement risky.

Packing slip template code

Shopify packing slip template code for Order Printer

Generate a compact packing slip starter and copy the install steps.

This starter uses 4in x 6in print CSS. Browser print dialogs and thermal printer drivers can still add margins.
Standard order with one clear product row.
Need this 4x6 layout adjusted for your printer?

Thermal printers, browser scaling, long titles, and addresses can all change the fit, so the fix is scoped around your real label output.

Adjust this 4x6 layout
Validate a 4x6 starter pack

Use this when the free starter is close but you want a polished 4x6 template pack before custom work.

Request 4x6 starter pack

Need more than code snippets?

Generated Liquid

Copy-paste code

<style>
  @page {
    size: 4in 6in;
    margin: 0.12in;
  }

  body {
    margin: 0;
    font-family: Arial, sans-serif;
    font-size: 11px;
    line-height: 1.3;
    color: #111;
  }

  .opk-slip {
    width: 100%;
  }

  .opk-header,
  .opk-ship-to,
  .opk-items {
    border-bottom: 1px solid #111;
    padding-bottom: 8px;
    margin-bottom: 8px;
  }

  .opk-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
  }

  .opk-order-name {
    font-size: 18px;
    font-weight: 700;
  }

  .opk-barcode {
    max-width: 1.5in;
    text-align: right;
  }

  .opk-items table {
    width: 100%;
    border-collapse: collapse;
  }

  .opk-items th,
  .opk-items td {
    padding: 4px 0;
    text-align: left;
    vertical-align: top;
  }

  .opk-qty {
    width: 28px;
    font-weight: 700;
  }

  .opk-item-title {
    overflow-wrap: anywhere;
  }

  .opk-sku {
    width: 82px;
    font-size: 10px;
  }

  .opk-muted {
    color: #555;
  }
</style>

<div class="opk-slip">
  <div class="opk-header">
    <div>
      <div class="opk-order-name">{{ order.name }}</div>
      <div>{{ order.created_at | date: "%b %d, %Y" }}</div>
    </div>
    <div class="opk-barcode">
      <s-barcode value="{{ order.name }}" />
    </div>
  </div>

  <div class="opk-ship-to">
    <strong>Ship to</strong><br>
    {{ shipping_address.name }}<br>
    {{ shipping_address.address1 }}{% if shipping_address.address2 != blank %}, {{ shipping_address.address2 }}{% endif %}<br>
    {{ shipping_address.city }}, {{ shipping_address.province_code }} {{ shipping_address.zip }}<br>
    {{ shipping_address.country }}
  </div>

  <div class="opk-items">
    <table>
      <thead>
        <tr>
          <th class="opk-qty">Qty</th>
          <th>Item</th>
          <th>SKU</th>
        </tr>
      </thead>
      <tbody>
        {% for line_item in line_items %}
          <tr>
            <td class="opk-qty">{{ line_item.quantity }}</td>
            <td class="opk-item-title">{{ line_item.title }}</td>
            <td class="opk-sku">{{ line_item.sku | default: "No SKU" }}</td>
          </tr>
        {% endfor %}
      </tbody>
    </table>
  </div>

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

Install wizard

Place the snippet before testing output.

1
Template area

New full template

2
Paste target

Replace a duplicate 4x6 test template, not the live invoice first.

3
Test order

One, three, and five item orders on the target printer

Paste location

Use this as a duplicate full template first, then tune margins in the browser and printer driver.

Test checklist

  • Duplicate the Shopify Order Printer template before editing the live one.
  • Preview with the regular order.
  • Test actual size or 100% scale before fit-to-page in the print dialog.
  • Print or save one test preview before using the template in production.

Common failure

  • Using invoice-only content on warehouse packing slips.
  • Forgetting to test long product names and multi-item orders.
  • Pasting line item fields outside the loop that renders products.

Mock preview

#1048|||| ||| ||||
Avery Chen
218 Market Street, Austin, TX
2Blue ceramic mugMUG-BLUE-01

Pack with care. Gift note included.

Use case

When to use this tool

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

Focuses on warehouse fields: SKU, quantity, item title, address, and notes.

Matches free Shopify packing slip template searches with starter code that can be tested in Order Printer.

Uses Shopify Order Printer Liquid structure.

Works as the base page for barcode, metafield, gift note, line item property, and order note additions.

Keeps packing slip intent separate from customer invoice, carrier label, and postage label workflows.

Points users to a narrower fix when the real need is a barcode, gift message, metafield, bundle option, or 4x6 thermal slip.

Free tool fit

Use the snippet when the edit is narrow.

Generate a compact packing slip starter and copy the install steps.

  • 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.

Get your existing packing slip cleaned up with fields placed in the right Liquid loops.

  • 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 Back up your current packing slip template.
  2. Step Paste the starter code into a new Order Printer template.
  3. Step Preview orders with one item, many items, notes, and missing optional fields.
  4. Step Only then add barcode or metafield blocks.

FAQ

Common Shopify Order Printer issues

Can I hide prices on this packing slip?

Yes. A packing slip usually does not need prices, and this starter focuses on pick-pack fields.

Can I add barcode rows later?

Yes. Use the barcode generator and paste the line item snippet inside the item table.

Does this work with bundles?

Basic line items work. Bundle apps may add line item properties or custom fields that need a manual code fix.

Is this a free Shopify packing slip template?

It is free starter code for Shopify Order Printer packing slips. Duplicate your template first, then test normal orders, multi-item orders, and missing optional fields.

What should I add after the base packing slip works?

Add only the field you need next: barcode, gift message, line item properties, product metafields, order notes, or 4x6 print CSS.

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.

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 or bulk barcode label app.

Add a barcode to a Shopify packing slip

Line item properties

Show Shopify line item properties in Order Printer

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

Show Shopify line item properties in Order Printer

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.

Show Shopify order notes on a packing slip

4x6 packing slip starter

Shopify 4x6 packing slip template code

Best for warehouses and small stores that want a compact packing slip for thermal labels without moving to a full invoice app.

Shopify 4x6 packing slip template code

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.

Liquid objects

Fields this page usually touches

  • order.name
  • shipping_address
  • line_items
  • line_item.title
  • line_item.sku
  • note

Common errors

Watch these before saving

  • Using invoice-only content on warehouse packing slips.
  • Forgetting to test long product names and multi-item orders.
  • Pasting line item fields outside the loop that renders products.
  • Using a packing slip template when the workflow actually needs a customer invoice, carrier label, or postage label.
  • Adding gift notes or custom options before checking whether the data is an order note, note attribute, metafield, or line item property.

Limits

What this does not replace

  • This is a packing slip template, not a customer invoice.
  • Carrier labels, postage, and fulfillment purchasing are not included.
  • Highly branded packing slips may require custom CSS work.