How can I customize a Packing Slip template with variables?

Created:   |   Updated:

ShippingEasy offers nearly limitless options to customize your packing slips. If you're just getting started, take a look at how to create a packing slip template and save it to your store.

If the prebuilt template options look good to you, there is nothing more to do. But if you want to customize the content or layout of those packing slips, you can design a custom template. Here we provide more details about the tools available:


Format Tool Bar:

Bold  Applies Bold formatting to selected text.
Italic  Applies Italic formatting to selected text.
Underline  Applies Underline formatting to selected text.
Font Family  Applies specified font family to selected text. 
Text Size  Applies specified font size to selected text. (Not applicable to Shipment Line Items)
Color  Apply text or background color to selected area. 
Alignment  Control alignment of selected text or objects. 
Format Table  Insert, format, or delete a table.
Bullets Add numeric or dot bullets to a list.
Hyperlink  Reserved for Email Templates.  Learn more.
Undo or Redo Action Quickly reverse an action or reapply an action that was removed.
HTML View template in an HTML editor.
*To save changes made in the HTML editor, click the icon again to return to the WYSIWYG editor and click Save.



In your email you can insert fields using a special syntax. Each field variable is enclosed in curly brackets: {{ }}.


When ShippingEasy generates the packing slip, it will substitute in the correct value for that field - in this example, the name of your customer. There are a wide variety of field variables that ShippingEasy can substitute in for you.
Variables are available from the 3 menus in the tool bar, Store, Recipient, and Shipment:

Store Variables:

Recipient Variables:

Shipment Variables:

PS_Store_Variables.png PS_Recipient_Variables.png PS_Shipment_Variables.png

To insert a field variable, click in the body of the packing slip with your mouse, and then select the option you need from the Variable menus.Variables can also be typed using the special syntax. Learn more about:

Shipment Line Items:

The shipment.line_items variable generates a table of line items included in an order, but also requires special handling. To add the custom variable below, simply copy and paste the entire line, including the {{ curly brackets }} at each end, into your template:

{{ shipment.line_items | sort: 'name' | columns: 'sku|qty|item name|price|total' }}

NOTE: The {{ shipment.line_items }} font type is adjustable, but may not be visible when previewing existing templates. Shipment Line Item font size is not adjustable at this time.
Available values:

The default Line Item configuration (above) only displays the sku, qty, item name, price, and total values. Below is a list of all values available for sorting or displaying in columns:

  • bundle_details: the items within the bundle and their details are displayed below the bundle in the appropriate columns, obtained from Products catalog
  • condition: Amazon condition note - learn more
  • custom_ : add custom columns (see Customs Columns section below for more info)
  • format_grid: add grid lines
  • format_striped: add shading to every other line
  • image: mapped from the Product Catalog (default 75x75 pixels)
  • image_size: specify an image size other than default
  • item name: product name, obtained from order/store.(requires the use of vertical bar separators)
  • location: warehouse location or bin
  • master_sku: unique identifier associated with the underlying product of an SKU alias
  • name: product name, obtained from order/store.(does not require vertical bar separators)
  • name_and_product_options: product name with product options listed on separate lines. These are obtained from the store.
  • name_and_bundle: product name with bundled items (and quantity) included. These are obtained from the Product Catalog.
  • qty: count of unique product
  • qty_multiple: a solid "diamond" image - only displayed if qty is greater than 1
  • price: original cost of individual product
  • sku: unique identifier associated with each product
  • total: calculated by multiplying qty by price.
NOTE: The 'item name' variable is used by default and requires vertical bar separators to be placed between all column variables. The 'name' variable can be used without the need for vertical bar separators, if preferred.
Sorting line items:

By default, line items are sorted by item name, but you can specify any available column values above, for the sort order.

NOTE: only a value specified/included as a column, can be used to sort the line items.

Indicate which column controls the sort order by editing the term after "sort". In the following example, the line items are sorted by product SKU.

{{ shipment.line_items | sort: 'sku' | columns: 'sku|qty|item name|price|total' }}

Columns displayed:

By default, five values are displayed: sku, qty, name, price, total. Any of the available values may be assigned to a column. The order of the values determines the order of the columns.

Product images:

By default, all images from the Product Catalog are sized at 75x75 pixels, but you can change that by specifying a size with image_size:

{{ shipment.line_items | sort: 'name' | columns: 'sku|qty|item name|price|total|image' | image_size: '60x60' }}


By default, the line items are displayed without any formatting. A formatting option can be inserted into the list of requested columns to draw grid lines around the list of line items:

{{ shipment.line_items | columns: 'sku|qty|item name|price|total|format_grid' }}

Another option is to display alternating rows of the list of line items on a shaded background:

{{ shipment.line_items | columns: 'sku|qty|item name|price|total|format_shade' }}

Custom Columns:

It's possible to add additional blank columns with custom titles. Custom columns do not include any text, symbols, or formatting in the rows below the header. However, they do provide space for shippers to make notations on packing slips.

To add your own custom columns into the list of line items, specify a column name that starts with "custom_". Then include the column name after this notation. For instance, the following example would display a column titled "Checked", with blank rows listed below:

{{ shipment.line_items | columns: 'sku|qty|item name|price|total|custom_Checked' }}

Custom columns are only displayed in the header of the list of line items - the entry in that column for each product will be blank.


It's possible to create checkboxes by adding custom columns and grid formatting.

To add your own custom columns into the list of line items, specify a column name that starts with "custom_". Then include the column name after this notation. Add grid formatting by inserting "format_grid" into the list of line of requested columns.

For instance, the following example would display a column titled "Checked", and draw grid lines around the list of line items, providing blank checkboxes:

{{ shipment.line_items | columns: 'sku|qty|item name|price|total|custom_Checked|format_grid' }}

Alternative Line Item Variables:

Similar to the {{ shipment.line_items }} variable, there are other variables that will display a list of shipment line items:

  • {{ shipment.list_of_items }}
  • {{ shipment.list_of_items_and_bundles }}
  • {{ shipment.combined_line_items }}

However, neither of these additional variables can be modified. All of these variables include the following columns: Item Name, QTY, Price, Total. The line items are sorted by Item Name.

The {{ shipment.list_of_items }} variable displays products on a single line, just like {{ shipment.line_items }}.

The {{ shipment.list_of_items_and_bundles }} variable lists bundled items below each Item Name.

{{ shipment.combined_order_note }} variable lists all orders included in a combined order.

{{ shipment.combined_line_items }} variable displays the list of line items for a combined order, listing each SKU just once even if the SKU was contained in multiple orders.

Use these variables when the additional customization of the {{ shipment.line_items }} variable is not needed.


Using the top toolbar navigation, you can add your store logo by selecting the Store icon and then the Logo from the drop down.


The store logo variable will be inserted into the packing slip. There is special handling for the store.logo variable that allows you to control the exact width and height.

By default, the variable looks like this:

{{ store.logo }}

To specify the logo dimensions, add the following information:

{{ store.logo | image_size: 'WxH' }}

In place of W and H, specify the pixels for the width (W) and height (H). For example:

{{ store.logo | image_size: '200x400' }} 


Custom Images:

Custom images, which have been uploaded to the Image Library, can be added to packing slip templates. Learn more about saving images to your Image Library and adding the images to your packing slips.

You can also add images not yet saved to your library, by clicking the Image icon in the toolbar, or by simply dragging and dropping them into the body of the template.


By default, the image size will be limited by the file dimensions. You can change the size of the image by specifying the dimensions by clicking the image and then clicking the Change Size icon from the menu that appears under the image.


In addition, there is special handling for the custom_image variable that allows you to control the exact width and height.

The variable looks like this:

{% custom_image #_label %}

NOTE: "image_#" refers to the order in which the image was uploaded to your library and "label" refers to the Label name you entered when you added your custom image to the IMAGE LIBRARY settings.

To specify the image dimensions, add the following information:

{% custom_image #_label | image_size: 'WxH' %}

In place of W and H, specify the pixels for the width (W) and height (H). For example:

{% custom_image 1_shippingeasy | image_size: '10x20' %}



To display the order number as a barcode:
  1. The default variable will display the order number as regular text:{{shipment.order_number}}
  2. To add the order number barcode attribute, specify the type of barcode:{{shipment.order_number | barcode: 'code128'}}
  3. The barcode will be printed in one of three sizes: small, medium, or large. The default is small. To use a different size, just specify the size in the attribute:

{{shipment.order_number | barcode: 'code128 medium'}}

To display the item sku as a barcode:

The item sku is displayed as part of the shipment.line_items variable. The shipment.line_items variable is a special case because it produces a table of output with line item details that you specify via a list. For example, to display the SKU, quantity, name, and price of each line item in the order, use:

{{ shipment.line_items | sort: 'name' | columns: 'sku qty name price'}}

For any value that you want displayed as a barcode instead, just add the attributes to the name. As an example, to display the SKU as a barcode instead of text, use:

{{ shipment.line_items | sort: 'name' | columns: 'sku_barcode_code128 qty name price'}}

NOTE: the size of the item sku barcode cannot be customized. It is a set size to optimize the alignment of the table columns.


Related articles:

FAQs: Packing Slips
How to: Create a custom Packing Slip Template and save it to your settings
How to: Preview a custom Packing Slip Template
How are my variables on my Packing Slip templates mapped?
Why doesn't my logo appear on my packing slips?


Please sign in to leave a comment.

  • Avatar
    Alisa Davis

    Thanks so much for adding the image to the line item, great for the customer.

Community    browse  


Questions & Answers

Issues & Bugs