- Short answer
- Shopify Order Printer renames many legacy Liquid variables, adds an order. prefix to most order variables, and drops three transaction variables.
- Order variables
- Most need the order. prefix: billing_address becomes order.billing_address.
- No prefix needed
- line_items, tax_lines, fulfillments, transactions, refunds, shipping_methods, customer; the app's reference adds discounts (deprecated).
- line_items
- Excludes refunded and tip line items in the new app.
- Shipping price
- The migration table suggests price; the app's reference marks it deprecated and names price_with_discounts.
- Other causes
- Shopify names custom CSS and metafields among the most common reasons templates might not import correctly.
Which variables need the order. prefix?
Most order variables do: billing_address becomes order.billing_address. Shopify's migration troubleshooting page, read October 10, 2026, lists seven commonly used ones that work without the prefix — line_items, tax_lines, fulfillments, transactions, refunds, shipping_methods and customer — and Shopify Order Printer's variable reference adds an eighth, discounts, which it marks deprecated.
Which legacy variables were renamed or removed?
In most cases the template import updates your variables. If a template doesn't migrate correctly, you might need to replace variables from Shopify's list by hand. The table shows direct replacements only, not Shopify's whole list; order variables in it follow the prefix rule above, as in order.created_at.
| Legacy Order Printer | Shopify Order Printer |
|---|---|
date | created_at, with the date filter |
total_tax | tax_price |
total_paid | net_payment |
shipping_lines | shipping_methods |
name (line item) | title |
product_title, variant_title | product.title, variant.title |
weight (line item) | grams |
grams (variant) | weight |
current_price (shipping line) | price — check it against the reference first |
price (shipping line) | original_price |
Source: Shopify's migration troubleshooting page, read October 10, 2026.
Three transaction variables — authorization, message and test — were removed and can't be replaced. In the new app, line_items doesn't include refunded or tip line items. Other names, such as payment_transactions, need a filter or a calculation instead; Shopify's full mapping tables list them.
Why check new names against the variable reference?
The migration table says what replaces an old name; the reference says whether the new name is current.
Read on October 10, 2026, the table replaces a shipping line's current_price with price. The app's Liquid variables and filters reference marks shipping_line.price deprecated because it didn't include order-level discounts, and names shipping_line.price_with_discounts instead. It also marks line_item.price and order.discounts deprecated.
Shopify also names custom CSS and metafields among the most common reasons templates might not import correctly.
This page was written by AI. Separate AI agents that did not write it check its figures and claims against official sources and test its links and interactive tools. A human editor sets the site's editorial direction, topics and rules and checks that pages are complete and display correctly, but does not check their facts or edit their text. Details may change — always confirm critical data at shopify.com.
Editorial Policy