Skip to main content

Introduction to Liquid in Shipmondo

How to use Liquid, custom tags, filters, and data objects in Shipmondo.

Updated this week

Shipmondo’s design engine is based on the technologies HTML and Liquid. These are the languages used in, for example, the Shipmondo Document Designer.

In this guide, you’ll find a link to the Liquid documentation as well as an overview of Shipmondo’s custom tags, filters, and the available data objects and properties.

What is Liquid?

Liquid is a flexible templating language developed by Shopify, used to structure and generate dynamic content as well as access data objects in Shipmondo.

With a syntax based on tags, filters, and variables, Liquid makes it possible to build logic directly into HTML.

In Shipmondo, we support all functions, tags, and filters described in the Liquid documentation: https://shopify.github.io/liquid/.

Custom Liquid tags

We have developed a number of Shipmondo-specific tags.

image

If you want to add an image, you can use the image tag.

The following resources are available:

Optional parameters:

Parameter

Description

height

Specifies the height of the image

width

Specifies the width of the image

Example (without optional parameters):

{% image item_line %}

Example (with optional parameters):

{% image order_integration, height: 35, width: 200 %}

barcode

If you want to generate a barcode, you can use the barcode tag.

It can, for example, be used if you want to add a barcode for finding or completing an order when the barcode is scanned.

Optional parameters:

Parameter

Description

height

Specifies the height of the barcode

xdim

Specifies the horizontal thickness (the width of the bars)

margin

Specifies the margin around the barcode

background

Specifies the background color

Example (with optional parameters):

{% barcode "270000000123", height: 35, xdim: 1.6, margin: 1, background "white" %}

qr_code

If you want to generate a QR code, you can use the qr_code tag.

It can, for example, be used if you want to create a shortcut to your website or return portal.

Optional parameters:

Parameter

Description

xdim

Specifies the horizontal diameter

margin

Specifies the margin around the QR code

background

Specifies the background color

Example (with optional parameters):

{% qr_code "270000000123", xdim: 2.5, margin: 1, background "white" %}

Custom Liquid filters

We have also developed a number of Shipmondo-specific filters that you can use:

translation

With our translation tool, you can use the translation tag to retrieve the correct translation of a key.

The translation is retrieved based on the following:

  1. If you use Shopify, the translation is fetched in the language in which the order was placed.

  2. The recipient country’s language, if the language is enabled under Translations.

  3. The primary language selected and enabled under Translations.

Example:

{{ "order_no" | translate }}

format_currency

If you want to specify a specific currency code after the amount. Note that amounts are not converted.

Example:

{{ item_line.unit_price | format_currency: "DKK" }}

Result (example):

200,00 DKK

Data objects and properties

Data objects and access

The following data objects are available in the Shipmondo Document Designer:

Data object

Access for resources

document

all

order_integration

all

fulfillment

packing slip

order

packing slip, pick list

pick_path

pick path list

Properties

Overview of properties with data examples.

document

Object

Description

document

The current document

Example:

"document": {
"format": "a4"
}

order_integration

Object

Description

order_integration

The associated integration

Example:

"order_integration": {
"id": null
}

fulfillment

Object

Description

fulfillment

The specific fulfillment for an order

fulfillment.shipment

The created shipment for the fulfillment

fulfillment.item_lines

The item lines for the created fulfillment. They are sorted according to the user’s picking settings

"fulfillment": {
"code": "1001-1",
"box_number": 1,
"shipment": {
"product_name": "Service point",
"carrier_name": "PostNord",
"carrier_code": "pdk"
},
"item_lines": [
{
"item_line_id": null,
"sku": "TS001-WH",
"name": "T-Shirt",
"quantity": 1,
"shipped_quantity": 1,
"bin": "AB-001",
"unit_price": 200,
"vat_percentage": 25,
"weight": 500,
"unfulfilled_quantity": 1,
"custom_product_data": [
"Large",
"Box fit"
],
"variant_code": "White",
"barcode": null,
"currency_code": "DKK"
}
]
}

order

Object

Description

order

The associated order

order.shipment_template

The currently associated shipment template

order.assigned_to

The employee assigned to the order

order.item_lines

The order’s item lines. They are sorted according to the user’s picking settings

order.sender

Sender

order.ship_to

Recipient

order.bill_to

Billing (customer)

order.barcodes

Barcodes used to perform various actions

Example:

"order": {
"id": null,
"number": "1001",
"ordered_date": "2025-11-11T11:12:54.000+01:00",
"tags": [],
"note": "This is a note",
"customer_reference": "Please deliver between 9am-5pm",
"item_count": 5,
"shipping_method": "Service point",
"payment_method": "Card payment",
"shipment_template": {
"product_name": "MyPack Home",
"carrier_name": "PostNord (DK)",
"carrier_code": "pdk"
},
"assigned_to": {
"name": "John Doe"
},
"item_lines": [
{
"id": null,
"sku": "TS001-WH",
"name": "T-Shirt",
"quantity": 1,
"shipped_quantity": 0,
"bin": "AB-001",
"image_url": "http://example.com/image",
"unit_price": "200.0",
"vat_percentage": "25.0",
"weight": 500,
"unfulfilled_quantity": 1,
"custom_product_data": [
"Large",
"Box fit"
],
"variant_code": "White",
"barcode": null,
"currency_code": "DKK",
"item_line_id": null
}
],
"sender": {
"name": "My Company ApS",
"address1": "Strandvejen 6B",
"address2": null,
"zipcode": "5240",
"city": "Odense NØ",
"email": "info@minvirksomhed.dk",
"mobile": "70400407",
"country": {
"code": "DK",
"name": "Denmark"
}
},
"ship_to": {
"name": "My Company ApS",
"attention": "Lene Hansen",
"address1": "Skibhusvej 52",
"address2": null,
"zipcode": "5000",
"city": "Odense C",
"email": "lene@email.dk",
"mobile": "12345678",
"country": {
"code": "DK",
"name": "Denmark"
}
},
"bill_to": {
"name": "My Company ApS",
"attention": "Lene Hansen",
"address1": "Skibhusvej 52",
"address2": null,
"zipcode": "5000",
"city": "Odense C",
"email": "lene@email.dk",
"mobile": "12345678",
"country": {
"code": "DK",
"name": "Denmark"
}
},
"barcodes": {
"complete_pick": "27100000000000",
"find_order": "27170000000000"
}
}

pick_path

Object

Description

pick_path

The associated pick path

pick_path.item_lines

The item lines for all orders. They are sorted according to the user’s picking settings

Example:

"pick_path": {
"id": null,
"created_by_user_name": "",
"item_lines": [
{
"sku": "TS001-WH",
"name": "T-Shirt",
"quantity": 1,
"shipped_quantity": 0,
"bin": "AB-001",
"image_url": "http://example.com/image",
"unit_price": "0.0",
"vat_percentage": "25.0",
"weight": 500,
"unfulfilled_quantity": 1,
"custom_product_data": [
"Large",
"Box fit"
],
"variant_code": "White",
"barcode": null,
"order_number": "1001",
"box_number": 1
}
]
}
Did this answer your question?