Skip to main content

Variables reference

The Variables panel in the template you have open is the authoritative list of what that document can print. This page explains how to read it, and covers the behaviours that apply across every document type.

For the fields available on a particular type, see that type's own reference — the list is on the PDF Template Builder overview.

Reading an entry

Hover an entry and you get three things: the exact text that will be inserted, a plain-English description of what it prints, and a sample value so you know what to expect.

The small grey pill on the right says what kind of thing it is:

PillMeaning
textA plain value — a name, a number, a date.
htmlA ready-made block such as a formatted address or a logo. These use three braces.
boolA yes/no switch you can show or hide content with.
loopA repeating group — one block printed per line.
ifA destination condition, matching a country or state code.

The automatic line-items table

Drop the plain items placeholder onto a line of its own — instead of writing your own repeating block — and SKU.io builds a complete, ready-styled table for you, matched to the document type:

Document typeColumns
Invoice, Quote, Purchase Order, Vendor Credit, Sales CreditQuantity · Item · Item Description · Price · Total
Packing SlipProduct image · Description · Part number · SKU · Sizing note · Serials · a boxed quantity
Pick ListSKU · Qty · tick-box checklist

Use the shorthand when you want the standard table, and the loop form when you want to design the rows yourself. If a template contains both, your loop wins and the shorthand is dropped.

There's an equivalent automatic table for non-product charges — Description · Quantity · Amount · Total. It prints nothing at all when there are no charges, so it's safe to include without wrapping it in a show/hide block.

Printing your own custom fields

Custom fields you've defined for orders and purchase orders appear under Custom Fields in the panel and can be dropped anywhere on those two document types.

  • A tick-box field prints Yes or No.
  • A field with no value on that record prints nothing.
  • Archived fields drop out of the list.
  • In the preview they show a generic placeholder rather than real data.
Only two document types fill custom fields in

Sales Order and Purchase Order are the only types where custom fields are actually populated. Packing slips, pick lists, quotes and both credit notes don't support them — even though a packing slip is built from the same order as the invoice.

Define the fields under Settings → Custom Fields → Orders or → Purchase Orders.

Templates from before this builder

Templates created before this builder existed keep working.

The first time you open one, its old-style placeholders are converted to the current ones automatically. The conversion is recorded in History with a Migration tag, so you can see exactly when it happened and go back if you need to.

The short, ungrouped names those older templates used also still print correctly — the bare subtotal and total, the logo, the store name, the customer or supplier address, the shipping method, and the PO or credit number. Each maps onto the same value as its modern grouped equivalent. Old shorthand for the items table and the totals block is still understood too, and still expands into the standard table.

Use the names shown in the Variables panel for new work. Only those cover the newer fields, and only those appear in the picker and the tooltips.

Next steps

Last verified: