Skip to main content

How to Label Template Design

Instructions on how to create printer label templates in Elevated Signals

Written by T Campbell

How to Label Template Design

  1. Coordinate System:

  2. Label templates in Elevated Signals use a coordinate system based on your label size (in inches) and the dots per inch (DPI) of your printer.

  3. For example, a 4x6-inch label printed at 203 DPI translates to dimensions of:

    • Width: 4 inches × 203 DPI = 812 dots

    • Height: 6 inches × 203 DPI = 1218 dots.

    • Coordinates are used to position elements (text, barcodes, etc.) on your label.

    • Variables:

  4. Variables in templates are enclosed in double curly braces {{}} and dynamically populate data from the system.

  5. For instance, {{lot.name}} pulls the name of the lot, while {{batch.name}} pulls the batch name.

  6. Using Underscores for Manual Input

If you need placeholders for handwritten input, you can use underscores (______) as a simple solution. For example:

^FO20,80^FD"Inspector: ______"^FS

This creates a blank line on the label where information can be written manually.

- A catalog of available variables can be accessed within Elevated Signals, under the "Entity Properties" section for the respective label.

 ![](https://downloads.intercomcdn.com/i/o/q6rdhdbx/1384443398/03e285456a4138f7140caf43c2bd/Screenshot+2025-01-28+at+12_05_10%E2%80%AFAM.png?expires=1779991200&signature=500e0240cc4369ca6c7e20752c3af97449417cac3fb15640750c2b3fa8f5c1e2&req=dSMvEs16noJWUfMW3nq%2BgSuHYL5t6aGOyEje2c52wrrBdr1PEEW0HWFjad0C%0AbAaR4YZ8pmg3vMze4j86uHqbkXM%3D%0A)


Available Template Variables

Only the variables listed below are recognized by the system. Any variable that isn't on this list — or is spelled differently — will render as No Match on the printed label. The single most reliable source for a specific label is the "Entity Properties" catalog shown in the label editor for that label type; the lists below document the same tokens by category.

How variable names work

The label is built from whatever entity you're printing (an inventory item, a batch, a plant, etc.). That entity's own fields use no prefix — for example, on an Inventory label you write {{name}} and {{totalAmountInDisplayUnit}}, not {{inventory.name}}. Fields from a related record are prefixed with that relation's name, e.g. {{batch.name}} or {{lot.name}}.

Common mistake: On an Inventory label, there is no inventory. prefix for the item's own fields. {{inventory.amount}} and {{inventory.baseAmount}} are not valid variables. To show the quantity, use {{totalAmountInDisplayUnit}} {{displayUnit.name}} or a unit conversion token like {{total.unit.Grams}} (see below).

Universal variables (available on every label)

  • {{LABELNUM}} — the "current of total" label counter

  • {{PRINTTIME}} — time the print job was created

  • {{PRINTUSER.first_name}}, {{PRINTUSER.last_name}}, {{PRINTUSER.email}}, {{PRINTUSER.job_title}} — details of the user who printed

  • {{QRCODE}} — 2D barcode (available on Plant, Batch and Inventory labels only)

  • {{BATCHPLANTCOUNT}} — count of live plants (Plant labels only)

  • {{CUSTOM.<Field Name>}} — any custom field, referenced by its field title (e.g. {{CUSTOM.Test Result}})

Quantity / unit variables (Inventory and Work Order Output labels)

  • {{totalAmountInDisplayUnit}} — the quantity in the item's display unit

  • {{displayUnit.name}} — the name of that display unit (note: only .name is available, not .abbreviation)

  • {{total.unit.<UnitName>}} — the quantity converted into any unit the product supports, e.g. {{total.unit.Grams}}, {{total.unit.Kilograms}}

  • Add :N to control decimal places, e.g. {{total.unit.Grams:3}} shows 3 decimals (default is 2)

Variables by label type

Inventory label (the item's own fields take no prefix)

  • Own fields: {{id}}, {{name}}, {{created_at}}, {{updated_at}}, {{totalAmountInDisplayUnit}}, {{displayUnit.name}}, plus the unit tokens above

  • Purchase-order amounts: {{poAmountReceived}}, {{poAmountPending}}, {{poAmountTotal}}, {{poReceiveEventAmount}}

  • Related records: {{inventory_product.name}}, {{inventory_product.product_code}}, {{batch.name}}, {{batch.cultivar.name}}, {{batch.batch_type.name}}, {{lot.name}}, {{vendor.name}}, {{location.name}}, {{status.name}}, {{facility.name}}

  • Custom fields: {{CUSTOM.<Field>}}, {{CUSTOM.batch.<Field>}}, {{CUSTOM.lot.<Field>}}

Batch label

  • Own fields: {{id}}, {{name}}, {{created_at}}

  • Related records: {{cultivar.name}}, {{location.name}}, {{batch_type.name}}, {{facility.name}}

  • Also: {{QRCODE}}, {{CUSTOM.<Field>}}

Plant label

  • Own fields: {{id}}, {{name}}, {{created_at}}

  • Related records: {{cultivar.name}}, {{location.name}}, {{batch.name}}, {{batch.batch_type.name}}, {{growth_stage.name}}, {{lot.name}}, {{facility.name}}

  • Also: {{QRCODE}}, {{BATCHPLANTCOUNT}}, {{CUSTOM.<Field>}}, {{CUSTOM.batch.<Field>}}

Location label

  • {{id}}, {{name}}, {{location_types}}, {{facility.name}}

Work Order label

  • {{id}}, {{name}}, {{work_order_type.name}}, {{facility.name}}, {{CUSTOM.<Field>}}

Work Order Output label (this is the one label type where the inventory. prefix is valid, because the output wraps an inventory item)

  • {{work_order.name}}, {{work_order.work_order_type.name}}, {{location.name}}, {{batch.name}}, {{measure_event.value}}

  • {{inventory.name}}, {{inventory.totalAmountInDisplayUnit}}, {{inventory.total.unit.<UnitName>}}

  • Custom fields: {{CUSTOM.<Field>}}, {{CUSTOM.inventory.<Field>}}, {{CUSTOM.batch.<Field>}}, {{CUSTOM.lot.<Field>}}

Lot label

  • {{id}}, {{name}}, {{facility.name}}, {{batches}}, {{cultivars}}, {{inventory_products}}, {{total_amount_roll_up}}

Destruction Event label

  • {{event_date}}, {{plant_count}}, {{destruction_weight}}, {{destruction_batches}}

  • {{batch.name}}, {{lot.name}}, {{destruction_lot.name}}, {{destruction_reason.name}}, {{location.name}}

If a variable resolves to an empty value for a given record, it is dropped from that label. When in doubt, open the Entity Properties catalog in the label editor — it lists exactly the variables available for the label you're editing.


Quick Edits Using ChatGPT

For basic adjustments or quick formatting changes:

  1. Copy Your Existing Template:

  2. Export the current label template from Elevated Signals.

  3. Paste the template into ChatGPT and specify your desired changes (e.g., add variables, rearrange content, etc.).

  4. Apply Changes:

  5. ChatGPT will generate updated code based on your input.

  6. Copy the updated code back into Elevated Signals.

  7. Use the "Preview Template" feature to ensure everything is formatted correctly.

    3. Example Use Case:

  8. Ask ChatGPT to evenly space out information on a 4x6 label or add a header (e.g., “Lot ID”) before specific variables.


Advanced Label Design with Zebra Designer

For a more visual approach to creating or editing labels:

  1. Download and Install Zebra Designer 3:

  2. Visit the Zebra website to download Zebra Designer 3 or Zebra Designer Essentials.

  3. Ensure printer drivers (e.g., ZD421 drivers) are installed on your computer. Use Zebra’s setup utility for a guided driver installation.

  4. Set Up Your Label:

  5. Open Zebra Designer and create a new label.

  6. Select your printer and set the label dimensions (e.g., 4x6 inches).

    3. Design Your Label:

  7. Drag and drop elements such as text, barcodes, or images onto the label.

  8. Customize content using sample variables like {{lot.id}}, {{inventory.id}}, or {{cultivar.name}}.

  9. Use the alignment and distribution tools for precise formatting.

  10. Add barcodes or QR codes with desired data fields (e.g., {lot.id} for a QR code linking to lot details).

    4. Export the Label Template:

  11. Save the label as a file: Go to “Print” > click “Print to file”.

    - Open the file in a text editor (e.g., Notepad) to access the label code. - Copy and paste the code into Elevated Signals under the Label Template section.


Common Features for Label Design

  1. Text and Variables:

  2. Add text fields with variables to display dynamic data.

  3. Example: “Lot ID: {{lot.id}}” to show the specific lot ID on each label.

  4. Barcodes and QR Codes:

  5. Choose 1D (traditional barcode) or 2D (QR code) formats.

  6. Assign variables to encode relevant data, such as {{lot.id}} or URLs linking to specific dashboards.

  7. Images:

  8. Add brand logos or icons to enhance label appearance.


Tips for Customization

  • Use ChatGPT for Iterations:

  • It’s a fast way to make small tweaks to label content or layout.

  • Combine Tools:

  • Use Zebra Designer for initial design and ChatGPT for refining the code or adding variables.

  • Test Regularly:

  • After making edits, use the "Preview Template" option in Elevated Signals to ensure the label looks as expected.


Additional Notes

  • Labels can be customized for specific workflows (e.g., inventory, batches, or cultivation). Each template should align with the operational context.

  • For complex labels or if you're unsure how to proceed, Elevated Signals Support is happy to assist!


By following these steps, you can effectively design and customize label templates in Elevated Signals to meet your specific requirements. If you have any further questions or need assistance, feel free to contact us!

Did this answer your question?